如何设置目录中文件的默认组所有权?


20

我在Linode LAMP上运行cakephp webapp。我发现我的临时文件是使用root:root所有权创建的。但是该Web应用程序正在使用Apache的权限(www-data)运行。每当创建新文件时,这都会引起警告,因为用户www-data不可写该文件。

如何在temp文件夹中创建的任何新文件上将默认所有权更改为www-data?

谢谢你的帮助!

Answers:


23

要通过www-data分配组所有权,而不考虑创建文件的进程的uid / gid,您需要在目录上设置setgid位。

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

请注意,还必须通过创建文件的任何过程使该目录可写。如果不是root,那您可能还需要chmod o+rwx使一切正常运行。


子目录呢?
mcont 2014年

将-R标志附加到chown和chmod可使该命令递归。因此,以下命令会将默认的组所有权分配给<dir>以及<dir>的所有子目录:sudo chown -R :www-data <dir>sudo chmod -R g+s <dir>
Josh Wieder
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.