que - mongodb español
MongoDB, ¿cuáles son el usuario y la contraseña predeterminados? (3)
Además de lo que @Camilo Silva ya mencionó, si desea dar acceso gratuito para crear bases de datos, leer, escribir bases de datos, etc., pero no desea crear una función raíz, puede cambiar el tercer paso con lo siguiente:
use admin
db.createUser(
{
user: "myUserAdmin",
pwd: "abc123",
roles: [ { role: "userAdminAnyDatabase", db: "admin" },
{ role: "dbAdminAnyDatabase", db: "admin" },
{ role: "readWriteAnyDatabase", db: "admin" } ]
}
)
Estoy usando la misma cadena de conexión en local y producción.
Cuando la cadena de conexión es
mongodb://localhost/mydb
¿Cuál es el nombre de usuario y contraseña? ¿Es seguro mantenerlo así?
Para MongoDB anterior a 2.6, el comando para agregar un usuario root es
addUser
(por ejemplo)
db.addUser({user:''admin'',pwd:''<password>'',roles:["root"]})
Por defecto, mongodb no tiene habilitado el control de acceso, por lo que no hay usuario o contraseña predeterminados.
Para habilitar el control de acceso, use la opción de línea de comando
--auth
o security.authorization configuración del archivo de configuración.
Puede utilizar el siguiente procedimiento o consultar Habilitar autenticación en los documentos de MongoDB.
Procedimiento
-
Inicie MongoDB sin control de acceso.
mongod --port 27017 --dbpath /data/db1
-
Conéctese a la instancia.
mongo --port 27017
-
Crea el administrador del usuario.
use admin db.createUser( { user: "myUserAdmin", pwd: "abc123", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] } )
-
Reinicie la instancia de MongoDB con control de acceso.
mongod --auth --port 27017 --dbpath /data/db1
-
Autentíquese como administrador del usuario.
mongo --port 27017 -u "myUserAdmin" -p "abc123" / --authenticationDatabase "admin"