Redis 6如何同时设置用户名和密码?已知晓密码设置方式
Redis 6 用户名与密码配置指南
Redis 6 完全支持同时设置用户名和密码,这是通过它新增的**ACL(Access Control List)**功能实现的——相比旧版本单一的密码认证,ACL能实现更细粒度的权限管控,每个用户可拥有独立的密码和权限规则。
一、静态配置(修改配置文件,重启生效)
配置ACL规则持久化文件(可选但推荐)
在redis.conf中找到并修改:aclfile /etc/redis/users.acl这个文件会自动保存所有用户的ACL规则,Redis重启后会自动加载。
配置默认用户(default)
默认用户初始无密码,你可以直接设置密码并开放全权限:user default on >your_default_password ~* +@all字段说明:
on:启用该用户>:后面跟用户密码~*:允许访问所有键+@all:允许执行所有命令
创建自定义用户
在配置文件中直接添加新用户规则,比如创建管理员和应用专用用户:# 管理员用户:全权限 user admin on >StrongAdminPass123 ~* +@all # 应用用户:仅允许访问app开头的键,仅开放读写命令 user appuser on >AppUserPass456 ~app:* +@read +@write重启Redis服务
systemctl restart redis-server
二、动态配置(运行时设置,无需重启)
进入Redis客户端
redis-cli配置默认用户
ACL SETUSER default ON >your_default_password ~* +@all创建自定义用户
# 创建管理员用户 ACL SETUSER admin ON >StrongAdminPass123 ~* +@all # 创建应用专用用户 ACL SETUSER appuser ON >AppUserPass456 ~app:* +@read +@write持久化规则
为避免重启后规则丢失,执行以下命令将当前规则写入ACL文件:ACL SAVE
三、验证配置
使用指定用户名和密码登录:
redis-cli -u redis://admin:StrongAdminPass123@localhost:6379
或登录后手动认证:
AUTH admin StrongAdminPass123
认证成功后可尝试执行命令验证权限,比如用appuser登录后访问非app:开头的键会被拒绝。
内容的提问来源于stack exchange,提问作者Ajai
相关产品推荐
相关产品推荐

