4、Redis6多用户管理

老版本没有用户名,只有密码
Redis6已经有用户名,默认用户名default

1.列出所有用户,默认只有default超级用户,并查看default用户相关信息

>ACL LIST                      #列出所有用户,默认用户是default
1) "user default on #9cd9ab402f4115ed9921a7e4f7fc89330c8fe9283a8b1cdef203f7a7e622c68f ~* &* +@all"     #default用户呢是有所有权限
>ACL getuser default     #查看default用户的相关信息, default对所有key,所有命令均有权限,最高权限,是默认用户
 1) "flags"
 2) 1) "on"
    2) "allkeys"                            #所有的key都有权限
    3) "allchannels"
    4) "allcommands"
 3) "passwords"
 4) 1) "9cd9ab402f4115ed9921a7e4f7fc89330c8fe9283a8b1cdef203f7a7e622c68f"
 5) "commands"
 6) "+@all"                                 #所有的命令都有权限
 7) "keys"
 8) 1) "*"
 9) "channels"
10) 1) "*"

2.创建用户并给用户授权

> ACL CAT                                   #查看所有的权限
 1) "keyspace"
 2) "read"
 3) "write"
 4) "set"
 5) "sortedset"
 6) "list"
 7) "hash"
 8) "string"
 9) "bitmap"
10) "hyperloglog"
11) "geo"
12) "stream"
13) "pubsub"
14) "admin"
15) "fast"
16) "slow"
17) "blocking"
18) "dangerous"
19) "connection"
20) "transaction"
21) "scripting"

案例:创建test用户只给一个get命令权限、读权限、并且只能get是name开头的key: name*
使用default默认用户登录redis:

redis-cli -a redispwd
> set name1 n1
> set name2 n2
> set name3 n3
>set k1 v1
>set k2 v2
>ACL SETUSER test on >testpwd ~name* +get               #创建test用户,密码:testpwd   赋给get命令的权限,只对name开头的有get权限
>ACL SETUSER test on >testpwd ~name* +@read           #给test用户增加read权限,设置只对name开头的key有read权限
>ACL getuser test                                                        #查看test用户的相关信息
posted @   XingFang  阅读(1244)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示