當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上沒有建組 組權限不支持