Как установить umask для пользователя www-data?

В настоящее время я использую Apache/2.4.10 (Debian Jessie) с PHP 7.0.6 fpm.

Все указывает на то, что теперь мне нужно добавить umask 0002 в php-fpm.conf, чтобы пользователь www-data создавал файлы с правами rw-rw-r.


person Darius S    schedule 02.09.2016    source источник


Ответы (2)


Я надеюсь, что это сработает, пожалуйста, попробуйте этот способ

Вручную отредактируйте файл /etc/systemd/system/multi-user.target.wants/ php7.0-fpm.service и добавьте строку UMask=0002 в раздел [Сервис].

Раньше было так.

введите здесь описание изображения

тогда

Выполнить команду systemctl daemon-reload

тогда

Запустите команду systemctl перезапустить php7.0-fpm.service

Теперь сервисный файл выглядит так:

[Unit]
Description = The PHP FastCGI Process Manager
After = network.target

[Service]
Type = notify
PIDFile = /var/run/php/php7.0-fpm.pid 
ExecStartPre = /usr/lib/php/php7.0-fpm-checkconf
ExecStart = /usr/sbin/php-fpm7.0 --nodaemonize --fpm-config /etc/php/7.0/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

Примечание: вы не можете использовать команду systemctl edit php7.0-fpm.service, так как опция редактирования была введена в systemctl версии 218, но Debian 8 поставляется с версией 215.

person Renjith V R    schedule 02.09.2016
comment
Спасибо за ваш ответ, но мне нужно сделать это только через файл конфигурации. Я не могу редактировать сервис. - person Darius S; 02.09.2016
comment
FWIW, похоже, это не помогло мне с Debian 8.9 - в частности, я запустил sudo -u www-data touch foo после выполнения всех шагов, и старый umask все еще использовался. Предложения приветствуются... - person William Turrell; 24.07.2017

Относительно комментария Уильяма Таррелла:

sudo -u www-data touch foo коснется файла foo, как если бы веб-сервер сделал это без PHP. Таким образом, будет использоваться umask процесса веб-сервера, а не установленный в PHP-FPM. Чтобы изменить umask процесса веб-сервера, вам нужно отредактировать файл envvars в /etc/apache2 (для систем на основе Debian).

person Adspectus    schedule 20.07.2021