怎么知道Redis 6+ 是否启用 ACL
要判断 Redis 6+ 是否启用了 ACL(访问控制列表),可通过以下步骤操作:
方法 1:通过 ACL LIST
查看用户配置(最直接)
-
登录 Redis 客户端:
在 Redis 服务器的终端中执行redis-cli -h 192.168.6.180 -p 6379
(替换为你的 Redis 地址和端口)。- 若 Redis 配置了密码,需先输入
AUTH 你的密码
进行认证。
- 若 Redis 配置了密码,需先输入
-
执行
ACL LIST
命令:
该命令会列出所有用户的 ACL 配置。- 若输出包含非默认用户(如
user admin on >Hbis332211 ~* +@all
):
说明已创建自定义 ACL 用户,ACL 功能已启用。 - 若仅输出默认用户(如
user default on nopass ~* &* +@all
):
Redis 6+ 仍默认启用 ACL,只是未创建自定义用户(默认用户无密码,权限开放)。
效果如图:
- 若输出包含非默认用户(如
方法 2:检查 Redis 配置文件(redis.conf
)
-
找到 Redis 配置文件:
通常在 Redis 安装目录下(如/etc/redis/redis.conf
或/usr/local/etc/redis.conf
)。 -
查看 ACL 相关配置:
搜索aclfile
或# aclfile
:- 若存在
aclfile /path/to/your/aclfile
(即使被注释),说明 Redis 支持 ACL 持久化,ACL 功能已启用。 - Redis 6+ 默认启用 ACL,配置文件中无需显式开启。
- 若存在
方法 3:通过 requirepass
判断认证方式
- 执行
CONFIG GET requirepass
:- 若返回非空值(如
Hbis332211
):
说明同时启用了传统密码认证(requirepass
)和 ACL(若有自定义用户)。 - 若返回空值(
(nil)
):
说明仅依赖 ACL 认证(需通过username:password
连接)。
- 若返回非空值(如
结合你的场景(连接地址含 admin:Hbis332211
)
你配置的连接地址是 redis://admin:Hbis332211@...
,说明 Redis 必须启用了 ACL(否则无法通过“用户名+密码”认证)。此时:
- 执行
ACL LIST
应能看到user admin ...
的配置; - 若
requirepass
非空,说明是“传统密码 + ACL”混合认证;若为空,说明仅用 ACL 认证。
只要 Redis 6+ 能通过 username:password
连接(如你配置的 admin:Hbis332211
),就说明 ACL 已启用。