Default file permissions for php user www-data

37,539

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.

Share:
37,539

Related videos on Youtube

JD Isaacks
Author by

JD Isaacks

Author of Learn JavaScript Next github/jisaacks twitter/jisaacks jisaacks.com

Updated on September 17, 2022

Comments

  • JD Isaacks
    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 and chmod 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
    Admin almost 9 years
    This worked perfectly for me, but I'd be interested if you could explain what the chmod g+s and setfacl commands did (and their parameters).