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