apache 不显示具有不同所有者的文件

apache 不显示具有不同所有者的文件

我已经在 WHM 中为用户创建了一个域alex。现在,如果我将任何文件放入public_html此域的文件夹中,而该文件的所有者定义为root,则 apache 不允许在浏览器中访问该文件,它会显示not found。但如果我将文件的所有者更改为alex,则一切都正常!

现在我想让 apache 允许访问 public_html 中的每个文件,即使所有者是 root 而不是 alex。该怎么做?

答案1

Apache 在 www-data 用户下运行。此用户具有某些权限,但不足以读取 root 的文件。

一种解决方案是www-data向文件添加组:chgrp www-data /path/to/files;然后调整文件的权限以允许组成员读取这些文件:chmod g+r /path/to/files

另一种解决方案(不太推荐)是允许other读取文件:chmod o+r /path/to/files

答案2

现在我想让 apache 允许访问 public_html 中的每个文件,即使所有者是 root 而不是 alex。该怎么做?

简短回答:你不能。
稍微长一点的回答:你不应该。

学习关于 Linux 文件系统权限及其工作原理他们。
试图“强迫”你的方式大约它们以后只会给你带来麻烦。

ID建议您:

  • 创建一个包含运行 Apache 的帐户和提供文件的帐户的组,
  • 将目标目录的所属组更改为该组,
  • 设置SetGID 位在该目录上。

相关内容