Redis 7中sentinel_user受限ACL权限配置启动报错问题
问题解决:Redis ACL配置报错修复
错误原因分析
- users.acl文件语法错误:你直接将CLI执行的
ACL SETUSER命令写入了users.acl文件,但该文件的正确语法是省略ACL SETUSER前缀,直接以user开头定义用户规则。Redis解析时误将命令前缀当作规则的一部分,导致命令识别失败。 - 命令名称过时:
slaveof是Redis旧版命令,7.0+版本中官方已替换为replicaof,虽然slaveof仍作为别名存在,但ACL规则中使用正式命令名可避免兼容性问题。
正确配置
修改users.acl文件的配置行,改为以下内容:
user sentinel_user ON nopass allchannels +multi +replicaof +ping +exec +subscribe +config|rewrite +role +publish +info +client|setname +client|kill +script|kill
验证配置
启动Redis前,可通过CLI提前验证规则有效性:
redis-cli ACL SETUSER sentinel_user ON nopass allchannels +multi +replicaof +ping +exec +subscribe +config|rewrite +role +publish +info +client|setname +client|kill +script|kill
若执行无报错,说明规则合法,再替换users.acl文件内容即可正常启动。
内容的提问来源于stack exchange,提问作者anand
相关产品推荐
相关产品推荐

