20

I am running a cakephp webapp on Linode LAMP. I am finding that my temp files are created with root:root ownership. But the webapp is running with Apache's permissions (www-data). This causes warnings any time there is a new file created because it is not writable for user www-data.

How do I change the default ownership to www-data on any new files created in the temp folder?

Thanks for your help!

1 Answers1

24

To assign group ownership by www-data regardless of the uid/gid of the process that creates the file, you need to set the setgid bit on the directory.

    sudo chown :www-data <dir>
    sudo chmod g+s <dir>

Note that you must also make the directory writable by whatever process will create the files. If that's anyone but root, you may also need chmod o+rwx to get things working properly.

CodeGnome
  • 2,071
  • 15
  • 21
  • What about sub-directories? – mcont Dec 23 '14 at 21:07
  • Appending the -R flag to chown and chmod makes that command recursive. So the commands below will assign default group ownership to as well as all subdirectories of : `sudo chown -R :www-data ` and `sudo chmod -R g+s ` – Josh Wieder Aug 02 '15 at 14:04