学习 HDFS(七):权限

栏目: 服务器 · 发布时间: 7年前

内容简介:HDFS 文件和目录权限模型的实现与 POSIX 模型相似,文件和目录都关联到一个 owner 和一个 group。执行命令显示:

权限模型

HDFS 文件和目录权限模型的实现与 POSIX 模型相似,文件和目录都关联到一个 owner 和一个 group。

执行命令

hadoop fs -ls /

显示:

drwxr-x---+  - hdfs supergroup          0 2019-01-15 09:00 /data

第一位 d 说明 /data 是一个目录;

第二至四位 rwx 说明 hdfs 用户有 /data 目录的读(R)、写(W)、执行(X)权限;

第五至七位 r-x 说明 supergroup 组用户有 /data 目录的读(R)和执行(X)权限;

第八至十位 --- 说明其它人没有任何权限。

修改文件或目录 owner,执行命令:

hadoop fs -chown -R dyingbleed /data  
hadoop fs -chown dyingbleed /data/users.csv

修改文件或目录 group,执行命令:

hadoop fs -chgrp -R dev /data  
hadoop fs -chgrp dev /data/users.csv

修改文件或目录权限,执行命令:

hadoop fs -chmod -R rwxrwxr-x /data  
hadoop fs -chmod rwxrwxr-x /data/users.csv

用户和组

HDFS 支持两种身份认证方式:

  • simple 弱认证,默认为客户端当前用户,即 whoami
  • kerberos 强认证,更多关于 Kerberos

通过身份认证之后,如何知晓用户所属的组呢?HDFS 提供了三种组映射机制:

org.apache.hadoop.security.JniBasedUnixGroupsMappingWithFallback
org.apache.hadoop.security.ShellBasedUnixGroupsMapping
org.apache.hadoop.security.LdapGroupsMapping

其中,基于 Shell 的组映射的实现,在 NameNode 所在节点,执行命令:

bash -c id -gn <用户名>; id -Gn <用户名>

查看用户所属的组,执行命令:

hadoop groups <用户名>

以基于 Shell 的组映射为例,修改用户所属组,在 NameNode 所在节点,执行命令:

usermod -g <组名>  
usermod -a -G <组名>

刷新组映射,执行命令:

hadoop dfsadmin -refreshUserToGroupsMappings

ACL

编辑配置文件 hfds-site.xml 文件:

<configuration>  
  <name>dfs.namenode.acls.enabled</name>
  <value>true</value>
</configuration>

重启集群使得配置生效。

获取文件和目录 ACL,执行命令:

hadoop fs -getfacl /data

显示:

# file: /data
# owner: hdfs
# group: supergroup
user::rwx  
group::r-x  
mask::rwx  
other::---

为 dev 组增加读、写、执行权限,执行命令:

hadoop fs -setfacl -R -m group:dev:rwx /data

移除 dev 组权限,执行命令:

hadoop fs -setfacl -R -x group:dev /data

参考


以上所述就是小编给大家介绍的《学习 HDFS(七):权限》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。

老码识途

老码识途

韩宏 / 电子工业出版社 / 2012-8 / 56.00元

《老"码"识途:从机器码到框架的系统观逆向修炼之路》以逆向反汇编为线索,自底向上,从探索者的角度,原生态地刻画了对系统机制的学习,以及相关问题的猜测、追踪和解决过程,展现了系统级思维方式的淬炼方法。该思维方式是架构师应具备的一种重要素质。《老"码"识途:从机器码到框架的系统观逆向修炼之路》内容涉及反汇编、底层调试、链接、加载、钩子、异常处理、测试驱动开发、对象模型和机制、线程类封装、跨平台技术、插......一起来看看 《老码识途》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

URL 编码/解码
URL 编码/解码

URL 编码/解码