usersInfo

在本页面

Definition

{ 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
   }
)

查看多个用户

要查看多个用户的信息,请使用带有或不带有可选字段showPrivilegesshowCredentials的数组。例如:

db.runCommand( {
   usersInfo: [ { user: "Kari", db: "home" }, { user: "Li", db: "myApp" } ],
   showPrivileges: true
} )

查看数据库的所有用户

要查看数据库中运行命令的所有用户,请使用类似于以下内容的命令文档:

db.runCommand( { usersInfo: 1 } )

查看所有用户时,您可以指定showCredentials字段,但不能指定showPrivileges字段。

首页