4.1 权限

1. 权限acl详解,acl的构成-scheme与id

1.1 ACL(access control lists)权限控制:

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

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

1.2 ACL命令行:

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

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

  addauth:输入认证收取信息,注册时输入明文密码错误(登录成功),但是在zk的系统里,密码是以加密宁宁的形式存在的;

语法:setAcl path acl

      getAcl path

      addauth scheme auth

 eg:

create /imooc/abc aa

getAcl /imooc/abc:获取节点的默认权限(所有的人都对这个节点有所有的操作),这里为cdrwa,

1.3 ACL的构成

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

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

id:代表允许访问的用户

permissions:权限组合字符串

(1) scheme

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

auth:代表认证登录,需要注册用户有权限就可以,形式为auth:user:password:[permissions]

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

简而言之,auth与digest的区别就是,前者明文密码,后者密文密码。

setAcl /path auth:lee:lee:cdrwa与set /path digest:lee:BASE64(SHA1(password))cdrwa是等价的,再通过

addauth digest lee:lee后都能操作指定节点的权限

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

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

(2) acl的构成-permissions

权限字符串缩写crdwa:

  create:创建子节点

  read:获取节点/子节点

  write:设置节点数据

  delete:删除子节点

  admin:设置权限

2. acl命令行world讲解

语法:world:anyone:cdrwa

create /imooc/abc aa

getAcl /imooc/abc

setAcl /imooc/abc world:anyone:crwa :设置节点权限,这里不可以删除子节点

 getAcl /imooc/abc

猜你喜欢

转载自www.cnblogs.com/shiyun32/p/9451254.html