zookeeper授权方式设置
一、设置授权
1.1、IP白名单方式**
备注:对需要进行白名单设置的路径进行设置,此处设置的路径没有继承关系,即设置了/test的白名单,但是/test/test2依然没有设置为白名单。
setAcl /test ip:127.0.0.1:cdrwa
多个ip之间用逗号隔开,如:
setAcl /test ip:127.0.0.1:cdrwa,ip:192.168.10.3:cdrwa
通过此IP白名单设置之后,即只允许设定过的IP服务器才能进行访问,其他机器无法访问。
1.2、auth模式
1.2.1、添加用户
addauth digest ramboo:ramboo
可以添加多个用户,如
addauth digest ramboo1:ramboo1
addauth digest ramboo2:ramboo2
addauth digest ramboo3:ramboo3
1.2.2、设置Acl权限
此处假如对/auth路径进行设置,则
setAcl /auth auth:ramboo1:ramboo1:cdrwa
备注:****此处虽然设置了ramboo1用户的权限,但是zk会默认添加所有存在的用户。此处需要注意。
1.2.3、查看Acl权限
getAcl /auth
结果如下所示:
'digest,'ramboo1:JXpHVJcEMUsIf5MM6u7TlOp3pqo=
: cdrwa
'digest,'ramboo2:lTTHGKOT6A3iEwj/SV5meGTXbAM=
: cdrwa
'digest,'ramboo3:b8+HkvFoPszTILQTMB1YFQ+Yvus=
: cdrwa
备注:如果退出了客户端,再进入的时候,需要重新添加用户,才可访问,即授权。
1.3、digest模式
此模式,和auth模式的区别在于:
- digest设置Acl的时候,可以不用先添加用户,而auth设置Acl的时候,是需要提前设置用户的,否则报错。
- digest设置的密码要用密文,auth设置的密码是明文。
- auth设置的,只需设置一个用户,就可以把所有用户设置进去,而digest不行,只能对本次设置的用户有效。也就是auth模式忽略id。
1.3.1、生成密文密码
在Linux下执行如下命令
echo -n xing:xing | openssl dgst -binary -sha1 | openssl base64
结果为:
kgk4DGva6vqOBYMGbMsXBZuFCXE=
1.3.2、设置Acl权限
此处假如对/digest路径进行设置,则
setAcl /digest digest:xing:kgk4DGva6vqOBYMGbMsXBZuFCXE=:cdrwa
备注:此处的密文密码不要随意更改,否则不知道对应的明文是多少,后续就没办法访问对应节点,切记!
1.3.3、查看Acl权限
此时如果没有添加xing这个用户,需要先添加,才可查看。添加命令如下:
addauth digest xing:xing
添加后,可查看:
getAcl /digest
结果为:
'digest,'xing:kgk4DGva6vqOBYMGbMsXBZuFCXE=
: cdrwa
备注:如果要添加多个用户,则用逗号隔开,如下所示:
setAcl /digest digest:xing:kgk4DGva6vqOBYMGbMsXBZuFCXE=:cdrwa,digest:hang:YQRsX4vWAT6BHGo7yQi6tFSYxKc=:cdrwa
二、忘记密码修复方式
如果对上述设置授权后,忘记密码了,怎么办?方法如下:
进入配置文件zoo.cfg,修改配置,设置跳过Acl验证,配置如下:
skipACL=yes
重启zookeeper。
启动后,可按照第一节所述的方式,重新进行Acl设置即可。
参考资料:
1、https://www.cnblogs.com/fengjian2016/p/16775392.html 20230816
2、https://www.cnblogs.com/dalianpai/p/12748144.html 20230816
3、https://blog.csdn.net/qq_35017434/article/details/103865911 20230816
4、https://www.cnblogs.com/panw/p/16977987.html 20230816
5、https://www.cnblogs.com/jiaojiner/p/15489579.html 20230816
6、https://blog.csdn.net/SirHongGe/article/details/125539617 20230816
7、https://hertzbeat.com/zh-cn/docs/help/zookeeper/ 20230816
8、https://blog.csdn.net/yaya_jn/article/details/124984409 20230816