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.service
y agregue la líneaUMask=0002
dentro 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.service
ya que la opción deedit
se introdujo ensystemctl
versión 218, pero Debian 8 se envía con la versión 215. - Agregar el archivo
*.conf
como 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-fpm
y agregando--umask 0002
a la llamadastart-stop-daemon
, pero fue ignorado; - agregando
umask 0002
a/var/www/.profile
como/var/www
es un directorio de inicio para el usuario dewww-data
, pero no ayudó (no me sorprende). - No estoy usando
upstart
así 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
.