title: zookeeper笔记(二)
zookeeper ALC权限控制
- getAcl path 可以查看某个node的权限
设置权限:
2. world方式
setAcl <path> world:anyone:<acl>
# 例如 setAcl /node1 world:anyone:cdrwa
- ip方式
setAcl <path> ip:<ip>:<acl>
#例如 设置IP:192.168.100.1 拥有所有权限, ip可用通配符*描述规则 如192.168.0.0/16匹配192.168.*.*
# setAcl /node2 ip:192.168.100.*:cdrwa
- auth方式
addauth digest <user>:<password> #添加认证用户
setAcl <path> auth:<user>:<acl>
# 例如 addauth digest zhao:123456 #添加认证用户
setAcl /modle1 auth:zhao:cdra
- Digest方案
不需要用户登陆,且加密密码 设置权限
setAcl <path> digest:<user>:<password>:<acl>
setAcl /modle1 digest:zhao:123456:cdra
这里的密码是经过SHA1及BASE64处理的密文,在SHELL中可以通过以下命令计算:
$ echo -n <user>:<password> | openssl dgst -binary -sha1 | openssl base64
例如:先来计算一个密文
$ echo -n zhao:123456 | openssl dgst -binary -sha1 | openssl base64
#结果是: e+fGhah6NKilpckg4lqkDPi/IPs=
接下来
create /acl_test1 "test1"
setAcl /acl_test1 digest:zhao:e+fGhah6NKilpckg4lqkDPi/IPs=:cdrwa
get /acl_test1 #无权限
addauth digest zhao:123456 #添加认证用户
get /acl_test1 #成功读取