PDA

Visualizza la versione completa : Disabilitare SELinux per httpd su Fedora 9


Dario64
26-08-2008, 22:11
Ciao a tutti,
sono da poco passato alla distribuzione Fedora 9 e sto incontrando dei problemi nel far funzionare correttamente le mie applicazioni PHP.

La mia necessità è consentire all'httpd (che riesce correttamente a scrivere sui files creati attraverso gli script) l'accesso in scrittura a dei files, situati nelle normali directories del server, che hanno per proprietario me e per gruppo apache (dario:apache).
Al momento questo accesso (che i permessi dei files consentirebbero) è bloccato da SELinux, per cui, visto che il webserver devo usarlo solo come ambiente di prova, mi sembrerebbe ragionevole escludere httpd dalla protezione di SELinux.

Qui il problema: nelle vecchie versioni di Fedora esisteva una booleana di SELinux chiamata httpd_disable_trans che faceva esattamente al caso mio. In Fedora 8 e 9 questa non è più presente:

$ /usr/sbin/setsebool httpd_disable_trans 1
Could not change active booleans: Invalid boolean

ed anche nel tool grafico di configurazione (che, da system-config-securitylevel, è diventato system-config-selinux) non sembrano esserci opzioni utili.

Qualcuno conosce un modo per far sì che SELinux non interferisca più con l'operato di Apache?

Grazie
Dario

sacarde
27-08-2008, 10:27
ma in fase di sistallazione non vine chiesto come configurare il firewall ? e come escludere servizi ?

si dovrebbe poter richiamare anche dopo....

Dario64
27-08-2008, 12:32
Sì, in fase d'installazione c'è un tool di configurazione per quanto riguarda sia il firewall che SELinux.
Il mio problema però non riguarda il primo (che, giustamente, blocca le connessioni al mio server dall'esterno), ma il secondo, che interferisce con l'operato locale di apache.

La configurazione di SELinux in fase d'installazione non è molto articolata: viene chiesto solo il livello generale di sicurezza desiderato per il sistema:
http://images.howtoforge.com/images/installation_guide_fedora8_desktop/big/fs6.jpg (è uno screen di Fedora 8, ma mi sembra che quello della 9 sia identico)

Dario

Dario64
27-08-2008, 15:25
Risolto! E senza dover disabilitare SELinux: mi sono accorto che i files che avevo trasferito avevano un contesto di sicurezza differente rispetto a quelli creati dal webserver (httpd_sys_content_t invece di httpd_sys_content_rw_t). Per consentire l'accesso in scrittura è dunque bastato ri-etichettare tutti i files della cartella interessata:

$ chcon -R -t httpd_sys_content_rw_t dati/

in questo modo l'applicazione funziona correttamente.

Non riesco comunque a capacitarmi del fatto che sulle versioni di Fedora successive alla 7 sia impossibile compiere un'operazione elementare come escludere Apache dal controllo di SELinux; invito quindi chiunque sappia qualcosa a darmi delucidazioni in merito.

Ciao e grazie!
Dario

Loading