zoukankan      html  css  js  c++  java
  • 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




  • 相关阅读:
    8.10
    今日头条笔试题 1~n的每个数,按字典序排完序后,第m个数是什么?
    Gym 100500B Conference Room(最小表示法,哈希)
    CodeForces 438D The Child and Sequence(线段树)
    UVALIVE 6905 Two Yachts(最小费用最大流)
    Gym Conference Room (最小表示法,哈希)
    hdu 2389 Rain on your Parade(二分图HK算法)
    Codeforces Fox And Dinner(最大流)
    zoj 3367 Counterfeit Money(dp)
    ZOJ3370. Radio Waves(2-sat)
  • 原文地址:https://www.cnblogs.com/mthoutai/p/6868846.html
Copyright © 2011-2022 走看看