我使用的是cdh版本cdh5.13.3,hadoop-2.6.0,spark-2.3.0。spark job由一个用户创建一个包含子目录的目录,然后我想修改这个目录和子目录的acl,这样b user就可以访问它们了。但是现在b用户只能访问父目录,不能访问子目录
def modifyAcl(fs: FileSystem, pathStr: String, aclSpec: String,
includePermission: Boolean) = {
try {
val path = new Path(pathStr)
println(s"acl print: ${fs.getAclStatus(path)}")
fs.modifyAclEntries(path, AclEntry.parseAclSpec(aclSpec, includePermission))
println(s"new acl print: ${fs.getAclStatus(path)}")
} catch {
case ex: UnsupportedOperationException =>
ex.printStackTrace()
case e: IOException =>
e.printStackTrace()
} finally {
fs.close()
}
}
日志输出:acl print:owner:infinivision\u kylo\u user,group:supergroup,acl:{entries:[],stickybit:false}
新acl打印:所有者:infinivision\u kylo\u用户,组:超级组,acl:{条目:[default:user●rwx,default:user:洪gtaozhang:rwx, default:group●r-x公司,default:mask●rwx,default:other:---],stickybit:false}
暂无答案!
目前还没有任何答案,快来回答吧!