Ping z PHP blokuje SELinux

Ping z PHP blokuje SELinux
« kdy: 09. 06. 2011, 17:50:56 »
Nefunguje mi příkaz /bin/ping volaný z PHP skriptu (spouštěného přes Apache PHP modul). Ping vrací kód 2 (podle man "jiná chyba"). Zjevně za to může SELinux, protože při jeho vypnutí to funguje (ping vrací 0 nebo 1 podle toho, zda zařízení odpoví).
Nevíte někdo co v SELinuxu nastavit, aby to fungovalo? Úplně vypnout SELinux se mi nechce.
Jde o RedHat EL 6.1, PHP 5.3 a Apache 2.2. Díky.
« Poslední změna: 10. 06. 2011, 09:22:12 od Petr Krčmář »


Re: ping z Apache/PHP a SELinux
« Odpověď #1 kdy: 09. 06. 2011, 23:14:06 »
Nemám to teď kde vyzkoušet, tak aspoň takhle: koukal jsi co píše /var/log/audit/audit.log ? Jestli ano a nerozumíš tomu, pošli odpovídající řádky...
Fedora & CentOS (RHEL) user
Blog: /dev/stderr

Re: Ping z PHP blokuje SELinux
« Odpověď #2 kdy: 10. 06. 2011, 09:31:26 »
Díky moc za nasměrování!

V audit.log bylo

type=AVC msg=audit(1307689147.880:5826): avc:  denied  { create } for  pid=20931 comm="ping" scontext=unconfined_u:system_r:httpd_t:s0 tcontext=unconfined_u:system_r:httpd_t:s0 tclass=rawip_socket

Pak už jsem našel jak to povolit:

audit2allow -a -m httpdlocal
audit2allow -a -m httpdlocal > httpdlocal.te
checkmodule -M -m -o httpdlocal.mod httpdlocal.te
semodule_package -o httpdlocal.pp -m httpdlocal.mod
semodule -i httpdlocal.pp