您当前的位置: 首页 > 慢生活 > 程序人生 网站首页程序人生
redis6新特性 acl 去除默认的免密码登录
发布时间:2021-11-18 23:09:20编辑:雪饮阅读()
我们一般在redis连接都是使用cli连接的。那么一般刚安装redis时候则是直接cli可以进入的。
那么如果我执行如下命令:
127.0.0.1:6379> acl setuser default off
OK
127.0.0.1:6379> acl list
3) "user default off nopass ~* &* +@all"
这相当于关闭了默认用户default的开启状态,则default必须要配置密码才能登录了。
现在另外开一个客户端就可以看到其需要auth的:
[root@localhost ~]# /usr/local/redis-6.2.5/src/redis-cli
127.0.0.1:6379> keys *
(error) NOAUTH Authentication required.
acl list命令用来查看当前acl规则用户列表。
acl setuser default on >xy220807
那么上面的default的off参数相当于禁用了该用户,比如我要开启一个用户但是又要它必须有密码才能访问,则可以如:
127.0.0.1:6379> acl setuser default on >xy220807
OK
127.0.0.1:6379> acl list
2) "user defalut off #337cc37454ae77e4107cb089fab0126308e7c6043c25a7b3e9701a278a1c7d16 &* -@all"
3) "user default on #337cc37454ae77e4107cb089fab0126308e7c6043c25a7b3e9701a278a1c7d16 ~* &* +@all"
这里又添加了一个default为启用并且设置了密码为xy220807的用户。
则另外一个客户端又可以访问了:
127.0.0.1:6379> auth default xy220807
OK
127.0.0.1:6379> keys *
1) "sicily"
2) "user2_user1_queue"
3) "key222"
4) "key333"
5) "user1_user2_queue"
这里auth不再像之前那样仅仅一个密码,而是需要同时有用户名和密码。
删除一个acl 规则:
127.0.0.1:6379> acl list
1) "user >xy220807 off &* -@all"
2) "user defalut off #337cc37454ae77e4107cb089fab0126308e7c6043c25a7b3e9701a278a1c7d16 &* -@all"
3) "user default on #337cc37454ae77e4107cb089fab0126308e7c6043c25a7b3e9701a278a1c7d16 ~* &* +@all"
这里>xy220807这个用户是我不小心失误操作进去的,我现在要删除他,删除之前我先试试default是否可以删除:
127.0.0.1:6379> acl deluser default
(error) ERR The 'default' user cannot be removed
看来默认的default用户是不可以删除的。
那我就删除我这个>xy220807这个用户吧:
127.0.0.1:6379> acl deluser >xy220807
(integer) 1
127.0.0.1:6379> acl list
1) "user defalut off #337cc37454ae77e4107cb089fab0126308e7c6043c25a7b3e9701a278a1c7d16 &* -@all"
2) "user default on #337cc37454ae77e4107cb089fab0126308e7c6043c25a7b3e9701a278a1c7d16 ~* &* +@all"
原文地址:https://www.redis.com.cn/topics/acl.html
关键字词:redis,acl