In mongo 2.4.x, supporta un nuovo modo di create user in admin database, ho pensato che l'utente creato con userAdminAnyDatabase ruolo dovrebbe essere in grado di accedere a tutti gli altri dati destra?non accedere ad altre DBS per gli utilizzatori che hanno creato come "userAdminAnyDatabase" ruolo
db.addUser({user:"u", pwd:"p", roles:["userAdminAnyDatabase"]})
Tuttavia, non può seguire il documento.
Quando ho creato un utente nello stile 2.2.x, Funziona.
db.addUser("u","p")
La mia domanda è stata se ho sbagliato le operazioni? Se voglio creare un utente che può accedere a tutti i dbs usando la sintassi 2.4.x, qual è il modo corretto? Sono necessarie altre opzioni?
Grazie.
Ecco i dettagli shell code:
➜ mgo ✗ mongo
MongoDB shell version: 2.4.5
connecting to: test
> use admin
switched to db admin
> db.addUser({user: "u", pwd: "p", roles:["userAdminAnyDatabase"]})
{
"user" : "u",
"pwd" : "d4198ee555320fa5c048da6d6da440d8",
"roles" : [
"userAdminAnyDatabase"
],
"_id" : ObjectId("51dc20f0282f72950455b62e")
}
> db.auth(
Display all 170 possibilities? (y or n)
> db.auth("u","p")
1
> ^C
bye
➜ mgo ✗ mongo admin -u u -p p
MongoDB shell version: 2.4.5
connecting to: admin
> show dbs
Tue Jul 9 22:44:47.959 JavaScript execution failed: listDatabases failed:{ "ok" : 0, "errmsg" : "unauthorized" } at src/mongo/shell/mongo.js:L46
> use admin
switched to db admin
> db.addUser("uncle", "peter")
{
"user" : "uncle",
"readOnly" : false,
"pwd" : "e42842e07c4fc324e9724d6aa41f6411",
"_id" : ObjectId("51dc22456642fa58413adffc")
}
> db.auth("uncle", "peter")
1
> ^C
bye
➜ mgo ✗ mongo admin -u uncle -p peter
MongoDB shell version: 2.4.5
connecting to: admin
> show dbs
admi (empty)
admin 0.203125GB
local 0.078125GB
qortex_global 0.203125GB
qortexprod 0.203125GB
test (empty)
>
Ciao, @Derick, funziona. ma spero ancora che l'utente creato non solo possa elencare tutti gli altri dbs, ma può anche avere il permesso di lettura/scrittura. Hai bisogno di altri ruoli? – yeer
Sì, per la lettura/scrittura è necessario il ruolo "readWrite". – Derick
grazie, molto utile – yeer