0    课程地址

https://coding.imooc.com/lesson/201.html#mid=12704

 

1    重点关注

1.1    ACL命令行

getAcl:获取某个节点的acl权眼信息
setAcl:设置某个节点的acl权限信息
addauth:输入认证授权信息,注册时输入明文察码(登录 但是在zk的系统里,密码是以加密的形式存在的


1.2    实操getAcl

  • 启动zk服务端和客户端(必须启动客户端,不然set和get命令没有)
./zkServer.sh start
./zkCli.sh

 

  • getAcl操作获取权限
create /imooc/abc aaa
getAcl /imooc/abc
返回结果:'world,'anyone:
:cdrwa

 

 

1.3    Acl构成(针对1.2返回的结果)

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

  • scheme:代表采用的某种权限机制
  • id:代表允许访问的用户
  • permissions:权限组合字符串

 

1.4    ACL之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: 代表超级管理员,拥有所有的权眼

需要修改配置,所有用户登录后都会有管理员的所有权限,一般不会去设置,高危操作

 

  • 案例

setAcl /path auth:lee:lee:cdrwa
setAcl /path digest:lee:BASE64(SHA1(password))cdrwa
是等价的,在通过
addauth digest lee:lee 后都能操作指定节点的权限

 

 

2    课程内容

 2.1    ACL(access control list)权限控制简介

针对节点可以设冒相关读写等权限,目的为了保障数据安全性
权限permissions可以指定不同的权限范围以及角色

 

3    Coding

 

posted on 2024-01-10 12:45  菜鸟乙  阅读(16)  评论(0编辑  收藏  举报