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

20 linux lamp permissions

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

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

谢谢你的帮助!

Cod*_*ome 24

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

    sudo chown :www-data <dir>
    sudo chmod g+s <dir>
Run Code Online (Sandbox Code Playgroud)

请注意,您还必须使目录可被任何将创建文件的进程写入。如果那不是 root 之外的任何人,您可能还需chmod o+rwx要让事情正常工作。