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. setroubleshootПредлагаю включить mypol.ppего semodule -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 запускаться. Это происходит потому, что более ранние (теперь разрешенные) запреты больше не маскируют более поздние. Просто повторяйте процесс выше каждый раз.

Связанный контент