news 2026/5/27 2:17:21

TongRDS2.2.1.8配置acl用户(by sy+lqw)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
TongRDS2.2.1.8配置acl用户(by sy+lqw)

什么是acl用户

ACL用户是指在 TongRDS 系统中,通过用户访问控制列表进行身份验证和权限管理的接入账号。

具体来说,ACL用户具有以下几个核心特征:

  1. 认证与授权分离
    ACL(Access Control List)机制将用户的身份认证和权限授权分开管理:

身份认证:通过用户名和密码验证“你是谁”。
权限授权:通过角色决定“你能干什么”。用户本身不具备权限,必须绑定角色才能获得权限。

  1. 核心配置属性
    在配置文件 acl.properties 中,一个 ACL 用户由以下几个关键属性定义:

Username:用户的登录名称。
Password:用户的登录密码,采用 SM3 算法加密存储。
Role_id:用户绑定的角色编号(一个用户可绑定多个角色,权限叠加)。这是用户获取权限的唯一途径。
Active:用户的状态,设为 true 则可正常登录,设为 false 则禁止登录。

  1. 与角色的关系

角色是权限的载体,定义了可执行的命令(cmd_list)、可访问的数据库(dbs)以及键前缀(key_prefix)。
用户是角色的消费者,通过 role_id 字段与角色关联。例如,配置 WebSession.user0.role_id=1,意味着该用户拥有了 acl.role1 所定义的所有权限。

  1. 作用范围
    ACL 用户的配置在中心节点的 acl.properties 文件中进行,中心节点读取配置后会下发到各个服务节点,从而实现对整个集群用户接入的统一控制。

什么场景下配置acl用户

从redis迁移到rds的时候,如果redis有类似以下的配置:

# 管理员user admin on#4d4e5c... ~* &* +@all# 应用用户user appuser on#8a2b7d... ~app:* &* +@read +get

备注:
Redis 6.0 及以上版本引入的 ACL(Access Control List,访问控制列表) 配置。它用于替代早期版本中单一的 requirepass 全局密码认证,实现了多用户和细粒度的权限管控。

如何配置

找到中心节点的安装目录,etc目录下的acl.properties,修改配置参考如下:

# 1. 声明角色数量为2(系统将读取 role0, role1)acl.roles=2# 3. 角色1:超级管理员acl.role0.cmd_list=@all# 4. 角色2:应用管理员acl.role1.cmd_list=@read# ==========================================# 5. 用户配置区# ==========================================# 有多少个用户,例如2就配2,例如3就配3WebSession.users=2# 超级管理员账号:通过 role_id=0 绑定角色0(role0)WebSession.user0.username=adminWebSession.user0.password=6E0F9E14344C5406A0CF5A3B4DFB665F87F4A771A31F7EDBB5C72874A32B2957WebSession.user0.role_id=0WebSession.user0.active=true# 应用管理员账号:通过 role_id=1 绑定角色1(role1)WebSession.user1.username=appuserWebSession.user1.password=6E0F9E14344C5406A0CF5A3B4DFB665F87F4A771A31F7EDBB5C72874A32B2957WebSession.user1.role_id=1WebSession.user1.active=true# 以此类推,例如要配置3个账号,上面的acl.roles 跟WebSession.users 都要配置为3# user得加上下标2,表示从0-2为止,读取第三个,如下所示# WebSession.user2.username=xxx# password 用pmemdb的bin 下执行 ./sM4.sh encrypt 要加密的明文(尽量别用符号) 后获取#WebSession.user2.password=6E0F9E14344C5406A0CF5A3B4DFB665F87F4A771A31F7EDBB5C72874A32B2957# 需要在acl.roles 下配置acl.role2.cmd_list=具体命令,例如@all,@read 等,具体参考下方截图说明或者产品书册里的配置参考手册# WebSession.user2.role_id=2# WebSession.user2.active=true

如何验证

配置后,重启pcenter,然后查看pmemdb的logs下是否生成users.acl:

打开查看,示范如下:

同时可以去pmemdb的bin,执行

#6379为连接端口,查看pmemdb的etc下的cfg.xml里的<RedisPort>6379</RedisPort>./Client.sh-r-p6379-u用户名-a密码

可以看到,由于appuser只配了@read,所以包括info 和set 指令,执行后都会报错。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/27 2:16:34

亲测复盘:高定木作品牌实战案例分享

在高端家居装修领域&#xff0c;高定木作因其独特的空间美学、精湛的工艺以及个性化的定制服务&#xff0c;逐渐成为别墅、大平层等高端住宅业主的首选。本文将通过实战案例分享&#xff0c;深入剖析高定木作品牌在实际应用中的表现&#xff0c;为消费者提供有价值的参考。一、…

作者头像 李华
网站建设 2026/5/27 2:09:57

ssm基于Vue的戒烟网站(10114)

有需要的同学&#xff0c;源代码和配套文档领取&#xff0c;加文章最下方的名片哦 一、项目演示 项目演示视频 二、资料介绍 完整源代码&#xff08;前后端源代码SQL脚本&#xff09;配套文档&#xff08;LWPPT开题报告/任务书&#xff09;远程调试控屏包运行一键启动项目&…

作者头像 李华
网站建设 2026/5/27 2:05:40

保姆级教程:在Ubuntu 20.04上用Qt5调用海康威视SDK(附Demo适配避坑指南)

Ubuntu 20.04下Qt5集成海康威视SDK全流程实战在智能安防和工业视觉领域&#xff0c;海康威视设备占据着重要市场份额。当开发者需要在Linux环境下构建基于Qt的监控应用时&#xff0c;官方提供的Qt4.7示例代码往往与现代化开发环境存在兼容性断层。本文将手把手带你完成从零开始…

作者头像 李华
网站建设 2026/5/27 2:05:32

交通流缺失数据填补:从KNN到改进局部最小二乘(ILLS)的实践

1. 项目概述&#xff1a;当交通数据“掉链子”时&#xff0c;我们如何“脑补”&#xff1f;在智能交通系统&#xff08;ITS&#xff09;的日常运营中&#xff0c;我们这些从业者最头疼的问题之一&#xff0c;恐怕就是数据“掉链子”。你精心部署的线圈检测器、视频卡口或者浮动…

作者头像 李华