Docs Menu
Docs Home
/ /
Usuarios de base de datos

Configurar permisos de usuarios no root

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

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

Instalar Comunidad MongoDB o MongoDB Enterprise.

Importante

El siguiente procedimiento requiere acceso root para la configuración. Una configuración incorrecta puede provocar que el sistema no responda, por lo que siempre debe probarlo en un entorno de desarrollo antes de implementarlo en producción. Asegúrese de tener una copia de seguridad actualizada de sus datos.

  • Le recomendamos que realice este procedimiento al configurar un sistema nuevo. Si no es posible, realice el procedimiento durante el período de mantenimiento.

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

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

Seleccione la pestaña correspondiente a su proveedor de sistema a continuación.

Este procedimiento funciona para 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 a los sudoersarchivo 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 raíz.

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 utilizando sudo /bin/systemctl stop mongod.service para asegurarse de que pueden detener el servicio mongod sin errores.

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

sudo vi /etc/mongod.conf

Este comando debe 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

Agregue las siguientes líneas de configuración al archivo sudoers con 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 raíz.

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 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 utilizando sudo service mongod stop para asegurarse de que pueden detener el servicio mongod sin errores.

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

sudo vi /etc/mongod.conf

Este comando debe devolver un mensaje [Permission Denied].

Volver

Acciones de privilegio

En esta página