Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Configurar permisos de usuarios no root

Para mantener la seguridad de la base de datos, puedes limitar los privilegios de los usuarios autorizados que no sean root, permitiéndoles realizar operaciones administrativas sin concederles todos los privilegios de root.

Esta página demuestra cómo permitir que usuarios no root inicien, detengan y reinicien mongod procesos en sistemas Linux, sin permitirles acceso a todos los privilegios del usuario root. Este procedimiento se aplica a los usuarios que pertenecen a un grupo Linux no-root, distinto del grupo bajo el cual se ejecuta el proceso mongod.

Instalar MongoDB Community or MongoDB Enterprise.

Importante

El siguiente procedimiento requiere acceso root para la configuración. Una configuración incorrecta puede provocar un sistema que no responda, así que siempre hay que probarla en un entorno de desarrollo antes de implementarla en producción. Asegúrate de tener una copia de seguridad actual de tus datos.

  • Recomendamos realizar este procedimiento al configurar un sistema nuevo. Si esto no es posible, realiza el procedimiento durante el periodo de mantenimiento.

  • Este procedimiento afecta solo a la configuración de un sistema local. Si utiliza un set de réplicas o un clúster, realice este procedimiento de forma escalonada. No actualice todos sus nodos a la vez.

  • Este procedimiento funciona con todas las distribuciones Linux, pero solo se ha probado con CentOS 6/7, RHEL 6/7, Ubuntu 18.04 y Amazon Linux 2.

Selecciona la pestaña para tu proveedor de sistemas a continuación.

Este procedimiento funciona en CentOS 7 y RHEL 7.

1
adduser <user-name>
groupadd <group-name>
2

Utilice los siguientes comandos para actualizar los permisos en el archivo de configuración, que se encuentra en /etc/mongod.conf:

sudo chown mongod:mongod /etc/mongod.conf
sudo chmod 600 /etc/mongod.conf
ls -l /etc/mongod.conf
-rw-------. 1 mongod mongod 330 Feb 27 18:43 /etc/mongod.conf

Esta configuración garantiza que solo el usuario mongod y la raíz tengan permisos para acceder y editar el archivo mongod.conf.

3

Agregue las siguientes líneas de configuración al sudoers archivo con visudo:

%mongod ALL =(ALL) NOPASSWD: /bin/systemctl start mongod.service, /bin/systemctl stop mongod.service, /bin/systemctl restart mongod.service
%testuser ALL =(ALL) NOPASSWD: /bin/systemctl start mongod.service, /bin/systemctl stop mongod.service, /bin/systemctl restart mongod.service

Nota

Un error de sintaxis en el archivo sudoers puede afectar la funcionalidad de la cuenta de usuario root.

4

Su nuevo usuario ahora puede iniciar y detener el servicio mongod, pero no puede leer el archivo /etc/mongod.conf.

Haga que su nuevo usuario ejecute el siguiente comando para iniciar mongod y confirme que no recibe un mensaje [Permission Denied]:

sudo /bin/systemctl start mongod.service

Pueden ejecutar una prueba similar usando sudo /bin/systemctl stop mongod.service para garantizar que pueden detener el servicio mongod sin errores.

Ahora, haz que ejecuten el siguiente comando para intentar acceder al archivo /etc/mongod.conf:

sudo vi /etc/mongod.conf

Este comando debería devolver un mensaje [Permission Denied].

Este procedimiento funciona para CentOS 6, RHEL 6, Amazon Linux 2 y Ubuntu 18.04.

1
adduser <user-name>
groupadd <group-name>
2

Utilice los siguientes comandos para actualizar los permisos en el archivo de configuración, que se encuentra en /etc/mongod.conf:

sudo chown mongod:mongod /etc/mongod.conf
sudo chmod 600 /etc/mongod.conf
ls -l /etc/mongod.conf
-rw-------. 1 mongod mongod 330 Feb 27 18:43 /etc/mongod.conf

Esta configuración garantiza que solo el usuario mongod y la raíz tengan permisos para acceder y editar el archivo mongod.conf.

3

Agrega las siguientes líneas de configuración al archivo sudoers usando visudo.

Para CentOS 6, RHEL 6 y Amazon Linux 2:

%mongod ALL =(ALL) NOPASSWD: /sbin/service mongod start, /sbin/service mongod stop, /sbin/service mongod restart
%testuser ALL =(ALL) NOPASSWD: /sbin/service mongod start, /sbin/service mongod stop, /sbin/service mongod restart

For Ubuntu 18.04:

%mongod ALL =(ALL) NOPASSWD: /usr/sbin/service mongod start, /usr/sbin/service mongod stop, /usr/sbin/service mongod restart
%testuser ALL =(ALL) NOPASSWD: /usr/sbin/service mongod start, /usr/sbin/service mongod stop, /usr/sbin/service mongod restart

Nota

Un error de sintaxis en el archivo sudoers puede afectar la funcionalidad de la cuenta de usuario root.

4

Su nuevo usuario ahora puede iniciar y detener el servicio mongod, pero no puede leer el archivo /etc/mongod.conf.

Pide a tu nuevo usuario que ejecute los siguientes comandos para iniciar mongod:

sudo service mongod start

Asegúrese de que reciban la siguiente confirmación en el shell:

Starting mongod: [ OK ]

Pueden ejecutar una prueba similar usando sudo service mongod stop para garantizar que pueden detener el servicio mongod sin errores.

Ahora, haz que ejecuten el siguiente comando para intentar acceder al archivo /etc/mongod.conf:

sudo vi /etc/mongod.conf

Este comando debería devolver un mensaje [Permission Denied].

Volver

Acciones de privilegio

En esta página