无法更改 apache/php 创建的文件

无法更改 apache/php 创建的文件

我正在运行 Fedora Core。

我有一个用户 /home/john/public_html/...

当 php 脚本创建文件时,权限会设置为 apache.apache,因此我无法通过 FTP 客户端退出该文件,除非先以 Root 身份登录并手动将权限更改为 john。

解决这个问题的最好方法是什么?

答案1

您可以在 PHP 代码中将文件的权限设置为 0666 - 但这不是一个非常巧妙的解决方案。对我来说,一种更严格的方法是将 Web 服务器 uid 和需要访问权限的用户添加到一个公共组(例如 webdev),然后在上传目录上设置组粘性位,并将文件添加为 0660。

请注意,HTTP 上传的文件必须总是将其保存在与其他 Web 内容分开的目录中,并且禁用 PHP(和任何其他特殊处理程序)(即不在 /home/john/public_htm/ 中),否则您将受到黑客攻击。

...并且不要使用 FTP。

C。

答案2

嗯,这是一个很常见的问题。您需要更改 PHP 设置,以便脚本在用户 UID 下执行,而不是在 apache 下执行。有多种工具可以解决此问题,suexec、suphp(http://www.suphp.org/Home.html)。

我之前没有对此进行任何实际设置,只是阅读了大量相关资料。

干杯,祝你好运。

相关内容