![Apache 403 禁止子文件夹?](https://linux22.com/image/25529/Apache%20403%20%E7%A6%81%E6%AD%A2%E5%AD%90%E6%96%87%E4%BB%B6%E5%A4%B9%EF%BC%9F.png)
我可以查看根目录(/var/www)中的所有文件,但是一旦进入子目录(例如/var/www/test),我就会收到 403 Forbidden 错误。我运行的是 Ubuntu 12.04.01。
曾尝试寻找类似的问题,但没有找到解决方案。
有什么建议么?
更新: 检查 /var/log/apache2/error.log 中的错误日志,其中包含:
client denied by server configuration: /var/www/test/
更新: 如果我 su 进入 www-data 并尝试 cd 进入任何子目录,则会出现错误:
cd test
sh: 4: cd: can't cd to test
更新: 通过在 /var/www 中执行 ls -l 我得到:
drwx------ 3 nicklas nicklas 4096 Sep 13 18:35 test
这可能是问题所在吗?
更新:我修好了! 我运行了以下命令,现在似乎运行良好。
cd /var/www
chown -R www-data:www-data *
答案1
检查子目录的文件权限。如果您启用了 selinux,请运行以下命令:
restorecon -Rv /var/www
答案2
这/var/www
不应该属于www-data
.不作为用户,也不作为组。
你应该 chmod -R ug+rwX,o-w,o+rX /var/www
。
答案3
在这种情况下,您应该首先检查错误日志。默认情况下它应该是
/var/log/apache/
或/var/log/httpd/
类似的东西。
我猜测这是由 Indexes 选项引起的,该选项控制是否有人可以从 HTTP 列出某个目录上的文件。这是有关它的更多信息。