Default file permissions for php user www-data
Solution 1
I'm sure you have sorted this out already, so this is for anybody with similar request
run the "change ownership" command on your webroot folder:
sudo chown manny -R www
This will make you the owner replace "manny" with your username, enabling you to write/read within www folder
Solution 2
If your webserver cannot even read the files, it's very likely that the permissions of new-file.php
are something like 600 (read and write for owner). Search for an umask setting in your FTP application, and make sure it's something like 007.
If your web application needs to chmod the files (or other operations which can only be done by the file owner), you need an other approach. If you're using Apache, you should consider using the itk MPM. With that module, you can make Apache run/open the files using the same user as "ftpuser". If you need more information about this subject, add a comment.
Related videos on Youtube
JD Isaacks
Author of Learn JavaScript Next github/jisaacks twitter/jisaacks jisaacks.com
Updated on September 17, 2022Comments
-
JD Isaacks over 1 year
I have a php installed on my ubuntu machine. The web root is
/var/www
I set the permissions for this folder like so:
sudo chown -R ftpuser:www-data /var/www
ftpuser is the user I set up so I can ftp to /var/www from another machine on the network. www-data is the user php uses. I double checked using
whoami
from php.Whenever I ftp upload a new file to the machine the group has no permissions to the file. So when I try to access it in my browser via
machine-name/new-file.php
I am told permission denied and I have to go andchmod
the new file.I am wondering if there is a way I can default the www-data user/group to have access permissions to new files so I don't have to keep chmod every new file?
-
Admin almost 9 yearsThis worked perfectly for me, but I'd be interested if you could explain what the
chmod g+s
andsetfacl
commands did (and their parameters).