Aquí hay otra respuesta: no se puede conectar a MongoDB con la autenticación habilitada . Lo intenté pero todavía no puedo entender qué está mal por qué mi configuración.
Uso Ubuntu 14.04, Mongo 3.4.1 (último) instalado como servicio
Primero, después de la instalación, ejecuto este comando, al igual que su documentaciónaquí :
mongo --port 27017 use admin db.createUser({user: "adminUser",pwd: "abc123",roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]}) devuelve Successfully added user . Luego reconfiguro /etc/mongod.conf
storage: dbPath: /var/lib/mongodb journal: enabled: true systemLog: destination: file logAppend: true path: /var/log/mongodb/mongod.log net: port: 27017 bindIp: 127.0.0.1 security: authorization: enabled Guarde y reinicie el servidor mongod: sudo service mongod restart
intente conectarse con: mongo -u "adminUser" -p "abc123" --authenticationDatabase "admin"
que es exitoso, entonces si cambio a otra base de datos con el comando use testDatabase , no puedo realizar ninguna operación.
use testDatabase db.createCollection("people")resultados:
{ "ok" : 0, "errmsg" : "not authorized on testDatabase to execute command { create: \"people\" }", "code" : 13, "codeName" : "Unauthorized" }Aquí están los usuarios registrados en mi base de datos.
use admin db.system.users.find() { "_id" : "admin.adminUser", "user" : "adminUser", "db" : "admin", "credentials" : { "SCRAM-SHA-1" : {....} }, "roles" : [ { "role" : "userAdminAnyDatabase", "db" : "admin" } ] } Parece que el rol userAdminAnyDatabase ya no funciona o ¿hay algún problema con mi configuración?
Los roles UserAdmin y UserAdminAnyDatabase le permiten crear usuarios y roles en la base de datos.
Para las operaciones de lectura/lectura y escritura en la base de datos, debe crear un usuario con el rol de read /lectura y readWrite para esa base de datos.
Otra opción será agregar el rol al usuario actual que tiene.
Algo así por ejemplo.
use test db.createUser( { user: "myTester", pwd: "xyz123", roles: [ { role: "readWrite", db: "test" }, { role: "read", db: "reporting" } ] } )