Debe seguir el principio del menor privilegio . El servidor (probablemente www-data
, pero deberá verificarlo) debe poder leer la mayoría de los archivos (digamos todos) y escribir solo en los registros. Los desarrolladores web pueden escribir donde lo necesiten. Establezca el bit adhesivo en los directorios para que solo el propietario de un archivo pueda eliminarlo.
En la práctica, debe crear un grupo (por ejemplo webdev
) y agregarle todos los desarrolladores y el servidor ( usermod -aG webdev <user>
o usermod -A webdev <user>
según su sabor de Linux). chown
todos los archivos y directorios para el usuario del servidor web, chmod todos los directorios a 500 y todos los archivos a 400 (excepto en bin
donde los ejecutables también deben ser 500).
Otorgue permisos de escritura /opt/tomcat
al grupo (que sería 570) y establezca el bit fijo para que puedan eliminar solo los archivos que poseen (chmod 1570). Otorgue al servidor permiso de escritura para los registros y lea los permisos para los desarrolladores (0740 para la carpeta, 0640 para los archivos, el bit adhesivo probablemente no sea necesario, y nunca lo otorgue a un archivo, solo a las carpetas, ya que tiene un significado diferente (ejecutar con los permisos del propietario cuando el archivo es ejecutable)).
Luego deberá otorgar permisos de escritura (1570) webdev
en algunos de los directorios. Necesitará alguna prueba y error aquí, y podría depender de la aplicación. Esas carpetas deben ser 1570, mientras que otras pueden ser 0500).
Los desarrolladores deberán otorgar acceso de lectura en sus archivos al grupo para que el servidor pueda leerlos (eso es 640) y también ejecutarlos en los directorios (eso es 750).