J'essaie d'ajouter une autorisation à mon MongoDB.
Je fais tout cela sous Linux avec MongoDB 2.6.1.
Mon fichier mongod.conf est dans l'ancien format de compatibilité
(c'est ainsi qu'il est venu avec l'installation).
1) J'ai créé un utilisateur administrateur comme décrit ici dans (3)
http://docs.mongodb.org/manual/tutorial/add-user-administrator/
2) J'ai ensuite édité mongod.conf en décommentant cette ligne
auth = true
3) Enfin, j'ai redémarré le service mongod et j'ai essayé de me connecter avec:
/usr/bin/mongo localhost:27017/admin -u sa -p pwd
4) Je peux me connecter mais cela est dit lors de la connexion.
MongoDB shell version: 2.6.1
connecting to: localhost:27017/admin
Welcome to the MongoDB shell!
The current date/time is: Thu May 29 2014 17:47:16 GMT-0400 (EDT)
Error while trying to show server startup warnings: not authorized on admin to execute command { getLog: "startupWarnings" }
5) Il semble maintenant que cet sa
utilisateur que j'ai créé ne dispose d'aucune autorisation.
root@test02:~# mc
MongoDB shell version: 2.6.1
connecting to: localhost:27017/admin
Welcome to the MongoDB shell!
The current date/time is: Thu May 29 2014 17:57:03 GMT-0400 (EDT)
Error while trying to show server startup warnings: not authorized on admin to execute command { getLog: "startupWarnings" }
[admin] 2014-05-29 17:57:03.011 >>> use admin
switched to db admin
[admin] 2014-05-29 17:57:07.889 >>> show collections
2014-05-29T17:57:10.377-0400 error: {
"$err" : "not authorized for query on admin.system.namespaces",
"code" : 13
} at src/mongo/shell/query.js:131
[admin] 2014-05-29 17:57:10.378 >>> use test
switched to db test
[test] 2014-05-29 17:57:13.466 >>> show collections
2014-05-29T17:57:15.930-0400 error: {
"$err" : "not authorized for query on test.system.namespaces",
"code" : 13
} at src/mongo/shell/query.js:131
[test] 2014-05-29 17:57:15.931 >>>
Quel est le problème? J'ai répété toute cette procédure 3 fois et
je pense que j'ai tout fait comme spécifié dans les documents MongoDB. Mais ça ne marche pas.
Je m'attendais à ce que cet sa
utilisateur soit autorisé à faire quoi que ce soit afin
qu'il puisse ensuite créer d'autres utilisateurs et leur donner des autorisations plus spécifiques.