web-dev-qa-db-fra.com

Mongodb reçoit une erreur lors de la création d'un nouvel utilisateur

Je viens d'installer un nouveau Mongodb sur le serveur Ubuntu et quand j'essaie d'ajouter un utilisateur, je reçois une erreur

db.createUser(
  {
    user: "admin",
    pwd: "ADYkdfd332@@33",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  }
)


2018-07-03T13:29:41.556+0530 E QUERY    [thread1] Error: couldn't add user: Use of SCRAM-SHA-256 requires undigested passwords :
_getErrorWithCode@src/mongo/Shell/utils.js:25:13
DB.prototype.createUser@src/mongo/Shell/db.js:1437:15
@(Shell):1:1
6
Aman Bansal

Cela fonctionne pour moi:

db.createUser({  
 user:"test1",
 pwd:"test1",
 roles:[  
  {  
     role:"readWrite",
     db:"u8"
  }
 ],
 mechanisms:[  
  "SCRAM-SHA-1"
 ]
})
19
user9681090

Si vous utilisez Méthodes de gestion des utilisateurs vous devez définir param passwordDigestor.

 db.createUser(
  {
    user: "admin",
    pwd: "ADYkdfd332@@33",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ],
    passwordDigestor: "<server|client>"
  }
)
8
Dolynskiy Eduard

Go avec les commandes suivantes dans Mongo Shell:

use admin
db.createUser({
    user:"admin",
    pwd:"abc123",
    roles:[{role:"userAdminAnyDatabase",db:"admin"}],
    passwordDigestor:"server"
})

En outre, vous pouvez consulter activer l’authentification

5
Abhay Gawade

Voir la création de mot de passe SCRAM-SHA-256 avec digest ou undigest ici

db.createUser(
  {
    user: "admin",
    pwd: "ADYkdfd332@@33",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ],
    passwordDigestor : true //if version 4.0 else set it false
  }
)
1
Mohammad Raheem

J'utilise un sous-système Windows pour Linux avec Ubuntu et je reçois cette erreur. Il arrive parfois que Windows ne semble pas fermer mongod correctement sur exit. Vous devez donc Ctrl+Shift+Esc dans le gestionnaire de tâches et le fermer manuellement. 

En fait, chaque fois que le mongo semble faire quelque chose d'inhabituel, cela semble être le problème.

Puis lancez mongod. Dans un autre terminal, essayez d’ajouter votre utilisateur.

J'espère que ça aide quelqu'un.

0
luckyging3r