「シンボリックリンクが許可されていないか、リンク先にアクセスできませんでした。」 / CentOS 6のApache

「シンボリックリンクが許可されていないか、リンク先にアクセスできませんでした。」 / CentOS 6のApache

CentOS 6を新しくインストールしましたが、ドキュメントルートに開発ファイルを指すシンボリックリンクがあります。

[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 FORBIDDENエラーページが表示されます/var/log/httpd/error_log

Symbolic link not allowed or link target not accessible

Apacheがシンボリックリンクのターゲットにアクセスできないのはなぜですか?

ベストアンサー1

問題が発見されました。 Apacheは私が提供するディレクトリだけでなく、/home/billy/refresh-app/その上のすべてのディレクトリ、つまり、/home/billy/および/homeにもアクセスしたいと思いました/。 (なぜかわかりません…誰かにサブディレクトリへのアクセス権を与えても、そのサブディレクトリの上のすべてのエントリに対する権限を放棄する必要はありません…)

何かを探していると思います.htaccess。あるいは、* nixがディレクトリ巡回に対する権限を処理する方法が奇妙な場合があります。

おすすめ記事