Erreur: impossible d'ajouter un utilisateur: non autorisé sur le test d'exécuter la commande { createUser:
Je commence avec MongoDB et je tiens à en user/pass d'accès à la dbs.
La première chose que j'ai faite a été de créer et d'utilisateur admin et commencer à mongodb avec auth activer, c'est mon utilisateur créé:
db.getUser("admin")
{
"_id" : "admin.admin",
"user" : "admin",
"db" : "admin",
"roles" : [
{
"role" : "dbAdminAnyDatabase",
"db" : "admin"
},
{
"role" : "clusterAdmin",
"db" : "admin"
}
] }
}
Après, j'ai essayer de créer des utilisateurs avec les commandes suivantes:
use newdb
db.createUser(
{
user: "newuser",
pwd: "12345678",
roles: [ { role: "readWrite", db: "newdb" } ]
}
)
Mais j'ai eu cette erreur:
Erreur: impossible d'ajouter un utilisateur: non autorisé sur newdb d'exécuter la commande {
createUser: "newuser", pwd: "xxx", les rôles: [ { rôle: "readWrite", db:
"newdb" } ], digestPassword: false, writeConcern: { w: "la majorité",
wtimeout: 30000.0 } } dans le dossier src/mongo/shell/db.js:1004
J'ai googlé ce sujet, mais il y a seulement deux résultats, l'un Chinois et l'autre non liées, donc je suis un peu perdu. Une idée ? Il semble que mon utilisateur admin n'a pas de privilège, j'ai accès à la mongodb avec la commande suivante:
$mongo --port 27017 -u adminUser -p adminPass --authenticationDatabase admin
Merci d'avance.
userAdmin
/userAdminAnyDatabase
rôle de l'utilisateur admin. dbAdminAnyDatabase
et clusterAdmin
ne comprennent pas l'utilisateur de la gestion des privilèges.C'était le problème. Eh bien, c'était ma première rencontre avec mongodb 🙂 Merci beaucoup!
OriginalL'auteur brb | 2015-01-05
Vous devez vous connecter pour publier un commentaire.
Arrêt de l'instance en cours d'exécution de mongod
mongod --config /usr/local/etc/mongod.conf --auth
puis démarrer sans
--auth
commemongod --config /usr/local/etc/mongod.conf
alors mettre à jour vos rôles comme
Maintenant une fois de plus, mongod avec
--auth
et essayer.L'idée est que vous devez créer un utilisateur sous "admin" de la base de données avec tous les RÔLES mentionnés ci-dessus.
Mais cet utilisateur n'est pas partie à d'autres bases de données. Donc, une fois que vous avez créé l'utilisateur admin,
puis connectez-vous en tant qu'utilisateur admin,
à nouveau de créer un nouvel utilisateur (disons APP_USER) pour ce APPLICATION_DB. Cette fois, pour cette application utilisateur, vous avez besoin seulement "dbOwner" le rôle.
Maintenant votre application doit utiliser cette APP_USER et APP_DB.
OriginalL'auteur Kanagavelu Sugumar
Commande ci-dessous en dit, vous avez créé d'utilisateur admin et le mot de passe.
Une fois que vous créez l'utilisateur admin et le mot de passe, Mongo ne vous permettra pas de faire une quelconque mise à jour du schéma normal d'un utilisateur admin qui vous avez utilisé pour vous connecter précédemment.
Utilisation nouvellement créé d'utilisateur admin et le mot de passe pour créer de nouveaux utilisateurs ou de faire toute les mises à jour. Il devrait fonctionner.
OriginalL'auteur Adithya
Vous devez quitter la mongod processus et de le redémarrer à nouveau sans parammeter --auth.
Sur le type de Terminal: mongod
Après le processus de mongod est commencé, alors vous peut ouvrir un nouvel onglet terminal pour exécuter mongo commande shell :
il doit être fait avec succès....
"roles" : [ { "role" : "readWriteAnyDatabase", "db" : "admin" }, { "role" : "dbAdminAnyDatabase", "db" : "admin" }, { "role" : "userAdminAnyDatabase", "db" : "admin" } ]
OriginalL'auteur Toan Le