【问题标题】:Setting up Apache permissions properly正确设置 Apache 权限
【发布时间】:2015-11-14 17:03:35
【问题描述】:

以下是我对设置网站权限的正确方法的理解:

  • /home/website 中所有目录和文件的所有权是 website:website
  • 所有目录都是0750
  • 所有文件都是 0640
  • apache 是“网站”组的成员(作为 apache 的辅助组之一)

但它不起作用 - 我收到 (13)Permission denied: /home/website/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable 的 403 错误。

不确定发生了什么,因为 apache 应该能够读取所有内容,因为它位于“网站”组中。

还有一点需要注意的是 /home/website 中没有 .htaccess;它位于 /home/website/public_html 中,所以我什至不确定日志发生了什么(VirtualHost 确实指向 public_html 目录)。

有什么想法吗?如果我将所有内容都设置为 755/644,它可以工作,但这是我试图避免的。这似乎表明 apache 实际上不在“网站”组中,但我检查了 Webmin 很多次; “网站”实际上是 apache 的次要群体之一。

谢谢大家。

【问题讨论】:

    标签: apache permissions http-status-code-403


    【解决方案1】:

    /home/website 需要能够被 httpd 用户 ID 搜索(可执行)。 Apache 无法搜索 htaccess 文件的存在,因为它缺少这些位。

    这里详细描述:https://wiki.apache.org/httpd/13PermissionDenied

    【讨论】:

      【解决方案2】:

      您是否更新了您的 Apache 配置以将运行时组设置为“网站”(我面前机器上的 /etc/apache2/uid.conf)然后重新启动它?

      (我个人通常将我的网络服务器访问文件作为“其他”来简化部署。您的系统上是否有不允许查看网络服务器文件的用户?)

      【讨论】:

      • 不,组在 conf 中设置为“apache”。犹豫要更改它,因为它可能会在其他地方引起问题,除非可以有多个“组”指令。此外,我需要为服务器上的多个站点/用户进行设置。我们现在有客户 FTP,需要阻止他们读取彼此的文件。
      • 会导致问题吗?这就是导致您当前问题的原因。您需要适应您的安全模型的权限 - 很难想象安全模型适合您刚刚描述的场景以及原始问题中的权限。
      • 好吧,我让它与“usermod -a -G apache website”一起工作。一定是做错了什么试图通过 webmin 做到这一点。感谢您的帮助。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-11-20
      • 2019-06-15
      • 2011-02-20
      • 1970-01-01
      • 1970-01-01
      • 2011-04-16
      • 2013-11-30
      相关资源
      最近更新 更多