por - ¿Cómo configurar umask para php5-fpm en Debian?
umask 007 linux (1)
Pude configurar umask para el servicio php5-fpm editando su archivo unit.service como se sugiere aquí y aquí . La solución completa y funcional para Debian 8 es esta:
- Edite manualmente el archivo
/etc/systemd/system/multi-user.target.wants/php5-fpm.servicey agregue la líneaUMask=0002dentro de la sección[Service]. - Ejecutar el comando
systemctl daemon-reload - Ejecute el comando
systemctl restart php5-fpm.service
Ahora el archivo de servicio se ve así:
[Unit]
Description = The PHP FastCGI Process Manager
After = network.target
[Service]
Type = notify
PIDFile = /var/run/php5-fpm.pid
ExecStartPre = /usr/lib/php5/php5-fpm-checkconf
ExecStart = /usr/sbin/php5-fpm --nodaemonize --fpm-config /etc/php5/fpm/php-fpm.conf
ExecReload = /bin/kill -USR2 $MAINPID
; Added to set umask for files created by PHP
UMask = 0002
[Install]
WantedBy = multi-user.target
Tenga en cuenta que:
- No se puede usar el
systemctl edit php5-fpm.serviceya que la opción deeditse introdujo ensystemctlversión 218, pero Debian 8 se envía con la versión 215. - Agregar el archivo
*.confcomo se sugiere en los comentarios para esta respuesta no funcionó para mí, pero tal vez me equivoqué (los comentarios son bienvenidos porque el archivo de la unidad de edición no es algo con lo que me sienta cómodo).
Estoy ejecutando php5-fpm con nginx conectado a través del puerto (no del socket). Es una acción de Debian Jessie con todos los paquetes instalados a través de apt-get .
Estoy tratando de cambiar umask predeterminado para el usuario de www-data que php5-fpm está usando de 0022 a 0002 para permitir permisos de escritura grupales. He intentado:
- editando el script de inicio
/etc/init.d/php5-fpmy agregando--umask 0002a la llamadastart-stop-daemon, pero fue ignorado; - agregando
umask 0002a/var/www/.profilecomo/var/wwwes un directorio de inicio para el usuario dewww-data, pero no ayudó (no me sorprende). - No estoy usando
upstartasí que esta solución no es para mí.
Además, no importa lo que haya intentado, el comando sudo -u www-data bash -c umask siempre devuelve 0022 .