acl的构成-scheme与id、permissions

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
默认权限:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

[permissonins]
c:create(不设置就不能创建该节点的子节点)
r:read(不设置就不能获取该节点信息,但如果子节点设置了 r还是能获取子节点信息)
w:write(不设置就不能修改该节点信息,但如果子节点设置了 w还是能修改子节点信息)
d:delete(不设置就不能删除该节点,也不能删除子节点)

在这里插入图片描述

world
在这里插入图片描述
auth
在这里插入图片描述

  • 使用auth时,需要首先进行账号密码注册,否则无效;
    addauth digest 账号:密码
    可以看到使用digest注册,保存在数据库的密码是以密文的形式,它经过了SHA1加密后又用了BASE64加密,双重加密
    'digest,'zsl:Fx+cuv7M7sbNyRbSyGvEoGnllEM=
  • 注册完后就可以,在节点上针对该账号密码进行权限设置
    setAcl 路径 auth:账号:密码:[permissions]
  • 通过匿名方式设置权限;其实此时因为你前面已经通过了账号密码进行权限设置,所以你再次设置,默认取当前第一个账号,可以不用输入账号密码,因为它会根据你第一次注册的用户进行绑定 ;
    setAcl 路径 auth::[permissions]

在这里插入图片描述

  • 你再使用addauth注册一个账号
    addauth digest 账号:密码
    'digest,'zslx:mSx7c6F9PLe+xTpf/7EY9yx/wow=
  • 再针对该账号对该节点设置权限,你会发现这个节点可以针对不同的账号进行权限控制
  • 使用匿名的方式还是可以进行设置权限,不过默认是第一个账号
    setAcl 路径 auth::[permissions]

在这里插入图片描述

  • 我们给节点设置了针对账号的权限,我们断开连接,连上后,不登录账号密码,会发现没有对该节点的权限;
  • 断开客户端连接后,需要再次登录账号密码,才能对设置了账号权限的节点进行操作;
    addauth digest 账号:明文密码登录
  • 我们登录都是通过密码是明文的方式登录

digest
在这里插入图片描述

  • 通过digest,密码密文的方式给节点设置账号权限
  • setAcl 路径 digest:账号:密文密码:[permissions]

ip
在这里插入图片描述

设置只有指定ip才能访问该节点 setAcl 路径 ip:ip地址:[permissions]

在这里插入图片描述

super

  • 当忘记了密码,需要使用超级管理的权限去重新设置节点权限,这时候就可以使用super,权限等级最高;
  • 修改 zkServer.sh文件,在nohup下 "-Dzookeeper.DigestAuthenticationProvider.superDigest=账号:密文密码="
  • 对应着zookeeper源代码里,DigestAuthenticationProvider类下的静态常量属性superDigest

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

偷偷学习被我发现

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值