Quiero crear una cuenta de usuario para cada uno de los programas clave instalados en mi servidor Debian. Por ejemplo, para los siguientes programas:
Supervisor de Tomcat Nginx PostgreSQL
Esto parece recomendado según mis lecturas en línea. Sin embargo, quiero restringir estas cuentas de usuario tanto como sea posible, para que no tengan un inicio de sesión de shell, no tengan acceso a otros programas y sean lo más limitadas posible pero aún funcionales.
¿A alguien le importaría decirme cómo se podría lograr esto? Mi lectura hasta ahora sugiere esto:
echo "/usr/sbin/nologin" >> /etc/shells useradd -s /usr/sbin/nologin tomcat
Pero creo que puede haber una forma más completa de hacerlo.
EDITAR: estoy usando Debian squeeze
Respuesta1
¿Qué distribución estás ejecutando? Las buenas distribuciones ya configuran sus scripts de instalación para dichos paquetes con el fin de crear usuarios específicos para demonios que pueden beneficiarse de la ejecución como un usuario independiente. Algunos paquetes comparten un usuario donde necesitan leer/escribir de forma cooperativa en varios archivos. Pero en todos los casos tienden a tener nologin
como shell de inicio de sesión, lo cual es apropiado.
Respuesta2
No sé si te ayudará o no, simplemente mira esto.
Quiero restringir estas cuentas de usuario tanto como sea posible,para que no tengan un inicio de sesión de shell
Para esto, antes de crear una cuenta de usuario, simplemente edite el /etc/default/useradd
archivo.
Este
1 # usuarioañadir archivo de valores predeterminados 2 GRUPO=100 3 INICIO=/hogar 4 INACTIVO=-1 5 EXPIRAR= 6 SHELL=/bin/bash 7 SKEL=/etc/skel 8 CREATE_MAIL_SPOOL=sí
A esto
1 # usuarioañadir archivo de valores predeterminados 2 GRUPO=100 3 INICIO=/hogar 4 INACTIVO=-1 5 EXPIRAR= 6 SHELL=/bin/nologin 7 SKEL=/etc/skel 8 CREATE_MAIL_SPOOL=sí
Después de cambiar esto, si crea una cuenta de usuario, para todas esas cuentas no es posible iniciar sesión en el sistema.
Eso es por esto
usuario:x:1017:1017::/home/usuario:/bin/no iniciar sesión-----> entrada del archivo /etc/passwd
mira aquí
[max@localhost ~]$ su - usuario Contraseña: su: /bin/nologin: No existe tal archivo o directorio [max@localhost ~]$
puede obtener esto editando /etc/passwd
el archivo directamente sin necesidad de editarlo/etc/default/useradd
archivo si los usuarios son menos
solo cambia el último archivo
Este
usuario:x:1017:1017::/home/usuario:/bin/bash
A esto
usuario:x:1017:1017::/home/usuario:/bin/nologin