
La pregunta es sobre las mejores prácticas, no un problema exacto.
¿Cuál es la propiedad y los permisos correctos para los directorios y archivos de sitios web estáticos? Voy a usar root:<server-group>
con permisos 640 para archivos y 750 para directorios. Por lo tanto, el servidor puede leer todo gracias a los permisos del grupo, pero el usuario normal no puede modificar los archivos de forma accidental o intencionada sin utilizar sudo explícitamente.
¿O tal vez hay una práctica mejor que desconozco? Mi enfoque parece un poco complicado.
Respuesta1
root no es necesario para evitar que los usuarios modifiquen los archivos de los que son responsables. Lo mismo se puede lograr otorgando propiedad a un usuario sin privilegios, como un usuario de servicio que sincroniza los archivos.
Lo ideal sería que no sea el usuario que ejecuta el servidor web, ni ninguna persona específica, solo algún usuario de automatización que realice transferencias de archivos. Las personas responsables del contenido almacenan los archivos en algún lugar de almacenamiento y, cuando están listas para implementar la transferencia de archivos, los copian en su lugar. No es necesario que la gente toque los servidores web de producción ni tampoco se necesitan privilegios especiales.
Propiedad de root, en caso de que sea necesario reestructurar o cambiar archivos, es posible que sea necesario que un administrador o un script automatizado se convierta en root. Lo cual es un privilegio muy alto, capaz de eliminar medidas de seguridad o dañar el host.
Claro, tiene sentido que los puntos de montaje o los paquetes de software sean propiedad del root, por lo que se necesitan privilegios para cambiar el sistema. Si, por ejemplo, el contenido de un sitio web está en /srv/www/example.net/, /srv/ y /srv/www/ podrían ser propiedad de root, y los sitios web como /srv/www/example.net/ propiedad de usuarios sin privilegios.