web-dev-qa-db-ja.com

RHEL6上のselinux:httpdconfig。 DocumentRoot [/ path / does / exist]「存在しません」

標準のRHEL6インストールを実行していて、httpdDocumentRootを/path/does/existにポイントしました(存在します!)。 Apacheユーザーに権限を付与し、必要なラベルと思われるものを次の方法で追加しました。

chcon -R  -t httpd_sys_content_t /path/does

サイコロはありません

audit2whyは、次のようなリクエストのタイプエンフォースメント許可ルールが欠落していることを示しています

 avc:拒否{検索}でpid = 4793 
 comm = "httpd" name = "/"
scontext= unconfined_u:system_r:httpd_t:s0 
 tcontext = system_u:object_r:file_t:s0 
 tclass = dir 

誰かが私が解釈するのを手伝ってもらえますか? 「selinuxを無効にする」という答えを探しているわけではないことに注意してください:-)

ありがとう!

-B

2
Bosh

以下を適用する必要があります(パスが/ wwwであると仮定)

chcon -R -u system_u /www
chcon -R -t httpd_sys_content_t /www

そして、それをラベルから存続させます:

semanage fcontext -a -s system_u -t httpd_sys_content_t /www

SELinuxコンテキストをディレクトリに適用する場合、テンプレートとして別のディレクトリを使用する方が簡単だと思います。

drwxr-xr-x. root root unconfined_u:object_r:default_t:s0 www
[root@kvm0001 /]# chcon --reference=/var/www www
[root@kvm0001 /]# ls -laZ
drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 www
[root@kvm0001 /]#
3
Rilindo