Reputation: 11581
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?
Upvotes: 17
Views: 21284
Reputation: 21397
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.
Upvotes: 18
Reputation: 3077
Taken from the other answer's linked question:
if you use systemd [i.e. Ubuntu 16.04], then edit /lib/systemd/system/php5-fpm.service
And edit chapter "Service":
[Service]
UMask=0002
Upvotes: 10
Reputation: 481
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.
Upvotes: 4