Bug 609091 - SELinux is preventing /usr/local/apache2/bin/httpd from loading /usr/local/apache2/modules/libphp5.so which requires text relocation.
Summary: SELinux is preventing /usr/local/apache2/bin/httpd from loading /usr/local/ap...
Alias: None
Product: Fedora
Classification: Fedora
Component: selinux-policy   
(Show other bugs)
Version: 12
Hardware: i386
OS: Linux
Target Milestone: ---
Assignee: Daniel Walsh
QA Contact: Fedora Extras Quality Assurance
Whiteboard: setroubleshoot_trace_hash:758fa0cacc8...
Depends On:
TreeView+ depends on / blocked
Reported: 2010-06-29 12:06 UTC by Renato
Modified: 2010-07-11 16:09 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2010-06-29 15:29:53 UTC
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

Description Renato 2010-06-29 12:06:56 UTC

SELinux is preventing /usr/local/apache2/bin/httpd from loading
/usr/local/apache2/modules/libphp5.so which requires text relocation.

Descrição detalhada:

[SElinux está em modo permissivo. Esse acesso não foi negado.]

The httpd application attempted to load /usr/local/apache2/modules/libphp5.so
which requires text relocation. This is a potential security problem. Most
libraries do not need this permission. Libraries are sometimes coded incorrectly
and request this permission. The SELinux Memory Protection Tests
(http://people.redhat.com/drepper/selinux-mem.html) web page explains how to
remove this requirement. You can configure SELinux temporarily to allow
/usr/local/apache2/modules/libphp5.so to use relocation as a workaround, until
the library is fixed. Please file a bug report.

Permitindo acesso:

If you trust /usr/local/apache2/modules/libphp5.so to run correctly, you can
change the file context to textrel_shlib_t. "chcon -t textrel_shlib_t
'/usr/local/apache2/modules/libphp5.so'" You must also change the default file
context files on the system in order to preserve them even on a full relabel.
"semanage fcontext -a -t textrel_shlib_t

Comando de correção:

chcon -t textrel_shlib_t '/usr/local/apache2/modules/libphp5.so'

Informações adicionais:

Contexto de origem            unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1
Contexto de destino           unconfined_u:object_r:lib_t:s0
Objetos de destino            /usr/local/apache2/modules/libphp5.so [ file ]
Origem                        httpd
Caminho da origem             /usr/local/apache2/bin/httpd
Porta                         <Desconhecido>
Máquina                      (removed)
Pacotes RPM de origem         
Pacotes RPM de destino        
RPM da política              selinux-policy-3.6.32-41.fc12
Selinux habilitado            True
Tipo de política             targeted
Modo reforçado               Permissive
Nome do plugin                allow_execmod
Nome da máquina              (removed)
Plataforma                    Linux (removed) #1 SMP Sat
                              Nov 7 21:41:45 EST 2009 i686 i686
Contador de alertas           4
Visto pela primeira vez em    Seg 28 Jun 2010 14:43:48 BRT
Visto pela última vez em     Seg 28 Jun 2010 15:10:45 BRT
ID local                      43a33b6e-e55e-4157-8297-875edf80d5d3
Números de linha             

Mensagens de auditoria não p 

node=(removed) type=AVC msg=audit(1277748645.847:19948): avc:  denied  { execmod } for  pid=25521 comm="httpd" path="/usr/local/apache2/modules/libphp5.so" dev=dm-0 ino=170836 scontext=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 tcontext=unconfined_u:object_r:lib_t:s0 tclass=file

node=(removed) type=SYSCALL msg=audit(1277748645.847:19948): arch=40000003 syscall=125 success=yes exit=0 a0=2a5000 a1=614000 a2=5 a3=bf879dc0 items=0 ppid=1 pid=25521 auid=500 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=1 comm="httpd" exe="/usr/local/apache2/bin/httpd" subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 key=(null)

Hash String generated from  allow_execmod,httpd,unconfined_t,lib_t,file,execmod
audit2allow suggests:

#============= unconfined_t ==============
#!!!! This avc can be allowed using the boolean 'allow_execmod'

allow unconfined_t lib_t:file execmod;

Comment 1 Daniel Walsh 2010-06-29 15:29:53 UTC
Execute the chcon command mentioned in the bug report.  You also seem to be running apache as unconfined_t rather then httpd_t?

Comment 2 PRABIN KUMAR DATTA 2010-07-11 16:09:57 UTC
open terminal->login as root->
type command: system-config-selinux (Press Enter)
a window will pop-up asking your password...
After that u can see a window name "SELinux Administration"
left hand side select Boolean
then in Filter type: allow_execmod
Just active this.

Note You need to log in before you can comment on or make changes to this bug.