zookeeper的acl权限控制_zookeeper权限acl与四字命令

权限acl介绍,acl的构成与id

acl是Access control lists 的缩写,也就是权限控制列表:

针对节点可以设置相关读写等权限,目的是为了保障数据安全性

权限permissions可以指定不同的权限范围以及角色

acl的构成:

zk的acl通过 [scheme:id:permissions] 来构成权限列表:

scheme:代表采用的某种权限机制

id:代表允许访问的用户

permissions:权限组合字符串

acl的构成-scheme,scheme有以下几种类型:

world:world下只有一个id,即只有一个用户,也就是anyone,那么组合的写法就是 world:anyone:[permissions]

ip:当设置为ip指定的ip地址,此时限制ip进行访问,比如ip:192.168.77.130:[permissions]

auth:代表认证登录,需要注册用户获取权限后才可以登录访问,形式为 auth:userpassword:[permissions]

digest:需要对密码加密才能访问,组合形式为:digest:username:BASE64(SHA1(password)):[permissions]

auth与digest的区别就是,前者使用明文密码进行登录,后者使用密文密码进行登录。setAcl /path auth:lee:lee:cdrwa 与 setAcl /path digest:lee:BASE64(SHA1(password)):cdrwa是等价的,在通过 addauth digest lee:lee 后都能操作指定节点的权限。在实际情况中,digest要更为常用一些。

super:代表超级管理员,拥有所有的权限

acl的构成-permissions:

权限字符串缩写 crdwa :

CREATE:创建子节点权限

READ:访问节点/子节点权限

WRITE:设置节点数据权限

DELETE:删除子节点权限

ADMIN:管理员权限

acl命令:

getAcl 获取某个节点的acl权限信息

setAcl 设置某个节点的acl权限信息

addauth 输入认证授权信息,注册时输入明文密码(登录),但是在zk的系统里,密码是以加密后的形式存在的

acl命令行world

使用 getAcl 命令获取某个节点的acl权限信息,示例:

[root@study-01 ~]# zkCli.sh

[zk: localhost:2181(CONNECTED) 5] create /testDir/testAcl test-data # 创建一个子节点

Created /testDir/testAcl

[zk: localhost:2181(CONNECTED) 6] getAcl /testDir/testAcl # 获取该节点的acl权限信息

'world,'anyone # 默认为world

: cdrwa

[zk: localhost:2181(CONNECTED) 7]

使用 setAcl 命令设置某个节点的acl权限信息,示例:

[zk: localhost:2181(CONNECTED) 7] setAcl /testDir/testAcl world:anyone:crwa # 设置该节点的acl权限

cZxid = 0x26

ctime = Mon Apr 23 17:28:30 CST 2018

mZxid = 0x26

mtime = Mon Apr 23 17:28:30 CST 2018

pZxid = 0x26

cversion = 0

dataVersion = 0

aclVersion = 1

ephemeralOwner = 0x0

dataLength = 9

numChildren = 0

[zk: localhost:2181(CONNECTED) 8] getAcl /testDir/testAcl

'world,'anyone

: crwa # 设置成功后,该节点就少了d权限

[zk: localhost:2181(CONNECTED) 9] create /testDir/testAcl/xyz xyz-data # 创建子节点

Created /testDir/testAcl/xyz

[zk: localhost:2181(CONNECTED) 10] delete /testDir/testAcl/xyz # 删除该子节点

Authentication is not valid : /testDir/testAcl/xyz # 由于没有d权限࿰

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值