场景引入:
凌晨3点,你的手机突然狂震——运维同事发来紧急消息:“Redis被黑了!有人删了所有缓存数据!” 😱 你一边骂骂咧咧地爬起来,一边后悔没早点配置好权限控制,别担心,今天我们就手把手教你用Redis权限管理避免这种“深夜惊魂”!
Redis默认是没有密码的(心真大!),就像你家大门常年敞开着,先给Redis上个锁:
# 修改redis.conf配置文件 vim /etc/redis/redis.conf
找到这两行并修改:
requirepass your_strong_password_123! # 设置访问密码 rename-command FLUSHALL "" # 禁用危险命令(可选)
重启Redis生效:
sudo systemctl restart redis
💡 小贴士:密码别用123456
,黑客比你妈记得还清楚!
Redis 6.0+开始支持多用户权限(终于不用所有人共用一个密码了!)。
在redis.conf
中添加:
user default on >default_password ~* &* +@all # 默认管理员 user cache_reader on >reader_pass ~cache:* +get +hget # 只读缓存用户
或者用命令行动态创建:
redis-cli -a your_admin_password > ACL SETUSER cache_reader on >reader_pass ~cache:* +get +hget
~cache:*
:只能操作cache:
开头的key +get
:允许GET命令 -@dangerous
:禁用所有危险命令 这些命令能让你瞬间失业(别问我是怎么知道的):
# 直接在配置文件中禁用 rename-command FLUSHDB "GUARD_FLUSHDB" rename-command CONFIG "" # 禁止修改配置
或者通过ACL限制:
> ACL SETUSER junior_dev -@all +set +get ~limited:keys:*
> ACL WHOAMI # 查看当前用户 > ACL LIST # 列出所有用户权限
# redis.conf 开启审计日志 acllog-max-len 1000 # 记录最近1000条权限事件
角色 | 权限规则 | 适用场景 |
---|---|---|
超级管理员 | +@all ~* |
运维人员 |
缓存读写员 | +set +get +hmset ~cache:* |
应用服务账户 |
只读监控员 | +get +info ~stats:* |
监控系统 |
黑名单用户 | resetpass -@all |
离职员工账户 |
FLUSHALL
权限,除非你想考验心脏 ACLLOG
当朋友圈刷,异常操作立马发现 最后彩蛋 🥚:
当你完美配置好权限后,可以优雅地对黑客说:
> AUTH not_a_chance # 错误密码响应 (error) WRONGPASS invalid username-password pair
然后看着他们在日志里无能狂怒~ 😎
(本文配置方法基于Redis 7.2版本验证,2025年7月更新)
本文由 剧颖 于2025-07-31发表在【云服务器提供商】,文中图片由(剧颖)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://vps.7tqx.com/wenda/494763.html
发表评论