special por defecto configurar check change cambiar php nginx debian

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:

  1. Edite manualmente el archivo /etc/systemd/system/multi-user.target.wants/php5-fpm.service y agregue la línea UMask=0002 dentro de la sección [Service] .
  2. Ejecutar el comando systemctl daemon-reload
  3. 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:

  1. No se puede usar el systemctl edit php5-fpm.service ya que la opción de edit se introdujo en systemctl versión 218, pero Debian 8 se envía con la versión 215.
  2. 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 llamada start-stop-daemon , pero fue ignorado;
  • agregando umask 0002 a /var/www/.profile como /var/www es un directorio de inicio para el usuario de www-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 .