Necesito archivos creados por apache2 para tener umask 002
, es decir, grupo rw, por defecto.
Intenté poner umask 002
/ etc / apache2 / envvars y, aunque este script se ejecuta como parte del inicio de apache ( apache2ctl graceful
), el umask no tiene ningún efecto. Presumiblemente en algún lugar más adelante en el proceso de inicio (p. Ej., Cuando el usuario está degradado de root
a www-data
) hay un lugar mejor para poner esto.
He leído publicaciones sobre Fedora y una que sugiere poner umask /etc/init.d/apache2
pero ninguno de estos aplica / funciona en Debian (Squeeze).
¿Puede usted ayudar?
apache-2.2
umask
artfulrobot
fuente
fuente
drush cc all
como mi usuario porque da error en todos estos archivos de caché creados con www-data.Respuestas:
Para asegurarse de que la configuración de umask surta efecto, utilice una prueba simple y no utilice ninguna otra aplicación web para esto. Es posible que estas aplicaciones cambien los derechos independientemente de la configuración de umask de Apache.
Script PHP de prueba simple:
Tenga cuidado de que el usuario www-data tenga acceso de escritura a la carpeta donde instaló este archivo de prueba simple.
Para ejecutar la nueva umask, verifique si el archivo / etc / apache2 / envvars se usará dentro de su archivo de inicio de Apache /etc/init.d/apache2:
Configure su umask en / etc / apache2 / envvars:
Reinicia tu Apache:
Comprueba la diferencia:
fuente
Si ejecuta varios sitios, puede establecer permisos de grupo predeterminados usando las Listas de control de acceso (ACL) por directorio de la siguiente manera:
Establezca el
setid
indicador para forzar que todos los archivos nuevos hereden el grupo del directorio:Crear nuevos archivos
rw
para los permisos de grupo, ej. para quewww-data
pueda escribir en archivos SFTPed por el usuario de carga:Confirme que la ACL es así:
Cree un archivo para confirmar que funcionó:
fuente
setfacl --default --modify group:rwx wordpress
le faltan dos puntos. Debería sersetfacl --default --modify group::rwx wordpress
(Para Debian Stretch que usa systemd - ¡Gracias womble!)
Coloque
UMask=0002
el archivo de la unidad de servicio systemche Apache2, vuelva a cargar la unidad de servicio y luego reinicie Apache2.fuente