まったく新しいCentOS6をインストールしました。これには、ドキュメントルートに開発ファイルへのシンボリックリンクがあります。
[[email protected] 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が必要なものをすべて読み取ることができる権限があります。
[[email protected] 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
また、/etc/selinux/conf
を変更してSELinuxを無効にしてみました :
SELINUX=disabled
しかし、私が何をしようとも、誰かがそのリンクにアクセスしようとすると、http://localhost/refresh-app/
、403 FORBIDDENエラーページが表示されます。これは、/var/log/httpd/error_log
に書き込まれます。 :
Symbolic link not allowed or link target not accessible
Apacheがシンボリックリンクのターゲットにアクセスできないのはなぜですか?
承認された回答:
問題が見つかりました。結局のところ、Apacheは、私がサービスを提供しているディレクトリ/home/billy/refresh-app/
だけでなくアクセスを望んでいます。 、だけでなく、その上のすべてのディレクトリ、つまり/home/billy/
、/home
、および/
。 (理由はわかりません…誰かにサブディレクトリへのアクセス権を与えることで、そのサブディレクトリより上のすべてのものへのアクセス許可を与える必要はありません…。)
.htaccess
を探していると思います または何か、またはおそらく*nixがディレクトリトラバーサルのアクセス許可をどのように処理するかについて奇妙です。
Centos – Docker外部ボリュームディレクトリをホスト(lvm)パーティションとしてマウントしますが、これは機能しますか?
Centos – Vsftpd Filezilla Gnutlsエラー-15(予期しないTlsパケットが受信されました)?