ACL GETUSER
语法
ACL GETUSER username
- 从以下位置开始可用:
- 6.0.0
- 时间复杂度:
- O(N) 的 S Package。其中 N 是用户拥有的密码、命令和模式规则的数量。
- ACL 类别:
-
@admin
,@slow
,@dangerous
,
该命令返回为现有 ACL 用户定义的所有规则。
具体来说,它列出了用户的 ACL 标志、密码哈希、命令、密钥模式、通道模式(在 6.2 版中添加)和选择器(在 7.0 版中添加)。 如果向用户添加更多元数据,将来可能会返回其他信息。
命令规则始终以与ACL SETUSER
命令。
在 7.0 版本之前,键和通道以 patterns 数组的形式返回,但是在版本 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 回复:如果用户不存在。
RESP3 回复
以下选项之一:
历史
- 从 Redis 版本 6.2.0 开始:添加了 Pub/Sub 通道模式。
- 从 Redis 版本 7.0.0 开始:添加了选择器,并将键和通道模式的格式从列表更改为其规则表示形式。