On this page
usersInfo
在本页面
Definition
usersInfo
- 返回有关一个或多个用户的信息。要匹配数据库上的单个用户,请使用以下形式:
{ usersInfo: { user: <name>, db: <db> },
showCredentials: <Boolean>,
showPrivileges: <Boolean>,
showAuthenticationRestrictions: <Boolean>
}
该命令具有以下字段:
Field | Type | Description |
---|---|---|
usersInfo |
various | 要向谁返回信息的用户。有关类型和语法,请参见Behavior。 |
showCredentials |
boolean | 可选的。将字段设置为 true 以显示用户的密码哈希。默认情况下,此字段为false 。 |
showPrivileges |
boolean | 可选的。将字段设置为 true 以显示用户的完整特权集,包括继承角色的扩展信息。默认情况下,此字段为false 。如果查看所有用户,则不能指定此字段。 |
showAuthenticationRestrictions |
boolean | 可选的。将字段设置为 true 以显示用户的身份验证限制。默认情况下,此字段为false 。如果查看所有用户,则不能指定此字段。 |
Required Access
用户始终可以查看自己的信息。
要查看另一个用户的信息,运行该命令的用户必须具有包括对该另一个用户的数据库执行viewUser操作的特权。
Behavior
usersInfo命令的参数根据请求的信息具有多种形式:
指定一个用户
在usersInfo
字段中,指定包含用户名和数据库的文档:
{ usersInfo: { user: <name>, db: <db> } }
或者,对于在运行命令的同一数据库中存在的用户,可以仅通过其名称指定该用户。
{ usersInfo: <name> }
指定多个用户
在usersInfo
字段中,指定一组文档:
{ usersInfo: [ { user: <name>, db: <db> }, { user: <name>, db: <db> }, ... ] }
指定数据库的所有用户
在usersInfo
字段中,指定1
:
{ usersInfo: 1 }
{
"users" : [
{
"_id" : "<db>.<username>",
"userId" : <UUID>, // Starting in MongoDB 3.6.13
"user" : "<username>",
"db" : "<db>",
"customData" : <document>,
"roles" : [ ... ],
"credentials": { ... }, // only if showCredentials: true
},
...
],
"ok" : 1
}
Examples
查看特定用户
要查看在"home"
数据库中定义的用户"Kari"
的信息和特权,而不是凭据,请运行以下命令:
db.runCommand( {
usersInfo: { user: "Kari", db: "home" },
showPrivileges: true
} )
要查看* current *数据库中存在的用户,您只能按名称指定该用户。例如,如果您位于home
数据库中,而home
数据库中存在一个名为"Kari"
的用户,则可以运行以下命令:
db.getSiblingDB("home").runCommand(
{
usersInfo: "Kari",
showPrivileges: true
}
)
查看多个用户
要查看多个用户的信息,请使用带有或不带有可选字段showPrivileges
和showCredentials
的数组。例如:
db.runCommand( {
usersInfo: [ { user: "Kari", db: "home" }, { user: "Li", db: "myApp" } ],
showPrivileges: true
} )
查看数据库的所有用户
要查看数据库中运行命令的所有用户,请使用类似于以下内容的命令文档:
db.runCommand( { usersInfo: 1 } )
查看所有用户时,您可以指定showCredentials
字段,但不能指定showPrivileges
字段。