2016-03-07 8 views
8

Używam php5-fpm z podłączonym przez port (nie gniazdo). To jest właśnie Debian Jessie ze wszystkimi pakietami zainstalowanymi przez apt-get.Jak ustawić umask dla php5-fpm na Debianie?

Próbuję zmienić domyślną wartość umask dla użytkownika danych w sieci, która jest używana przez php5-fpm od 0022 do 0002, aby zezwolić na uprawnienia do zapisu grupowego. Próbowałem:

  • edycji /etc/init.d/php5-fpm skrypt startowy i dodanie --umask 0002 na wezwanie start-stop-daemon, ale został zignorowany;
  • dodanie umask 0002 do /var/www/.profile jako /var/www jest katalogiem osobistym dla użytkownika www-data, ale to nie pomogło (nie jestem zaskoczony).
  • Nie używam upstart, więc this solution nie jest dla mnie.

Ponadto, niezależnie od tego, co próbowałem, polecenie sudo -u www-data bash -c umask zawsze zwraca 0022.

Odpowiedz

3

Udało mi się ustawić usługę umask dla usługi php5-fpm, edytując jej plik unit.service zgodnie z sugestiami here i here. Kompletny i pracy rozwiązanie dla Debiana 8 to:

  1. ręcznie edytować plik i dodać /etc/systemd/system/multi-user.target.wants/php5-fpm.serviceUMask=0002 linię wewnątrz [Service] sekcji.
  2. polecenie Run systemctl daemon-reload
  3. polecenie Run systemctl restart php5-fpm.service

Teraz plik obsługa wygląda tak:

[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 

zauważyć, że:

  1. Nie można użyć polecenia systemctl edit php5-fpm.service jak edit opcja została wprowadzona w systemctl wersja 218, ale Debian 8 jest dostarczany z wersją 215.
  2. Dodanie pliku *.conf sugerowanego w komentarzach do tego answer nie działa dla mnie, ale może coś zepsułem (komentarze są mile widziane, ponieważ plik jednostki edycyjnej nie jest czymś, co Czuję się komfortowo z).
+0

Wielkie dzięki! Pracował jak urok! – balu

+0

Dodanie pliku '.conf' nie działa z powodu błędu. Zamiast 'php-fpm.service' musisz napisać' php5-fpm.service'. Myślę, że lepiej jest dodać plik ".conf", taki jak ten http://serverfault.com/questions/582371/how-to-set-umask-for-php-fpm-in-fedora/582380#582380 –

Powiązane problemy