详解zookeeper ACL

zookeeper 的 ACL(Access Control List,访问控制表)权限在生产环境是特别重要的。ACL 权限可以针对节点设置相关读写等权限,保障数据安全性。permissions 可以指定不同的权限范围及角色。

ACL 命令行

  1. getAcl 命令:获取某个节点的 acl 权限信息。
  2. setAcl 命令:设置某个节点的 acl 权限信息。
  3. addauth 命令:输入认证授权信息,注册时输入明文密码,加密形式保存。

ACL 构成

zookeeper 的 acl 通过 [schemepermissions] 来构成权限列表。

  1. scheme:代表采用的某种权限机制,包括 world、auth、digest、ip、super 几种。
  2. id:代表允许访问的用户。
  3. permissions:权限组合字符串,由 cdrwa 组成,其中每个字母代表支持不同权限, 创建权限 create(c)、删除权限 delete(d)、读权限 read(r)、写权限 write(w)、管理权限admin(a)。

world 实例

查看默认节点权限,再更新节点 permissions 权限部分为 crwa,结果删除节点失败。其中 world 代表开放式权限。

$ getAcl /runoob/child
$ setAcl /runoob/child world:anyone:crwa
$ delete /runoob/child

Zookeeper 权限控制 ACL介绍Zookeeper 权限控制 ACL介绍

auth 实例

auth 用于授予权限,注意需要先创建用户。

$ setAcl /runoob/child auth:user1:123456:cdrwa
$ addauth digest user1:123456
$ setAcl /runoob/child auth:user1:123456:cdrwa
$ getAcl /runoob/child

Zookeeper 权限控制 ACL介绍Zookeeper 权限控制 ACL介绍

digest 实例

退出当前用户,重新连接终端,digest 可用于账号密码登录和验证。。

$ ls /runoob
$ create /runoob/child01 runoob
$ getAcl /runoob/child01
$ setAcl /runoob/child01 digest:user1:HYGa7IZRm2PUBFiFFu8xY2pPP/s=:cdra
$ getAcl /runoob/child01
$ addauth digest user1:123456
$ getAcl /runoob/child01

提示:加密密码是上一步创建的。

IP 实例

限制 IP 地址的访问权限,把权限设置给 IP 地址为 192.168.3.7 后,IP 为 192.168.3.38 已经没有访问权限。

$ create /runoob/ip 0
$ getAcl /runoob/ip
$ setAcl /runoob/ip ip:192.168.3.7:cdrwa
$ get /runoob/ip

原创文章,作者:晴川运维,如若转载,请注明出处:https://baike.qcidc.com/6091.html

(0)
晴川运维晴川运维
上一篇 2025年6月8日
下一篇 2025年6月8日

相关推荐

  • 分享一下git使用小技巧

    Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放…

    Linux系统 2025年6月20日
  • 简单介绍一下机器码与字节码

    什么是机器码 机器码(machine code),学名机器语言指令,有时也被称为原生码(Native Code),是电脑的CPU可直接解读的数据。 通常意义上来理解的话,机器码就是…

    Linux系统 2025年9月16日
  • Linux常用命令mmount命令具体使用方法

    Linux mmount命令用于挂入MS-DOS文件系统。 mmount为mtools工具指令,可根据[mount参数]中的设置,将磁盘内容挂入到Linux目录中。 语法 mmou…

    Linux系统 2025年6月8日
  • 讲解一下ES6 Class使用方法

    ES6 提供了更接近传统语言的写法,引入了 Class(类)这个概念,作为对象的模板。通过class关键字,可以定义类。 基本上,ES6 的class可以看作只是一个语法糖,它的绝…

    Linux系统 2025年9月19日
  • Shell脚本习题:指定日期减去一天

    如果只减去一天的话,直接写就可以了。 #date -d”yesterday 20150401″ +%Y%m%d 如果要减去几天,还可以这样写,如果用负…

    Linux系统 2025年10月22日
  • Linux下使用free命令查看内存使用情况

    free命令可以显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区,下面为大家详细讲解一下 free命令使用实例。 显示系统内存 不带任何选项运行 free …

    Linux系统 2025年6月8日
  • Linux查看硬件信息(制造商、型号和序列号)具体方法

    用过Linux系统的人都知道这么一个情况,那就是Linux大部分操作是通过命令实现的,并不像Windows那么直观。linux查看硬件信息也是需要通过命令查询才可以看得到硬件的信息…

    Linux系统 2025年6月11日
  • 详解Linux系统IO分析工具iotop

    iotop是linux系统下测试硬盘IO读写的工具,简单的说,iotop是一个用来监视磁盘I/O使用状况的 top 类工具,可监测到哪一个程序使用的磁盘IO的信息(requires…

    Linux系统 2025年10月25日
  • Linux下使用Aria2提高下载速度

    Aria2 是一个多平台轻量级,支持 HTTP、FTP、BitTorrent 等多协议、多来源的命令行下载工具。Aria2 可以从多个来源、多个协议下载资源,最大的程度上利用了你的…

    Linux系统 2025年10月22日
  • Linux中安装并使用Sigil具体方法

    Sigil 是一个免费的、开源的、多平台的电子书编辑器,使用Qt(和QtWebEngine)。它被设计用来编辑ePub格式的书籍(包括ePub 2和ePub 3),本篇文章重点为大…

    Linux系统 2025年9月23日

发表回复

登录后才能评论