¿Con qué usuario debo ejecutar servidores web, redis y mongodb?

8

En este VPS hay tres usuarios: root, another_one, nobody. Todos los archivos del servidor web, configuraciones, etc. son propiedad de root. Sin embargo, tengo dudas sobre lo que se refiere a ejecutar cosas. Si uso root para el servidor web, puedo exponer el sistema a agujeros de seguridad, mientras que si intento iniciar sesión nobodyme pide una contraseña que nunca configuré y no lo sé. ¿Debo crear otro usuario más?

Por ahora solo estoy seguro de nginx: lo ejecuto como root y genera procesos como nadie. Pero, ¿qué pasa con los servidores web y otros servicios como db y redis?

Nota: Debo mencionar que another_user puede sudo, por lo que no es tan diferente de root.

rubik
fuente

Respuestas:

9

Siempre ejecuto servicios con un usuario dedicado. Entonces crearía estos usuarios:

  • nginx
  • mongo
  • apache
  • mysql
  • redis

¡Nunca debe ejecutar los servicios reales como root!

A menudo, al instalar estas aplicaciones utilizando su administrador de paquetes de distribución, como parte de la instalación, se creará automáticamente un usuario para cada uno de estos servicios.

Normalmente uso CentOS / RHEL y cuando instalo cosas como Apache, el usuario "apache" se crea automáticamente en ese punto. Así también para MySQL y Nginx.

slm
fuente
¡Bien gracias! Sí, al instalar redis, por ejemplo, descubrí que también redisse creó un usuario. Seguiré este consejo, gracias.
rubik
¡Ahora estoy configurando cosas y con múltiples usuarios configurar permisos específicos es más fácil!
rubik
Me gusta este enfoque. Por curiosidad, ¿cuál es su estrategia para los grupos? ¿Tienes un grupo de servicios? ¿O mantiene un grupo separado para cada usuario del servicio?
Patrick M
@PatrickM - grupos separados. Los servicios deben estar separados tanto como sea posible entre sí.
slm