我最近将一个网站移到了一个新的主机,但现在我在 CMS 允许用户上传内容的文件夹中遇到了权限问题。这可能很简单,但我不知道如何请求修复权限。
基本上,我有一个文件夹,uploads,CMS 用户应该在其中拥有完全的读/写访问权限。uploads 文件夹的所有者是 webmaster.mysite。自从网站迁移以来,任何新创建的文件夹或上传的文件的所有者都是 apache(我认为这是正确的,PHP 以 apache 身份运行?),文件设置为 755,文件夹设置为 775。问题是可以创建新文件夹,但无法在其中上传文件。
这里的修复方法是要求上传文件夹应归 apache 所有吗?我建议这样做,但主持人说这会存在安全风险...
答案1
是的,如果您的上传文件夹归 Apache 所有,那将存在安全风险,因为这意味着服务器上的任何其他网站都有能力写入(和修改)这些文件。
真正应该发生的是,使用 suPHP(或 FCGI)以专用用户身份运行 PHP 脚本,然后设置上传目录的权限,以便该用户可以对其进行写入(我喜欢为此使用扩展 ACL,因为它可以使所有权权限更合理,并且默认 ACL 非常适合确保子目录维护正确的扩展权限)。