我已经在 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 位在该目录上。