1.1 超級用戶
啟動namenode服務的用戶就是超級用戶, 該用戶的組是supergroup
1.2 文件權限管理
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目錄
- 取消其他用戶的所有權限
$ 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>
