• Hdfs的ACL測试


    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

    定义在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




  • 相关阅读:
    CF1174D Ehab and the Expected XOR Problem
    CF1083B The Fair Nut and Strings
    CF1088D Ehab and another another xor problem
    CF1168A Increasing by Modulo
    CF1166C A Tale of Two Lands
    CF1142A The Beatles
    CF1105D Kilani and the Game
    【uva11248】网络扩容
    【sam复习】用sam实现后缀排序
    【Educational Codeforces Round 19】
  • 原文地址:https://www.cnblogs.com/mthoutai/p/6868846.html
Copyright © 2020-2023  润新知