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

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

我在 Linode LAMP 上运行 cakephp webapp。我发现我的临时文件是用 root:root 所有权创建的。但 webapp 是以 Apache 的权限 (www-data) 运行的。每当有新文件创建时,都会出现警告,因为用户 www-data 无法写入该文件。

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

感谢您的帮助!

答案1

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

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

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

相关内容