HDFS權限


1.1 超級用戶

啟動namenode服務的用戶就是超級用戶, 該用戶的組是supergroup

1.2 文件權限管理

 

1.2.1 創建時的owner和group

文件或者目錄被創建之時,服從BSD規則,owner是客戶端進程的用戶,group是父目錄的group

1.2.2 訪問權限說明

object r w x stick bit(restricted deletion flag)
file 讀文件 寫或者追加寫文件   無效
directory 列出目錄的內容 創建或者刪除子文件或子目錄 訪問子文件或者子目錄 阻止移動或者刪除該目錄內的文件或目錄(超級用戶,owner和group不會被stick bit阻止)
         

 

1.2.3 應用示例

 
  • 創建/input目錄,用於接收外部寫入的數據
    • input目錄的group也是input,owner是lisa(超級用戶),
    • 創建/input/dean目錄,用於接收dean用戶寫入的數據, owner是dean用戶,group用戶允許寫入數據
  • 創建目錄
    $ hdfs dfs -mkdir -p /input/dean  
    $ hdfs dfs -ls /
    Found 3 items
    drwxr-xr-x   - lisa supergroup          0 2015-11-08 17:26 /input
    drwxr-xr-x   - lisa supergroup          0 2015-09-28 15:21 /test
    drwxr-xr-x   - lisa supergroup          0 2015-11-08 17:09 /tmp
    $ hdfs dfs -ls /input
    Found 1 items
    drwxr-xr-x   - lisa supergroup          0 2015-11-08 17:26 /input/dean

     

    • 修改input目錄的owner為lisa,group從supergroup改為input
    $ hdfs dfs -chown lisa:input /input
    $ hdfs dfs -ls /
    Found 3 items
    drwxr-xr-x   - lisa input               0 2015-11-08 17:26 /input
    drwxr-xr-x   - lisa supergroup          0 2015-09-28 15:21 /test
    drwxr-xr-x   - lisa supergroup          0 2015-11-08 17:09 /tmp

     

    • 修改/input/dean目錄的ower和group都為dean
    $ hdfs dfs -ls /input
    Found 1 item
    drwxrwxr-x   - dean dean           0 2015-11-21 16:24 /input/dean

     

    注意,客戶機上創建linux 用戶dean,無需在namenode節點上創建該用戶

  • 允許input group用戶寫入/input/qoros目錄
    1. 先要設置目錄權限,讓input組用戶都能讀,寫,執行該目錄
      $ hdfs dfs -chmod -R g+w /input/qoros

       

    2. 然后在客戶機上
      • 創建guoqiang帳號和組input
      useradd guoqiang
      groupadd input

       

      • 改guoqiang用戶組為input
      usermod -g input guoqiang

       

      在namenode所在的服務器上添加相同的用戶和組,這點很奇怪,如果不這么干寫操作會被拒絕,這會造成麻煩,因為兩個namenode節點都要這么干

      useradd guoqiang
      usermod -g input guoqiang

       

  • 取消其他用戶的所有權限
    $ hdfs dfs -chmod -R o-r /input/dean
    $ hdfs dfs -ls /input
    Found 1 items
    drwxrwx--x   - lisa supergroup          0 2015-11-08 17:26 /input/dean
    $ hdfs dfs -chmod -R o-x /input/dean
    $ hdfs dfs -ls /input
    Found 1 items
    drwxrwx---   - lisa supergroup          0 2015-11-08 17:26 /input/dean

1.3 POSIX ACLs(目前尚未使用)

為特定的用戶和組提供細致粒度的權限管理, 而不只是owner,group。該功能默認關閉, 需要如下設置打開

dfs.namenode.acls.enabled true

 

具體配置實在hdfs-site.xml中

<property> 
<name>dfs.permissions.enabled</name> 
<value>true</value> 
</property>


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

 

在core-site.xml設置用戶組默認權限.

<property>
<name>fs.permissions.umask-mode</name>
<value>002</value>
</property>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM