ACL简介
相关命令:
给某个节点添加权限:setAcl path acl
获取某个节点的权限:getAcl path
注册权限:addAuth scheme auth
zk 的 acl 通过 [scheme:id:permissions] 来构成权限列表
- scheme:代表采用某种权限机制
- id:代表允许访问的用户
- permissions:权限组合字符串
一、ACL 构成
1.1 scheme
- world:world 下只有一个 id,即只有一个用户(anyone),组合的写法就是 —— world:anyone:[permissions]
- auth:代表认证登录,需要注册用户有权限就可以,形式为 —— auth:user:password:[permissions]
- digest:需要对密码进行加密才能访问,组合形式为 —— digest:username:BASE64(SHA1(password)):[permissions]
- ip:当设置为 ip 指定的 ip地址,此时限制 ip 进行访问,比如:ip:192.168.1.1:[permissions]
- super:代表超级管理员,拥有所有权限
auth 和 digest 的区别是:auth 是明文,digest 是密文。setAcl /path auth:dong:dong:[permissions] cdrwa 和 setAcl /path digest:dong:BASE64(SHA1(password)) cdrwa 是等价的,是通过addauth digest dong:dong 后都能操作指定节点的权限。
1.2 permissions
权限字符串 cdrwa
- create:当前用户拥有当前节点的子节点的权限
- read:获取当前节点的所有内容
- wriate:设置当前节点的数据
- delete:删除子节点
- admin:设置权限
网友评论