简体   繁体   中英

Nginx/php-fpm umask setting

When I was using apache2 server, setting default umask in /etc/apache2/envvars to 0002 used to solve all my permissions problems. Now that I am trying to setup nginx/php-fpm, I have come across the same problems when files are created with improper permissions.

Is there umask setting in nginx or php-fpm?

Taken from the other answer's linked question:

if you use systemd [ie Ubuntu 16.04], then edit /lib/systemd/system/php5-fpm.service
And edit chapter "Service":

[Service]
UMask=0002

Thanks to Blossoming_Flower's answer and an answer on unix.stackechange ...

The best way seems to do as Blossoming _Flower says, but do it with an override file instead of editing a system file that may get replaced by a reinstall/upgrade by your distribution.

To do this you do (I'm on php 7.0 but adjust for your version)

systemctl edit php7.0-fpm.service

which will automatically create (or edit if already exists) a file at /etc/systemd/system/php7.0-fpm.service.d/override.conf .

You can put Blossoming_Flower's suggested content on its own in that file. Systemd will then overwrite the distribution's settings with this one, in effect adding a umask setting.

Then just systemctl daemon-reload && systemctl restart php7.0-fpm and you're done.

I managed to resolve this for myself by adding umask 0002 to /etc/init/php-fpm.conf ( not /etc/init.d/php-fpm ). See How to trace where php5-fpm umask settings are coming from on ubuntu for an explanation.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM