Menu Docs
Página inicial do Docs
/
Manual do MongoDB
/ / /

usersInfo

Nesta página

  • Definição
  • usersInfo: <various>
  • Acesso necessário
  • Saída
  • Exemplos
usersInfo

Retorna informações sobre um ou mais usuários.

O comando usersInfo tem o seguinte formulário:

{
usersInfo: <various>,
showCredentials: <Boolean>,
showPrivileges: <Boolean>,
showAuthenticationRestrictions: <Boolean>,
filter: <document>,
comment: <any>
}

O comando tem os seguintes campos:

Campo
Tipo
Descrição
usersInfo
vários

O(s) usuário(s) sobre quem retornar informações.

O argumento para usersInfo tem vários formulários dependendo das informações solicitadas. Consulte usersInfo: <various>.

showCredentials
booleano
Opcional. Defina o campo como verdadeiro para exibir o hash da senha do usuário. Por padrão, este campo é false.
showPrivileges
booleano

Opcional. Defina como true para mostrar o conjunto completo de privilégios do usuário, incluindo informações expandidas para as funções herdadas.

Por padrão, este campo é false.

Se estiver visualizando todos os usuários, você não poderá especificar este campo.

showAuthenticationRestrictions
booleano

Opcional. Defina como true para mostrar as restrições de autenticação do usuário.

Por padrão, este campo é false.

Se estiver visualizando todos os usuários, você não poderá especificar este campo.

filter
documento
Opcional. Um documento que especifica $match condições de estágio para retornar informações para usuários que correspondem às condições de filtro.
comment
qualquer

Opcional. Um comentário fornecido pelo usuário para anexar a este comando. Depois de definido, esse comentário aparece junto com os registros desse comando nos seguintes locais:

Um comentário pode ser qualquer tipo BSON válido (string, inteiro, objeto, array etc).

{ usersInfo: <various> }

O argumento para usersInfo tem vários formatos dependendo das informações solicitadas:

Argumento
Devoluções
{ usersInfo: 1 }

Retorna informações sobre os usuários no banco de dados onde o comando é executado.

mongosh fornece o auxiliar db.getUsers() para esta invocação do comando.

{ usersInfo: <username> }

Retorne informações sobre um usuário específico que existe no banco de dados onde o comando é executado.

mongosh fornece o auxiliar db.getUser() para esta invocação do comando.

{ usersInfo: { user: <name>, db: <db> } }
Retorna informações sobre o usuário especificado pelo nome e banco de dados.
{ usersInfo: [ { user: <name>, db: <db> }, ... ] }
{ usersInfo: [ <username1>, ... ] }
Retorna informações sobre os usuários especificados.
{ forAllDBs: true }
Retorna informações sobre usuários em todos os bancos de dados.

Os usuários sempre podem ver suas próprias informações.

Para visualizar as informações de outro usuário, o usuário que executa o comando deve ter privilégios que incluam a ação viewUser no banco de dados do outro usuário.

As seguintes informações podem ser retornadas por usersInfo dependendo das opções especificadas:

{
"users" : [
{
"_id" : "<db>.<username>",
"userId" : <UUID>,
"user" : "<username>",
"db" : "<db>",
"mechanisms" : [ ... ],
"customData" : <document>,
"roles" : [ ... ],
"credentials": { ... }, // only if showCredentials: true
"inheritedRoles" : [ ... ], // only if showPrivileges: true or showAuthenticationRestrictions: true
"inheritedPrivileges" : [ ... ], // only if showPrivileges: true or showAuthenticationRestrictions: true
"inheritedAuthenticationRestrictions" : [ ] // only if showPrivileges: true or showAuthenticationRestrictions: true
"authenticationRestrictions" : [ ... ] // only if showAuthenticationRestrictions: true
},
...
],
"ok" : 1
}

Para visualizar informações e privilégios, mas não as credenciais, do usuário "Kari" definido no banco de dados do "home", execute o seguinte comando:

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

Para exibir um usuário que existe no banco de dados atual, você pode especificá-lo somente pelo nome. Por exemplo, se você estiver no banco de dados home e um usuário chamado "Kari" existir no banco de dados home, execute o seguinte comando:

db.getSiblingDB("home").runCommand(
{
usersInfo: "Kari",
showPrivileges: true
}
)

Para visualizar informações de vários usuários, utilize um array, com ou sem os campos opcionais showPrivileges e showCredentials. Por exemplo:

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

Para visualizar todos os usuários no banco de dados em que o comando é executado, use um documento de comando semelhante ao seguinte:

db.runCommand( { usersInfo: 1 } )

Ao visualizar todos os usuários, você pode especificar a opção showCredentials, mas não as opções showPrivileges ou showAuthenticationRestrictions.

O comando usersInfo pode aceitar um documento do filter para retornar informações para usuários que correspondem à condição de filtro.

Para visualizar todos os usuários no banco de dados atual que têm a função especificada, use um documento de comando semelhante ao seguinte:

db.runCommand( { usersInfo: 1, filter: { roles: { role: "root", db: "admin" } } } )

Ao visualizar todos os usuários, você pode especificar a opção showCredentials, mas não as opções showPrivileges ou showAuthenticationRestrictions.

O comando usersInfo pode aceitar um documento do filter para retornar informações para usuários que correspondem à condição de filtro.

A seguinte operação retorna todos os usuários que têm credenciais SCRAM-SHA-1. Especificamente, o comando retorna todos os usuários em todos os bancos de dados e depois utiliza o estágio $match para aplicar o filtro especificado aos usuários.

db.runCommand( { usersInfo: { forAllDBs: true}, filter: { mechanisms: "SCRAM-SHA-1" } } )

Ao visualizar todos os usuários, você pode especificar a opção showCredentials, mas não as opções showPrivileges ou showAuthenticationRestrictions.

Voltar

updateUser

Próximo

Gerenciamento de funções