SELinux: pid=2174 comm="httpd" path="/etc/httpd/lib/libaprutil-1.so.0.5.3" の { 実行 } が拒否されました

SELinux: pid=2174 comm="httpd" path="/etc/httpd/lib/libaprutil-1.so.0.5.3" の { 実行 } が拒否されました

SELinux に問題があります。Apacheを実行できるように有効setroubleshootにすることを提案します。mypol.ppsemodule -i mypol.pp

提案されたコマンドを実行した後、次のような結果が続きます:

type=AVC msg=audit(1388119964.806:11): avc:  denied  { execute } for  pid=2174 comm="httpd" path="/etc/httpd/lib/libaprutil-1.so.0.5.3" dev=md0 ino=2228931 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:httpd_config_t:s0 tclass=file

**** Invalid AVC allowed in current policy ***

type=AVC msg=audit(1388120085.792:29): avc:  denied  { execute } for  pid=2298 comm="httpd" path="/etc/httpd/lib/libaprutil-1.so.0.5.3" dev=md0 ino=2228931 scontext=unconfined_u:system_r:httpd_t:s0 tcontext=system_u:object_r:httpd_config_t:s0 tclass=file

**** Invalid AVC allowed in current policy ***

type=AVC msg=audit(1388120159.57:37): avc:  denied  { execute } for  pid=2330 comm="httpd" path="/etc/httpd/lib/libaprutil-1.so.0.5.3" dev=md0 ino=2228931 scontext=unconfined_u:system_r:httpd_t:s0 tcontext=system_u:object_r:httpd_config_t:s0 tclass=file

**** Invalid AVC allowed in current policy ***

type=AVC msg=audit(1388121088.955:65): avc:  denied  { name_connect } for  pid=2331 comm="httpd" dest=8080 scontext=unconfined_u:system_r:httpd_t:s0 tcontext=system_u:object_r:http_cache_port_t:s0 tclass=tcp_socket

**** Invalid AVC allowed in current policy ***

found 0 alerts in /var/log/audit/audit.log

答え1

以下は、再ラベル付けの問題があることを示しています。

type=AVC msg=audit(1388119964.806:11): avc: denied { execute } for pid=2174 comm="httpd" path="/etc/httpd/lib/libaprutil-1.so.0.5.3" dev=md0 ino=2228931 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:httpd_config_t:s0 tclass=file

どこか別の場所へのシンボリックリンクですか/etc/httpd/lib? 通常、ライブラリをここに置かず、シンボリックリンクとしてのみ置きます。 その場合は、restorecon -Rv /usr/lib{,64}ここで実行すると効果的かもしれません。

以下に報告されている 2 番目の問題を解決するには、SELinux が httpd サービスにどのような動作を期待するかを認識していることを確認する必要があります。

type=AVC msg=audit(1388121088.955:65): avc: denied { name_connect } for pid=2331 comm="httpd" dest=8080 scontext=unconfined_u:system_r:httpd_t:s0 tcontext=system_u:object_r:http_cache_port_t:s0 tclass=tcp_socket

httpd_can_network_relayを実行してブール値を有効にしますsetsebool -P httpd_can_network_relay 1

答え2

メッセージについては分かりません **** Invalid AVC allowed in current policy ***が、Q&Aはこちらすでに

提供したテキストを実行する監査2許可示唆する

#============= httpd_t ==============

allow httpd_t http_cache_port_t:tcp_socket name_connect;
allow httpd_t httpd_config_t:file execute;

grepを使用して関連するAVC拒否メッセージを一時ファイルに抽出し、それをaudit2allowに渡すことができます。

grep denied: audit.log | grep httpd >temp.log

cat temp.log | audit2allow -M myHTTPD
******************** IMPORTANT ***********************
To make this policy package active, execute:

semodule -i myHTTPD.pp

myHTTPD.pp をインストールした後でも、SElinux が httpd の起動を停止する場合があります。これは、以前の (現在許可されている) 拒否が、それ以降の拒否をマスクしなくなったためです。毎回上記のプロセスを繰り返します。

関連情報