我在 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
一切正常运行。