美文网首页
hdfs 权限管理和acl机制

hdfs 权限管理和acl机制

作者: 留年已忘却 | 来源:发表于2016-12-23 23:28 被阅读0次

    简介

    Hadoop从2.4.0版本开始支持hdfs的ACL

    ACL(Access Control Lists)

    基本命令操作:

    hdfs dfs -getfacl [-R]  获取目录和文件的ACL 信息

    hdfs dfs -setfacl [-R] [-b |-k -m |-x ] |[--set ]  设置文件和目录的ACL信息

    hdfs dfs -ls 当ls的权限位输出以+结束时,那么该文件或目录正在启用一个ACL。

    配置信息

    机制和测试

    hdfs 默认是开启文件访问权限的,按照rwx 来进行判断是否有读写执行权限。然后根据用户拥有者, 同组用户, 非同组用户 来进行权限管理

    我们可以通过bash -c users  和 bash -c groups 获取用户 和 组

    (1) 创建文件

    echo "hell" > 1.txt

    hadoop fs -mkdir /acl; hadoop fs -put 1.txt /acl

    (2) 更改用户组 和 权限

    创建文件和目录的时候默认组为supergroup, 文件夹的权限是755 ,文件的权限是644.

    hadoop fs -chmod -R 750  /acl

    hadoop fs -chown -R bfd_hz:bfd_hz /acl

    (3) 用户拥有者,同组用户, 非同组用户测试。

    用户和组的创建省略, 测试的过程中三个用户 bfd_hz   baseline   wenting ,   bfd_hz 和 wenting 是同组用户,

    baseline 单独一个组, 文件的由bfd_hz 创建,权限如下:

    (4) ACL让非同组的用户也能访问此文件

    注意点:用户名和组 要和 hadoop 上面的组对应, 比如默认创建的文件组是supergroup,

    如果不设置成bfd_hz, wenting此时操作文件也不能执行,user -c groups 是bfd_hz, 和 supergroup不相等。 此时就导致不属于同组用户

    关于一个文件的组关系:如果根目录,没有继承来源,默认supergroup, 如果是子目录,继承父目录的组

    其他话题-->hive 中创建表的时候权限和组问题https://cwiki.apache.org/confluence/display/Hive/Permission+Inheritance+in+Hive

    参考资料:https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/HdfsPermissionsGuide.html

    相关文章

      网友评论

          本文标题:hdfs 权限管理和acl机制

          本文链接:https://www.haomeiwen.com/subject/ojklvttx.html