阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

HDFS的ACL测试

207次阅读
没有评论

共计 5949 个字符,预计需要花费 15 分钟才能阅读完成。

Hadoop 从 2.4.0 版本开始支持 hdfs 的 ACL,在 CDH5.0 当中也集成了该特性,下面对其进行一些测试:

unnamed user (file owner)文件的拥有者
unnamed group (file group)文件的所属
named user除了文件的拥有者和拥有组之外,的其它用户
named group除了文件的拥有者和拥有组之外,的其它用户
mask 权限掩码,用于过滤named user 和named group 的权限

一、启用 ACL:

<property>
<name>dfs.permissions.enabled</name>
<value>true</value>
</property>
<property>
<name>dfs.namenode.acls.enabled</name>
<value>true</value>
</property>

二、测试 ACL:

[hadoop@master ~]$ groups
hadoop

创建目录并上传文件:

[hadoop@master ~]$ hadoop fs -mkdir /input/acl
[hadoop@master hadoop]$ hadoop fs -put conf/yarn-site.xml /input/acl
[hadoop@master hadoop]$ hadoop fs -ls /input/acl
Found 1 items
-rw-r–r– 3 hadoop supergroup 5919 2014-04-25 15:08 /input/acl/yarn-site.xml
[hadoop@master ~]$ hadoop fs -getfacl /input/acl
# file: /input/acl
# owner: hadoop
# group: supergroup
user::rwx
group::r-x
other::r-x

同一组的成员有读权限,没有写权限:

[mapred@master ~]$ groups
hadoop
[mapred@master ~]$ hadoop fs -ls /input/acl
Found 1 items
-rw-r–r– 3 hadoop supergroup 5919 2014-04-25 15:08 /input/acl/yarn-site.xml
[mapred@master hadoop]$ hadoop fs -put conf/capacity-scheduler.xml /input/acl
put: Permission denied: user=mapred, access=WRITE, inode=”/input/acl”:hadoop:supergroup:drwxr-xr-x

设置 mapred 用户只读:

[hadoop@master ~]$ hdfs dfs -setfacl -m user:mapred:r– /input/acl
[hadoop@master ~]$ hdfs dfs -getfacl /input/acl
# file: /input/acl
# owner: hadoop
# group: supergroup
user::rwx
user:mapred:r–
group::r-x
mask::r-x
other::r-x

执行权限被拒绝:

[hadoop@master ~]$ logout
[root@master ~]# su – mapred
[mapred@master ~]$ hadoop fs -ls /input/acl
ls: Permission denied: user=mapred, access=READ_EXECUTE, inode=”/input/acl”:hadoop:supergroup:drwxr-xr-x:user:mapred:r–,group::r-x

移除 acl:
 
[hadoop@master ~]$ hdfs dfs -setfacl -x user:mapred /input/acl
[hadoop@master ~]$ hdfs dfs -getfacl /input/acl
# file: /input/acl
# owner: hadoop
# group: supergroup
user::rwx
group::r-x
mask::r-x
other::r-x

重新拥有执行权限,因为 mapred 是 hadoop 用户组中的:

[mapred@master ~]$ hadoop fs -ls /input/acl/yarn-site.xml
Found 1 items
-rw-r–r– 3 hadoop supergroup 5919 2014-04-25 15:08 /input/acl/yarn-site.xml

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2014-05/101008p2.htm

相关阅读:

将本地文件拷到 HDFS 中 http://www.linuxidc.com/Linux/2013-05/83866.htm

从 HDFS 下载文件到本地 http://www.linuxidc.com/Linux/2012-11/74214.htm

将本地文件上传至 HDFS http://www.linuxidc.com/Linux/2012-11/74213.htm

HDFS 基本文件常用命令 http://www.linuxidc.com/Linux/2013-09/89658.htm

Hadoop 中 HDFS 和 MapReduce 节点基本简介 http://www.linuxidc.com/Linux/2013-09/89653.htm

《Hadoop 实战》中文版 + 英文文字版 + 源码【PDF】http://www.linuxidc.com/Linux/2012-10/71901.htm

Hadoop: The Definitive Guide【PDF 版】http://www.linuxidc.com/Linux/2012-01/51182.htm

定义在 owner、other 里的权限一直都是有效的,其它权限可能用效或者被隐蔽。

named user 与 named group 的值是否生效,还要看其值与 mask 的“与”值,即 mask 也要有该权限,才能生效。

mask 是用于过滤 named user 与 named group 的权限的,可以通过 chmod 改变。

如:在给同组的其它用户,其它组的用户或组添加 acl 时,如果给的权限比当前 mask 大,则 mask 会随之更新:

[Hadoop@master ~]$ hdfs dfs -getfacl /input/acl【初始权限】
# file: /input/acl
# owner: hadoop
# group: supergroup
user::rwx
group::r-x
mask::r-x
other::r-x
[hadoop@master ~]$ hdfs dfs -setfacl -m user:mapred:rwx /input/acl
[hadoop@master ~]$ hdfs dfs -getfacl /input/acl【mapred 用户拥有 rwx 权限,但 mask 为 r -x,则 mask 自动改为 rwx】
# file: /input/acl
# owner: hadoop
# group: supergroup
user::rwx
user:mapred:rwx
group::r-x
mask::rwx
other::r-x

