hdfs ACL对文件夹实现权限访问控制

hdfs ACL对文件夹实现权限访问控制

刚刚搭建好cdh后,在使用hdfs的基本指令的时候发现使用root用户权限不够。经过查找资料发现。root用户只是系统的超级管理员,但是不是hdfs的超级管理员。默认cdh安装后,超级管理原始hdfs。如下图:

如果想让root能够在某个hdfs文件夹中具有权限,就需要使用hdfs dfs -setfacl的指令,具体可以参考官方的网址:

http://hadoop.apache.org/docs/r2.6.5/hadoop-project-dist/hadoop-common/FileSystemShell.html#setfacl

好,下面上货。

1、首先需要知道hdfs的密码,然后去切换到hdfs用户下。

2、使用命令hdfs dfs -getfacl / 查看当前制定目录的权限情况。这里需要说明的是,hdfs 的权限不仅仅有类似linux系统的权限管理,hdfs还有额外的acl List,权限访问控制列表。这个权限访问控制列表需要在hdfs集群中开启acl。

上图来自官方网站:

http://hadoop.apache.org/docs/r2.6.5/hadoop-project-dist/hadoop-hdfs/HdfsPermissionsGuide.html

3、在设置好上面的dfs.namenode.acls.enabled=true后,需要重新启动hdfs。

4、使用hsdf dfs -getfacl /  命令能够得到当前/文件夹的权限。

5、使用命令hdfs dfs -setfacl -m user:root:rwx / 为root用户在/文件夹下添加rwx权限

6、现在root用户已经能够在/文件夹下进行rwx操作了。

7、同样可以使用hdfs dfs -setfacl -m group:root:rwx /  为root组在文件夹/下添加rwx权限。

8、这样就可以让root用户组下的所有用户拥有文件夹/下的rwx权限了。

本文来源0day__,由javajgs_com转载发布,观点不代表Java架构师必看的立场,转载请标明来源出处