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

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

我使用的是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}

暂无答案!

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

相关问题