ACL GETUSER
语法
ACL GETUSER username
- 可用版本
- Redis 开源版 6.0.0
- 时间复杂度
- O(N)。其中 N 是用户拥有的密码、命令和模式规则的数量。
- ACL 类别
-
@admin
,@slow
,@dangerous
,
该命令返回为现有 ACL 用户定义的所有规则。
具体而言,它列出用户的 ACL 标志、密码哈希、命令、键模式、通道模式(版本 6.2 中添加)和选择器(版本 7.0 中添加)。将来如果为用户添加更多元数据,可能会返回附加信息。
命令规则始终以与 ACL SETUSER
命令中使用的格式相同的格式返回。在版本 7.0 之前,键和通道以模式数组的形式返回,但在版本 7.0 及其之后,它们也以与 ACL SETUSER
命令中使用的格式相同的格式返回。注意:此命令规则描述反映了用户的有效权限,因此虽然它可能与用于配置用户的规则集不完全相同,但其功能上是相同的。
选择器按应用于用户的顺序列出,包括有关命令、键模式和通道模式的信息。
示例
这是一个用户配置示例
> ACL SETUSER sample on nopass +GET allkeys &* (+SET ~key2)
"OK"
> ACL GETUSER sample
1) "flags"
2) 1) "on"
2) "allkeys"
3) "nopass"
3) "passwords"
4) (empty array)
5) "commands"
6) "+@all"
7) "keys"
8) "~*"
9) "channels"
10) "&*"
11) "selectors"
12) 1) 1) "commands"
6) "+SET"
7) "keys"
8) "~key2"
9) "channels"
10) "&*"
RESP2 回复
以下之一
- 数组回复 (Array reply):用户的 ACL 规则定义列表。
- 空值回复 (Nil reply):如果用户不存在。
RESP3 回复
以下之一
- 映射回复 (Map reply):用户的 ACL 规则定义集
- 空值回复 (Null reply):如果用户不存在。
历史
- 从 Redis 版本 6.2.0 开始:添加了 Pub/Sub 通道模式。
- 从 Redis 版本 7.0.0 开始:添加了选择器,并将键和通道模式的格式从列表更改为其规则表示。