redis6新功能
1 ACL
Redis ACL是AccessControlList(访问控制表)的缩写,该功能允许根据可以执行的命令和访问的键来限制某些连接。
2 基本命令
acl help
> ACL help
1) ACL <subcommand> arg arg ... arg. Subcommands are:
2) LOAD -- 从ACL文件中重新载入用户信息.
3) SAVE -- 保存当前的用户配置信息到ACL文件.
4) LIST -- 以配置文件格式显示用户详细信息.
5) USERS -- 列出所有注册的用户名.
6) SETUSER <username> [attribs ...] -- 创建或则修改一个用户.
7) GETUSER <username> -- 得到一个用户的详细信息.
8) DELUSER <username> [...] -- 删除列表中的用户.
9) CAT -- 列出可用的类别.
10) CAT <category> -- 列出指定类别中的命令.
11) GENPASS [<bits>] -- 生成一个安全的用户密码.
12) WHOAMI -- 返回当前的连接用户.
13) LOG [<count> | RESET] -- 显示ACL日志条目.
acl list 查看当前用户列表
127.0.0.1:6379> acl list
1) "user default on nopass ~* &* +@all"
default表示用户名,
on表示是否启用,
表示密码 nopass表示无密码,
~*表示可以操作的key
+@表示可以执行的命令,+表示拥有,-表示缺少,all表示全部
&*表示可以使用的redis数据库编号
acl setuser user 添加或者修改用户
127.0.0.1:6379> acl setuser user1 on >password
OK
127.0.0.1:6379> acl list
1) "user default on nopass ~* &* +@all"
2) "user user1 on #5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8 &* -@all"
后面还可以加上一系列权限,这里就不多演示了
修改默认用户密码
acl setuser default on >xxxx ~* &* +@all
注意修改之后需要手动auth default + 密码了,,不然输入什么命令都是没有权限,不要以为是权限设置错误导致的。。