標準の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
以下を適用する必要があります(パスが/ 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 /]#