zookeeper删除节点的权限_Zookeeper使用超级用户删除带权限的节点
1.背景
Zookeeper管理員會因為某些客戶端對某些節點設置了權限,而導致在緊急的情況下無法修改這些節點感到困擾。在這種情況下,管理員可以通過Zookeeper超級用戶模式訪問這些節點,一旦設置了超級權限訪問節點,后續的操作就不需要check ACL了。
使用超級用戶模式,可以通過Zookeeper的zookeeper.DigestAuthenticationProvider.superDigest參數開啟。
2.對超級用戶的密碼加密
使用org.apache.zookeeper.server.auth.DigestAuthenticationProvider生成superDigest:public?void?generate()?{
try?{
System.out.println(DigestAuthenticationProvider.generateDigest("super:superpw"));
}?catch?(NoSuchAlgorithmException?e)?{
//?TODO?Auto-generated?catch?block
e.printStackTrace();
}
}
輸出super:superpw對應的加密參數為:
super:g9oN2HttPfn8MMWJZ2r45Np/LIA=
3.超級用戶加入到服務端啟動參數
在zookeeper服務端的zkEnv.sh環境變量中加入以下參數,開啟超級用戶,重啟zookeeper服務端:SERVER_JVMFLAGS="-Dzookeeper.DigestAuthenticationProvider.superDigest=super:g9oN2HttPfn8MMWJZ2r45Np/LIA=?$SERVER_JVMFLAGS"
4.在客戶端使用超級用戶登陸
使用客戶端登陸到zookeeper服務端:
zkCli.sh -server zdh-9:12181
然后執行命令切換到超級用戶:
addauth digest super:superpw
這樣就可以刪除帶有權限控制的節點了:
deleteall /storm
可以看到/storm節點stormkrb使用sasl創建的[zk:?zdh-9:12181(CONNECTED)?7]?getAcl?/storm'sasl,'stormkrb
:?cdrwa'world,'anyone
:?cr
作者:木木與呆呆
鏈接:https://www.jianshu.com/p/373d52375a65
總結
以上是生活随笔為你收集整理的zookeeper删除节点的权限_Zookeeper使用超级用户删除带权限的节点的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: antd table排序 vue_商品品
- 下一篇: 5.1.2全景声音箱摆位_如何体验全景声