是否有org.apache.hadoop.fs.modifyacentries特性用于递归修改子目录acl

l0oc07j2  于 2021-05-29  发布在  Hadoop
关注(0)|答案(0)|浏览(206)

我使用的是cdh版本cdh5.13.3,hadoop-2.6.0,spark-2.3.0。spark job由一个用户创建一个包含子目录的目录,然后我想修改这个目录和子目录的acl,这样b user就可以访问它们了。但是现在b用户只能访问父目录,不能访问子目录

  1. def modifyAcl(fs: FileSystem, pathStr: String, aclSpec: String,
  2. includePermission: Boolean) = {
  3. try {
  4. val path = new Path(pathStr)
  5. println(s"acl print: ${fs.getAclStatus(path)}")
  6. fs.modifyAclEntries(path, AclEntry.parseAclSpec(aclSpec, includePermission))
  7. println(s"new acl print: ${fs.getAclStatus(path)}")
  8. } catch {
  9. case ex: UnsupportedOperationException =>
  10. ex.printStackTrace()
  11. case e: IOException =>
  12. e.printStackTrace()
  13. } finally {
  14. fs.close()
  15. }
  16. }

日志输出: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}

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题