在 CentOS 上配置 Redis 权限,通常可以从 Redis 自身权限控制 和 系统/网络层面权限 两个方面来做。下面按常见场景给你说明。
编辑 Redis 配置文件(通常是 /etc/redis.conf 或 /etc/redis/redis.conf):
vi /etc/redis.conf
找到并修改:
requirepass your_strong_password
重启 Redis:
systemctl restart redis
连接方式:
redis-cli -a your_strong_password
✅ 适合:防止未授权访问
默认 Redis 只监听本地:
bind 127.0.0.1
如果需要远程访问,指定内网 IP:
bind 127.0.0.1 192.168.1.100
⚠️ 不要直接 bind 0.0.0.0 且不开密码
可以重命名或禁用危险命令:
rename-command FLUSHALL ""
rename-command FLUSHDB ""
rename-command CONFIG "hidden-config"
✅ 适合:多用户 / 生产环境
Redis 6 以后支持用户权限管理:
redis-cli
创建用户:
ACL SETUSER appuser on >apppass ~* +get +set
说明:
appuser:用户名apppass:密码~*:可访问所有 key+get +set:只允许 get/set 命令查看用户:
ACL WHOAMI
ACL LIST
配置文件中持久化:
user appuser on >apppass ~* +get +set
✅ 适合:多应用、多用户
查看:
ps -ef | grep redis
通常运行在 redis 用户下。
修改运行用户(不推荐随意改):
vi /etc/redis.conf
user redis
Redis 数据目录权限:
chown -R redis:redis /var/lib/redis
chmod 700 /var/lib/redis
配置文件权限:
chmod 600 /etc/redis.conf
如果允许远程:
firewall-cmd --add-port=6379/tcp --permanent
firewall-cmd --reload
⚠️ 建议只对内网开放
✅ 必须做:
requirepassbind 内网 IPFLUSHALL/FLUSHDB✅ 推荐做:
如果你能告诉我:
我可以给你一套精确配置示例。