HDFS ACLs访问控制权限

HDFS ACLs

HDFS支持POSIXAccess Control Lists(ACL),也就是传统的POSIX权限控制。通过提供一种方式来设置特定用户或用户组指定为不同权限的HDFS文件ACL访问控制,类似于Linux文件系统权限。

开启ACLs

默认情况下ACLs是关闭的,想要开启此功能需要在hdfs-site.xml的配置项里找到 dfs.namenode.acls.enabled把 属性设为 true才可以。 重要:Namenode节点必须要设定的用户或用户组
<property>
<name>dfs.namenode.acls.enabled</name>
<value>true</value>
</property>

命令

使用shell来设置和获取文件的访问控制列表(ACL)。

getfacl

hdfs dfs -getfacl [-R] <path>

<!-- COMMAND OPTIONS
<path>: 文件或目录路径
-R: 使用此选项可以递归地列出所有文件和目录的ACL。
-->
例:
<!-- 获取/user/hdfs/file路径下的文件ACL列表 -->
hdfs dfs -getfacl /user/hdfs/file

<!-- 遍历获取/user/hdfs/file路径下所有文件ACL列表 -->
hdfs dfs -getfacl -R /user/hdfs/file

setfacl

hdfs dfs -setfacl [-R] [-b|-k -m|-x <acl_spec> <path>]|[--set <acl_spec> <path>]

<!-- COMMAND OPTIONS
<path>: 路径
-R: 遍历路径里的所有文件。
-b: 撤销除了基本用户和组权限以外的所有权限。
-k: 撤销默认的ACL设置。
-m: 添加新的权限来使用此ACL。不影响现有权限。
-x: 只撤销指定的ACL。
<acl_spec>: 逗号分隔的ACL权限列表。
--set: 使用该选项指定的路径完全取代现有的ACL。
       之前的ACL将不再适用。
-->

例:

<!-- 赋予user:ben用户和组读写/user/hdfs/file路径的权限 -->
hdfs dfs -setfacl -m user:ben:rw- /user/hdfs/file

<!-- 撤销user用户及alice用户组对/user/hdfs/file路径的ACL -->
hdfs dfs -setfacl -x user:alice /user/hdfs/file

<!-- 赋予用户user及hadoop组读写权限,给group和others只读权限 -->
hdfs dfs -setfacl --set user::rw-,user:hadoop:rw-,group::r--,other::r-- /user/hdfs/file

ref:http://www.cloudera.com/documentation/enterprise/latest/topics/cdh_sg_hdfs_ext_acls.html

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值