当我们在 apache 中 进行访问 www 文件夹之外的目录的时候,我们可以使用软链接的方式来进行协助访问。
我在 html 文件夹 下面创建 了 如下软链接 link:
[root@dhcp-65-15 html]# ll
total 12
-rw-r--r--. 1 root root 7 Jul 23 23:56 index.txt
drwxr-xr-x. 2 root root 4096 Jul 24 00:42 ISO
lrwxrwxrwx. 1 root root 16 Jul 24 01:19 link -> /home/yaowen/ISO
-rw-r--r--. 1 root root 12 Jul 23 23:48 version.txt
但是刚开始访问的时候, apache 的目录列表中不显示 link 目录项:
查看配置文件:
[root@dhcp-65-15 html]# cat /etc/httpd/conf/httpd.conf | grep FollowSymLinks
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
Options indexes FollowSymLinks
发现 符号链接 显示选项已经打开;
这时候查看路径权限:
[root@dhcp-65-15 home]# ll /home/ | grep yaowen
drwx------. 20 yaowen yaowen 4096 Jul 24 01:03 yaowen
[root@dhcp-65-15 home]# ll /home/yaowen/ | grep ISO
drwxr-xr-x. 6 vdsm kvm 4096 Jul 24 01:03 ISO
[root@dhcp-65-15 home]# ll / | grep home
drwxr-xr-x. 5 root root 4096 May 27 21:56 home
我们发现 家目录文件夹中 yaowen 目录 没有 x 权限;
这时候 我们 执行如下命令:
[root@dhcp-65-15 home]# chmod o+x yaowen
[root@dhcp-65-15 home]# ll /home | grep yaowen
drwx-----x. 20 yaowen yaowen 4096 Jul 24 01:03 yaowen
重新从浏览器中进行访问:
发现 目录出现!
我们进行访问目录,报错 :
我推测这与 selinux 有关,为了简便设置,我们进行临时关闭selinux
[root@dhcp-65-15 home]# setenforce 0
重新访问,发现目录访问正常:
对于 如何不关闭 selinux 情况下,使得软链接 允许进行访问,怎样设置权限?请关注我博客中对于selinux 的讲解!
完毕!
参考链接:
https://stackoverflow.com/questions/7381371/apache-wont-follow-symlinks-403-forbidden
保持更新,转载请注明出处。