ฉันมีการติดตั้ง CentOS 6 ใหม่เอี่ยมซึ่งมี symlink ในรูทเอกสารไปยังไฟล์การพัฒนาของฉัน:
[root@localhost html]# ls -l
total 4
-rwxrwxrwx. 1 root root 0 Sep 18 20:16 index.html
-rwxrwxrwx. 1 root root 17 Sep 18 20:16 index.php
lrwxrwxrwx. 1 root root 24 Sep 18 20:19 refresh-app -> /home/billy/refresh-app/
httpd.conf ของฉันมีสิ่งนี้:
<Directory "/">
Options All
AllowOverride None
Order allow,deny
Allow from all
</directory>
เป้าหมายของลิงก์สัญลักษณ์มีสิทธิ์ที่ควรอนุญาตให้ Apache อ่านสิ่งที่ต้องการ:
[root@localhost billy]# ls -l
total 40 (Some entries were omitted because the list was too long
drwxr-xr-x. 7 billy billy 4096 Sep 18 20:03 refresh-app
ฉันได้ลองปิดการใช้งาน SELinux ด้วยการเปลี่ยน/etc/selinux/conf
:
SELINUX=disabled
แต่ไม่ว่าฉันจะทำอะไรเมื่อมีคนพยายามไปที่ลิงค์http://localhost/refresh-app/
นั้นฉันก็จะได้รับหน้าข้อผิดพลาด 403 แบบที่ต้องห้ามและสิ่งนี้เขียนไว้ใน/var/log/httpd/error_log
:
Symbolic link not allowed or link target not accessible
ทำไม Apache ไม่สามารถเข้าถึงเป้าหมายของ symlink ได้?