SELinux:拒絕{執行} for pid=2174 comm="httpd" path="/etc/httpd/lib/libaprutil-1.so.0.5.3"

SELinux:拒絕{執行} for pid=2174 comm="httpd" path="/etc/httpd/lib/libaprutil-1.so.0.5.3"

我的 SELinux 有問題。setroubleshoot建議啟用mypol.ppwithsemodule -i mypol.pp以便 apache 可以運作。

運行建議的命令後,我不斷收到:

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}在這裡可能會有所幫助。

為了使下面報告的第二個問題起作用,您需要確保 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 ***消息,但我們有一個關於它的問答在這裡已經

運行您提供的文本審核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 啟動。這是因為早期(現在允許)的否認不再掩蓋後來的否認。每次只需重複上述過程即可。

相關內容