Saltar al contenido principal.

Creamos usuarios para el servidor web.



¿Parecería que podría ser más fácil que agregar un usuario al servidor? adduser comando adduser en la consola, respondí un par de preguntas sobre la contraseña y otra información, y aquí, puede iniciar sesión con el nombre de usuario y la contraseña recibidos, colocar archivos, etc.

Entonces, manualmente, tienes que crear carpetas. Por ejemplo, uno para el sitio. El otro es para archivos temporales, para no colocarlos en general / tmp con fines de protección. Una más - para sesiones si el almacenamiento en caché en Redis no está configurado. También debe copiar los archivos de configuración necesarios, como la clave pública ssh para la autenticación .



Todo esto no es un proceso demasiado conveniente cuando los usuarios tienen que crear con frecuencia, si no constantemente. Afortunadamente, podemos personalizar mucho, incluidos los parámetros principales durante la creación (la ubicación de la carpeta de inicio, un grupo) y los secundarios: las carpetas necesarias, los archivos de configuración.

La configuración inicial, determinada por el comando adduser , se toma del archivo /etc/adduser.conf.

Cambiar carpeta de inicio



Inicialmente, las carpetas de inicio de todos los usuarios se encuentran en la sección / inicio. Pero podemos anular la ubicación de antemano utilizando cualquier otra carpeta, por ejemplo / var / www. Para ello, edite el parámetro DHOME .

  DHOME = / var / www 

Preste atención al parámetro SKEL=/etc/skel . Determina desde dónde se copiarán los archivos y carpetas de configuración para cada usuario. Seguramente vio archivos .profile , .bashrc en las carpetas de los usuarios de su servidor. Sólo se copian de esta fuente. :)

Agregar usuarios a un solo grupo



Con los parámetros predeterminados, se crea un grupo separado del mismo nombre para cada usuario. Pero para un servidor web, puede agregar diferentes usuarios al mismo grupo para administrar mejor su política de seguridad.

Cuando se crea un usuario para alojar sitios, el derecho de editar / eliminar archivos debe pertenecerle solo a él. El servidor web, ya sea nginx o apache, debe iniciarse en nombre de otro usuario que solo puede leer archivos. Otros usuarios no deben tener ningún derecho.

Agregando a todos los usuarios en un grupo, nosotros, entonces, podemos establecer permisos para este grupo solo para leer. Y ejecute el servidor web en nombre de este grupo. Es mejor que agregar un usuario de servidor web a los grupos de usuarios donde se ubican los sitios.

El grupo general será el grupo de usuarios www-data . Está especialmente creado para lanzar servidores web, tiene los derechos más limitados y no puede usar el shell.

En el archivo adduser.conf, primero debemos deshabilitar la creación del grupo del mismo nombre al crear un usuario.

  USERGROUPS = no 

Y luego indique la ID del grupo www-data.

  USERS_GID = 33 

Como regla general, el identificador es 33. Pero debe verificar dos veces con un comando ejecutado como root: id www-data .

Y el último parámetro a cambiar en este archivo de configuración:

  DIR_MODE = 0710 

Define los derechos sobre el directorio de inicio del usuario / var / www / username . Aquí permitimos todas las acciones al propietario de los archivos, solo la ejecución para el grupo y no otorgamos ningún derecho a los demás.

Derechos para un usuario específico y archivos adicionales.

Ahora debemos continuar emitiendo los derechos correctos, pero dentro de un usuario. Para que al crear archivos y carpetas, se les asignen inmediatamente los derechos necesarios, edite el parámetro umask en los archivos .bashrc y .profile en consecuencia.

  umask 027 

Para las carpetas, estos derechos se interpretarán como 0750, lo que permite cualquier acción con archivos para el propietario, lectura y ejecución para el grupo.

Y para los archivos 0640: leer / modificar para el propietario y solo leer para el grupo. Recomiendo estudiar de forma independiente un artículo sobre derechos de acceso en Linux.

Además, no olvide en el directorio / etc / skel actualizar los derechos de los archivos y carpetas existentes con el comando chmod.

Finalmente, creamos carpetas adicionales: para sitios web, archivos temporales, sesiones, etc. El archivo authorized_keys con su clave pública para ssh debe estar ubicado en la carpeta .ssh del usuario. Como resultado, la estructura se verá así:

  / etc / skel
 -ssh /
   - teclas autorizadas
 -sesiones /
 -tmp /
 -www /
 -.bashrc
 -.perfil 

Todo esto se copiará en el directorio de inicio del usuario cuando se cree.



¿Cómo calificas el artículo?
Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (No hay valoraciones aún)
Cargando ...

Añadir un comentario

Su correo electrónico no será publicado.