Apache 403 禁止子文件夹?

Apache 403 禁止子文件夹?

我可以查看根目录(/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 列出某个目录上的文件。这是有关它的更多信息。

相关内容