新手更改目录权限后出现 Apache 权限错误

Posted

技术标签:

【中文标题】新手更改目录权限后出现 Apache 权限错误【英文标题】:Apache Permissions Error After Newbie Changes to Directory Permission 【发布时间】:2015-12-03 14:11:25 【问题描述】:

我已经阅读了我可以在错误消息中找到的所有帖子: 您无权访问此服务器上的 /。

我什至不确定要包含哪些信息。绝对是新手。这就是我所知道的。我在 Mac OSX Yosemite 上运行 Apache/2.4.16。在某一时刻http://localhost 返回“它有效!”。然后我转到 /etc/apache2,打开文件 httpd.conf 并从以下几行中删除 #(使用 MacRabbit Espresso): LoadModule userdir_module libexec/apache2/mod_userdir.so LoadModule alias_module libexec/apache2/mod_alias.so LoadModule rewrite_module libexec/apache2/mod_rewrite.so LoadModule php5_module libexec/apache2/libphp5.so

我重新启动了 apachectl。在那一点上,一切似乎仍然运行良好。 (虽然我没有重新测试 localhost)。

问题似乎从这里开始。我创建了一个新文件 info.php。我把它放在“/Library/WebServer/Documents”中。然后我尝试了“http://localhost/info.php”。那是权限错误开始出现的时候。那就是我邪恶的黑客一方接管的时候。我使用 Finder 更改了几个子目录中的权限,基本上是给我添加了读写权限。一个奇怪的地方是 httpd.conf 文件对我、***和每个人都有权限。但没有“系统”的权限。 (不知道这是否重要。)

最终结果:我收到了上面写的权限错误。

那么我从这里去哪里呢?

【问题讨论】:

【参考方案1】:

小心更改随机文件的权限,因为您可能会损坏您的系统或在您的机器上制造安全漏洞。

OSX 上的 Apache 使用 /Library/WebServer/Documents/ 作为文档根目录,并且 Apache 有一个运行网络服务器的特殊用户(我相信 OSX 上的用户是 _www)。

我的建议是按照这个问题 (Correct owner/group/permissions for Apache 2 site files/folders under Mac OS X?) 中接受的答案的说明进行操作,这给出了一个很好的答案,否则 this guide here 不仅要设置 Apache,还要将其配置为具有用户级别文档根目录。

如果您对自己在命令行中工作有信心,答案是确保_www 被允许读取和执行包含在文档根目录中的文件并且是文档根目录的所有者。

【讨论】:

我对终端比较有信心。我还检查了 httpd.conf 并收到以下错误消息:0526:/private/etc/apache2/httpd.conf 的第 221 行的语法错误:无效命令 '\xc2\xa0AllowOverride',可能拼写错误或由模块未包含在服务器配置中知道应该是什么吗?谢谢。 我查看了您引用的文档。我认为我遇到的唯一困难是识别“通向您的网络根目录的每个父目录”。任何提示/提示? 首先,httpd.conf: 0526: Syntax error on line 221 of /private/etc/apache2/httpd.conf: Invalid command '\xc2\xa0AllowOverride', 表示您在配置中插入了一些无效的 unicode 字符,删除 \xc2\xa0 就可以了。对于每个父级,如果您继续使用默认的 Web 根目录,我将忽略更改父目录的权限,因为这些是系统目录,仅配置 Web 根目录和 Web 根目录的所有子级。 我按照上面链接中的说明(正确的所有者...)更正了权限问题。对于无效的 unicode 字符,我找不到 \xc2\xa0,所以我从我认为是未损坏的 httpd.conf 文件中复制并粘贴了三个引用的行。当我从浏览器运行:localhost 时,出现“无法连接错误”?我现在做了很多改变,我不知道是什么损坏了。还有什么建议吗? “无法连接问题...”已经解决,至少目前是这样。首先,我将我的用户权限重置为系统默认值。然后我简单地将可能损坏的 httpd.conf 文件替换为原始文件。然后我可以让 localhost 说“它有效!”不幸的是,我仍然不知道到底是什么问题(或现在是什么问题)以及具体解决了什么问题。最不满意。

以上是关于新手更改目录权限后出现 Apache 权限错误的主要内容,如果未能解决你的问题,请参考以下文章

apache部署django出现403Forbidden错误怎么解决

更改Apache虚拟目录并授予权限

D. 更改虚拟目录

请教windows下apache的权限设置

linux如何给文件或目录添加apache权限

新建站点如何修改目录权限?添加www用户组?