我在使用 apache 时遇到了一些奇怪的权限错误,我可以访问 apache 主目录下的文档,但不能访问任何其他目录下的文档。
当我查看 Apache error_log 时,它显示
[error] (13)Permission denied: access to / denied
我将文件和文件夹权限设置为 777,并且我知道我的 httpd.conf 设置正确。
奇怪的是
当我对 apache 目录中的文件执行此操作时,它工作正常
su -s /bin/bash -c "cat /usr/local/apache2/htdocs/index.html" apache
<html><body><h1>It works!</h1></body></html>
当我对具有相同权限的外部文件执行此操作时,我得到
su -s /bin/bash -c "cat /var/www/html/index.html" apache
cat: /var/www/html/index.html: Permission denied
我认为这一定是 selinux 的问题,所以我通过在 /etc/selinux/config 中设置 SELINUX=disabled 并重新启动服务器来关闭它,但这不起作用。
我正在使用全新安装的 CentOS 4.8,并且我的 Web 目录是从我的主 Web 服务器 rsync 过来的。
更新
ls -lZ
Sorry, this option can only be used on a SELinux kernel.
id apache
uid=48(apache) gid=48(apache) groups=48(apache)
ls -l /var /var/www /var/www/html /var/www/html/index.html
-rwxrwxrwx 1 apache apache 7 Jan 18 15:36 /var/www/html/index.html
/var:
total 192
drwxr-xr-x 2 root root 4096 Dec 28 09:04 account
drwxr-xr-x 9 root root 4096 Dec 28 09:04 cache
drwxr-xr-x 3 netdump netdump 4096 Dec 28 09:04 crash
drwxr-xr-x 3 root root 4096 Dec 28 09:04 db
drwxr-xr-x 2 root root 4096 Dec 29 13:31 doc
drwxr-xr-x 3 root root 4096 Dec 28 09:04 empty
drwxr-xr-x 3 root root 4096 Dec 28 09:06 ftp
drwxr-xr-x 7 root root 4096 Jan 15 10:24 httpdocs
drwxr-xr-x 7 root root 4096 Dec 29 13:31 installed_packages
drwxr-xr-x 24 root root 4096 Jan 4 09:54 lib
drwxr-xr-x 2 root root 4096 Feb 21 2005 local
drwxrwxr-x 6 root lock 4096 Jan 19 04:02 lock
drwxr-xr-x 12 root root 4096 Jan 19 07:50 log
lrwxrwxrwx 1 root root 10 Dec 28 09:03 mail -> spool/mail
drwxr-x--- 5 root named 4096 Jul 29 14:10 named
drwxr-xr-x 2 root root 4096 Feb 21 2005 nis
drwxr-xr-x 2 root root 4096 Feb 21 2005 opt
drwxr-xr-x 2 root root 4096 Feb 21 2005 preserve
drwxr-xr-x 22 root root 4096 Jan 19 07:44 run
drwxr-xr-x 14 root root 4096 Dec 28 09:04 spool
drwxrwxrwt 2 root root 4096 Jan 15 04:30 tmp
drwx------ 2 root root 4096 Feb 21 2005 tux
drwxr-xr-x 8 root root 4096 Nov 12 05:56 www
drwxr-xr-x 2 root root 4096 Jan 19 10:26 www2
drwxr-xr-x 3 root root 4096 Dec 28 09:04 yp
/var/www:
total 48
drwxr-xr-x 2 root root 4096 Nov 12 05:56 cgi-bin
drwxr-xr-x 3 root root 4096 Dec 28 09:16 error
drwxr-xr-x 2 root root 4096 Jan 18 15:36 html
drwxr-xr-x 3 root root 4096 Dec 28 09:16 icons
drwxr-xr-x 13 root root 4096 Dec 28 09:16 manual
drwxr-xr-x 2 webalizer root 4096 Jan 19 04:02 usage
/var/www/html:
total 8
-rwxrwxrwx 1 apache apache 7 Jan 18 15:36 index.html
答案1
根据您发布的内容,我认为您需要授予 apache 访问 /var 的权限。
答案2
[错误](13)权限被拒绝:访问/被拒绝
CGI 或插件可能正在尝试在 / 中创建文件。查看您是否可以准确追踪导致错误的操作。