但所属组的用户权限不受影响:

[hadoop@master ~]$ hadoop fs -chmod g-x /input/acl【取消同一用户组的可执行权限,并更新 mask 的值】
[hadoop@master ~]$ hdfs dfs -getfacl /input/acl
# file: /input/acl
# owner: hadoop
# group: supergroup
user::rwx
group::r-x #effective:r–
group:apache:rwx #effective:rw-
mask::rw-
other::r-x
[hadoop@master ~]$ logout
[root@master ~]# su – mapred
[mapred@master ~]$ hadoop fs -ls /input/acl【上一步取消同一用户组的可执行权限,但没有生效,因为 mapred 和 hadoop 属于同一组】
Found 1 items
-rw-r–r– 3 hadoop supergroup 5919 2014-04-25 15:08 /input/acl/yarn-site.xml

 更多 Hadoop 相关信息见Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13

Hadoop 从 2.4.0 版本开始支持 hdfs 的 ACL,在 CDH5.0 当中也集成了该特性,下面对其进行一些测试:

unnamed user (file owner)文件的拥有者
unnamed group (file group)文件的所属
named user除了文件的拥有者和拥有组之外,的其它用户
named group除了文件的拥有者和拥有组之外,的其它用户
mask 权限掩码,用于过滤named user 和named group 的权限

一、启用 ACL:

<property>
<name>dfs.permissions.enabled</name>
<value>true</value>
</property>
<property>
<name>dfs.namenode.acls.enabled</name>
<value>true</value>
</property>

二、测试 ACL:

[hadoop@master ~]$ groups
hadoop

创建目录并上传文件:

[hadoop@master ~]$ hadoop fs -mkdir /input/acl
[hadoop@master hadoop]$ hadoop fs -put conf/yarn-site.xml /input/acl
[hadoop@master hadoop]$ hadoop fs -ls /input/acl
Found 1 items
-rw-r–r– 3 hadoop supergroup 5919 2014-04-25 15:08 /input/acl/yarn-site.xml
[hadoop@master ~]$ hadoop fs -getfacl /input/acl
# file: /input/acl
# owner: hadoop
# group: supergroup
user::rwx
group::r-x
other::r-x

同一组的成员有读权限,没有写权限:

[mapred@master ~]$ groups
hadoop
[mapred@master ~]$ hadoop fs -ls /input/acl
Found 1 items
-rw-r–r– 3 hadoop supergroup 5919 2014-04-25 15:08 /input/acl/yarn-site.xml
[mapred@master hadoop]$ hadoop fs -put conf/capacity-scheduler.xml /input/acl
put: Permission denied: user=mapred, access=WRITE, inode=”/input/acl”:hadoop:supergroup:drwxr-xr-x

设置 mapred 用户只读:

[hadoop@master ~]$ hdfs dfs -setfacl -m user:mapred:r– /input/acl
[hadoop@master ~]$ hdfs dfs -getfacl /input/acl
# file: /input/acl
# owner: hadoop
# group: supergroup
user::rwx
user:mapred:r–
group::r-x
mask::r-x
other::r-x

执行权限被拒绝:

[hadoop@master ~]$ logout
[root@master ~]# su – mapred
[mapred@master ~]$ hadoop fs -ls /input/acl
ls: Permission denied: user=mapred, access=READ_EXECUTE, inode=”/input/acl”:hadoop:supergroup:drwxr-xr-x:user:mapred:r–,group::r-x

移除 acl:
 
[hadoop@master ~]$ hdfs dfs -setfacl -x user:mapred /input/acl
[hadoop@master ~]$ hdfs dfs -getfacl /input/acl
# file: /input/acl
# owner: hadoop
# group: supergroup
user::rwx
group::r-x
mask::r-x
other::r-x

重新拥有执行权限,因为 mapred 是 hadoop 用户组中的:

[mapred@master ~]$ hadoop fs -ls /input/acl/yarn-site.xml
Found 1 items
-rw-r–r– 3 hadoop supergroup 5919 2014-04-25 15:08 /input/acl/yarn-site.xml

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2014-05/101008p2.htm

相关阅读:

将本地文件拷到 HDFS 中 http://www.linuxidc.com/Linux/2013-05/83866.htm

从 HDFS 下载文件到本地 http://www.linuxidc.com/Linux/2012-11/74214.htm

将本地文件上传至 HDFS http://www.linuxidc.com/Linux/2012-11/74213.htm

HDFS 基本文件常用命令 http://www.linuxidc.com/Linux/2013-09/89658.htm

Hadoop 中 HDFS 和 MapReduce 节点基本简介 http://www.linuxidc.com/Linux/2013-09/89653.htm

《Hadoop 实战》中文版 + 英文文字版 + 源码【PDF】http://www.linuxidc.com/Linux/2012-10/71901.htm

Hadoop: The Definitive Guide【PDF 版】http://www.linuxidc.com/Linux/2012-01/51182.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计5949字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中