我正在运行 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)。
我之前没有对此进行任何实际设置,只是阅读了大量相关资料。
干杯,祝你好运。