Su alcune delle distribuzioni Linux SELinux è abilitato per impostazione predefinita, il che potrebbe causare alcuni problemi indesiderati, se non t capire come funziona SELinux ei dettagli fondamentali su come configurarlo. Consiglio vivamente di comprendere SELinux e implementarlo nel proprio ambiente. Tuttavia, finché non avrai compreso i dettagli di implementazione di SELinux, potresti voler disabilitarlo per evitare problemi inutili.
Per disabilitare SELinux puoi utilizzare uno qualsiasi dei 4 diversi metodi menzionati in questo articolo.
SELinux applicherà le politiche di sicurezza inclusi i controlli di accesso obbligatori definiti dal Dipartimento della Difesa degli Stati Uniti utilizzando il Linux Security Module (LSM) definito nel kernel Linux. Ogni file e processo nel sistema verrà contrassegnato con etichette specifiche che verranno utilizzate da SELinux. Puoi usare ls -Z e visualizzare quelle etichette come mostrato di seguito.
# ls -Z /etc/ -rw-r--r-- root root system_u:object_r:etc_t:s0 a2ps.cfg -rw-r--r-- root root system_u:object_r:adjtime_t:s0 adjtime -rw-r--r-- root root system_u:object_r:etc_aliases_t:s0 aliases drwxr-x--- root root system_u:object_r:auditd_etc_t:s0 audit drwxr-xr-x root root system_u:object_r:etc_runtime_t:s0 blkid drwxr-xr-x root root system_u:object_r:bluetooth_conf_t:s0 bluetooth drwx------ root root system_u:object_r:system_cron_spool_t:s0 cron.d -rw-rw-r-- root disk system_u:object_r:amanda_dumpdates_t:s0 dumpdates
Metodo 1:disabilitare SELinux temporaneamente
Per disabilitare temporaneamente SELinux devi modificare il file /selinux/enforce come mostrato di seguito. Tieni presente che questa impostazione non sarà più disponibile dopo il riavvio del sistema.
# cat /selinux/enforce 1 # echo 0 > /selinux/enforce # cat /selinux/enforce 0
Puoi anche usare il comando setenforce come mostrato di seguito per disabilitare SELinux. Possibili parametri per impostare i comandi sono:Enforcing , Permissive, 1 (abilita) o 0 (disabilita).
# setenforce 0
Metodo 2:disabilitare SELinux in modo permanente
Per disabilitare SELinux in modo permanente, modificare /etc/selinux/config e impostare SELINUX=disabled come mostrato di seguito. Una volta apportate modifiche a /etc/selinux/config, riavviare il server affinché le modifiche vengano prese in considerazione.
# cat /etc/selinux/config SELINUX=disabled SELINUXTYPE=targeted SETLOCALDEFS=0
Di seguito sono riportati i possibili valori per SELINUX variabile in /etc/selinux/config file
- applicare – La politica di sicurezza è sempre rafforzata
- permissivo – Questo simula semplicemente la politica di applicazione stampando solo messaggi di avviso e non applicando realmente SELinux. Questo è utile per vedere prima come funziona SELinux e poi capire quali politiche dovrebbero essere applicate.
- disabilitato – Disattiva completamente SELinux
Di seguito sono riportati i possibili valori per SELINUXTYPE variabile in /etc/selinux/config file. Questo indica il tipo di politiche che possono essere usate per SELinux.
- mirato – Questa politica proteggerà solo specifici daemon di rete mirati.
- rigoroso – Questo è per la massima protezione di SELinux.
Metodo 3:Disabilita SELinux dal Grub Boot Loader
Se non riesci a individuare il file /etc/selinux/config sul tuo sistema, puoi passare disable SELinux passandolo come parametro al Grub Boot Loader come mostrato di seguito.
# cat /boot/grub/grub.conf default=0 timeout=5 splashimage=(hd0,0)/boot/grub/splash.xpm.gz hiddenmenu title Enterprise Linux Enterprise Linux Server (2.6.18-92.el5PAE) root (hd0,0) kernel /boot/vmlinuz-2.6.18-92.el5PAE ro root=LABEL=/ rhgb quiet selinux=0 initrd /boot/initrd-2.6.18-92.el5PAE.img title Enterprise Linux Enterprise Linux Server (2.6.18-92.el5) root (hd0,0) kernel /boot/vmlinuz-2.6.18-92.el5 ro root=LABEL=/ rhgb quiet selinux=0 initrd /boot/initrd-2.6.18-92.el5.img
Metodo 4:disabilitare solo un servizio specifico in SELinux – HTTP/Apache
Se non sei interessato a disabilitare l'intero SELinux, puoi anche disabilitare SELinux solo per un servizio specifico. Ad esempio, disabilita SELinux per il servizio HTTP/Apache, modifica il httpd_disable_trans variabile in /etc/selinux/targeted/booleans file.
Imposta la variabile httpd_disable_trans su 1 come mostrato di seguito.
# grep httpd /etc/selinux/targeted/booleans httpd_builtin_scripting=1 httpd_disable_trans=1 httpd_enable_cgi=1 httpd_enable_homedirs=1 httpd_ssi_exec=1 httpd_tty_comm=0 httpd_unified=1
Imposta il valore booleano di SELinux usando il comando setsebool come mostrato di seguito. Assicurati di riavviare il servizio HTTP dopo questa modifica.
# setsebool httpd_disable_trans 1 # service httpd restart