with users superuser mongo delete create mongodb permissions user database nosql

users - mongodb create user administrator



Crear superusuario en mongo (2)

Intento crear un usuario en mongo que pueda hacer cualquier cosa en cualquier db.

De acuerdo con la guía, creé un nuevo administrador: http://docs.mongodb.org/manual/tutorial/add-user-administrator

Este es el código:

use admin db.addUser( { user: "try1", pwd: "hello, roles: [ "userAdminAnyDatabase" ] } )

Luego detuve mongo, habilité la autenticación y reinicié mongo.

Luego traté de crear una base de datos con su usuario.

De acuerdo con esta guía: http://www.mkyong.com/mongodb/how-to-create-database-or-collection-in-mongodb/

use fragola db.users.save( {username:"fragolino"} )

Y entiendo esto: "no está autorizado para insertar en fragola.users"

¿Alguien puede ayudarme?


El rol userAdminAnyDatabase le da al usuario la capacidad de crear usuarios y asignarles roles arbitrarios. Debido a esto, ese usuario tiene el poder de hacer cualquier cosa en la base de datos, ya que puede dar cualquier permiso a alguien (incluido él mismo).

Sin embargo, el rol userAdminAnyDatabase por sí solo no permite al usuario hacer nada más que asignar derechos arbitrarios a usuarios arbitrarios. Para hacer algo en la base de datos, ese usuario debe tener los siguientes roles adicionales:

readWriteAnyDatabase dbAdminAnyDatabase clusterAdmin

Un usuario que tiene los tres derechos anteriores y userAdminAnyDatabase es un verdadero superusuario y puede hacer cualquier cosa.


de docs.mongodb.org-superuser-roles

Vamos a escribir una respuesta que parece simple y también simple de implementar

Pasos:

1: sudo apt-get install mongodb-org - en la nueva terminal

2: sudo mongod --port 27017 --dbpath /var/lib/mongodb

3: mongo --port 27017 - en la nueva terminal

4: use admin

5: como @drmirror dijo que un usuario debería tener los 4 roles para ser superusuario

Para la versión 2 de Mongo

db.createUser( { user: "tom", pwd: "jerry", roles: [ { role: "userAdminAnyDatabase", db: "admin" }, { role: "readWriteAnyDatabase", db: "admin" }, { role: "dbAdminAnyDatabase", db: "admin" }, { role: "clusterAdmin", db: "admin" } ] })

Para Mongo versión 3.

db.createUser( { user: "tom", pwd: "jerry", roles:["root"] })

6: sudo /etc/init.d/mongod stop O sudo service mongod stop - en terminal nuevo

7: sudo /etc/init.d/mongod start O sudo service mongod start

8: restart your pc

9: sudo mongod --auth --port 27017 --dbpath /var/lib/mongodb - en la nueva terminal

10: mongo --port 27017 -u "tom" -p "jerry" --authenticationDatabase "admin" - en la nueva terminal

Nota : el paso 10 es el paso más importante.

dará Salida en terminal como

MongoDB shell version: 2.6.11 connecting to: 127.0.0.1:27017/test >