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
>