Tengo un problema con los permisos en un servidor Linux. Estoy acostumbrado a BSD. Cuando un directorio es propiedad de un grupo, el usuario que lo posee no pertenece a www-data, los archivos creados en él serán propiedad de ese grupo. Esto es importante porque quiero que el servidor web pueda leer los archivos (que no ejecutaré como root), pero para que el usuario pueda poner nuevos archivos en el directorio. No puedo poner a los usuarios en www-data porque luego pueden leer los sitios web de todos los demás usuarios.
Quiero que el servidor web lea todos los sitios web, quiero que los usuarios puedan cambiar los suyos.
Los permisos se establecen así en las carpetas en este momento ...
drwxr-x--- 3 john www-data 4096 Feb 17 21:27 john
Es un comportamiento estándar en BSD que los permisos funcionen de esta manera. ¿Cómo consigo que Linux haga esto?
fuente
Respuestas:
Parece que está describiendo la funcionalidad de bit setgid donde, cuando un directorio que lo tiene configurado, forzará a los archivos nuevos creados dentro de él a tener su grupo configurado en el mismo grupo que está configurado en el directorio padre.
Ejemplo
configurar un directorio con permisos + propiedades
toca un archivo como saml en este directorio
Esto le dará aproximadamente lo que parece que desea. Sin embargo, si realmente desea exactamente lo que ha descrito, creo que tendrá que recurrir a la funcionalidad de listas de control de acceso para obtener eso (ACL).
ACL
Si desea obtener un poco más de control sobre los permisos en los archivos que se crean en el directorio,
somedir
puede agregar la siguiente regla de ACL para establecer los permisos predeterminados de esta manera.antes de
establecer permisos
Observe que
+
al final, eso significa que este directorio tiene ACL aplicadas.después
Observe con los permisos predeterminados (
setfacl -Rdm
) configurados para que los permisos sean (r-x
) por defecto (g:apache:rx
). Esto obliga a que los archivos nuevos solo tenganr
habilitado su bit.fuente
unzip
?unzip
. Específicamente el-X
interruptor.TL: DR; para hacer que los nuevos archivos hereden el grupo de la carpeta del contenedor, haga lo siguiente:
Nota: está implícito en la respuesta aceptada, esto es solo un fragmento.
fuente
Como complemento a la respuesta de slm, tenga en cuenta que, en un sistema de archivos ext2 / 3/4, puede replicar el comportamiento BSD que describe utilizando la
bsdgroups
opción de montaje en la partición. Desde lamount(1)
página del manual:fuente