當hdfs文件對外是公開的則該其他用戶就算沒有配置相關的許可權一樣可以進行相關的操作。當hdfs文件對外許可權是沒有開放的,其他用戶若需要進行相關操作則需要通過Ranger進行相關許可權的配置。 首先 /input賦權 775 許可權 下遞歸賦權750許可權 讓許可權管理交給ranger 測試1 建hive1, ...
當hdfs文件對外是公開的則該其他用戶就算沒有配置相關的許可權一樣可以進行相關的操作。
當hdfs文件對外許可權是沒有開放的,其他用戶若需要進行相關操作則需要通過Ranger進行相關許可權的配置。
首先 /input賦權 775 許可權 下遞歸賦權750許可權 讓許可權管理交給ranger
測試1 建hive1,hive2用戶屬於 hivegroup,spark1,spark2 屬於sparkgroup
配置許可權管理頁面
配置 sparkgroup hivegroup 對/input/test1目錄有可讀可執行許可權 排除hivegroup組下的hive1
預期應該是sparkgroup下spark1,spark2對目錄有訪問許可權 hivegroup下hive2有訪問許可權 Hive1沒有許可權
實際上 都沒有許可權 組許可權測試無效 將允許許可權加入spark1 其他不變
可以看到spark1 已經可以訪問了 spark2還是不能訪問
測試下刪除許可權
成功刪除 spark2 並沒有許可權 (組許可權也沒有生效) 測試下執行許可權
給spark1用戶 可讀可寫不可執行許可權
目錄已經沒有 可讀的許可權了 這個符合期望 接下來繼續測試組許可權
圖中可以看到sparkgroup 組跟spark1對目錄具有可讀可寫可 執行下
看到 spark1 有許可權 spark2沒有許可權 檢查namenode 節點 spark1 跟 spark2所屬組
再進行測試
Spark2 也有許可權了 我們也嘗試下 Hive組的
hivegroup組有可寫可執行許可權 但是hive1 沒有許可權 (此節點非namenode節點)
都沒有許可權 到namenode節點查看用戶所屬的組
我們給hive1 跟Hive2 都加入到hivegroup組裡
還是沒有許可權 檢查下原因
這邊應該把這個去掉 再試 已經可以了
測試2 伺服器節點上不存在用戶 使用ranger-admin 創建內部用戶許可權測試(使用api操作hdfs 目錄)
新建testuser55用戶
配置許可權
使用java api連接hdfs
測試結果有訪問許可權
測試3 ranger-admin上新建內部虛擬組 添加一些用戶 測試用戶許可權是不是有效
配置許可權
查看下namenode 節點下許可權是不是寫入了
很遺憾 並沒有許可權 將admin管理頁面修改下
再次執行
namenode上沒有建用戶 虛擬用戶可以支持許可權 namenode上沒有建組 組許可權不支持