4 metode za isključivanje SELinuxa
Kod nekih Linux distribucija je SELinux podrazumevano uključen, što može dovesti do raznih problema. Ako ne razumete kako SELinux radi i ne znate kako ga pravilno konfigurisati, najbolje je da ga isključite dok ne savladate osnovne principe njegovog rada.
Za isključivanje SELinuxa možete koristiti bilo koju od 4 opisane metode.
Nećemo se detaljno zadržavati na tome za šta se SELinux koristi, već ćemo preći direktno na njegovo isključivanje. Ako sistem koristi SELinux, izvršavanjem komande ls -Z možete videti nešto slično.
# 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
Metod 1: Privremeno isključivanje SELinuxa
Za privremeno isključivanje SELinuxa možete modifikovati fajl /selinux/enforce. Imajte na umu da je ovo privremeno isključivanje i da će se nakon restarta sistema SELinux ponovo aktivirati.
# cat /selinux/enforce
1
# echo 0 > /selinux/enforce
# cat /selinux/enforce
0
Takođe možete koristiti komandu setenforce, kao što je prikazano u primeru ispod. Mogući parametri za komandu setenforce su: Enforcing, Permissive, 1 (uključeno) ili 0 (isključeno).
# setenforce 0
Metod 2: Trajno isključivanje SELinuxa
Za trajno isključivanje SELinuxa, izmenite fajl /etc/selinux/config i postavite SELINUX=disabled, kako je prikazano ispod. Nakon toga restartujte server.
# cat /etc/selinux/config
SELINUX=disabled
SELINUXTYPE=targeted
SETLOCALDEFS=0
Metod 3: Isključivanje SELinuxa kroz GRUB bootloader
Treći način koristi mogućnosti sistemskog GRUB bootloadera za isključivanje SELinuxa. Dodajte selinux=0 na kraj linije.
# 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
Metod 4: Isključivanje SELinuxa samo za određene servise – HTTP/Apache
Ako vam nije potrebno da potpuno isključite SELinux, već samo za određene servise, imate tu mogućnost. Kao primer, isključićemo SELinux za HTTP/Apache tako što ćemo promeniti vrednost promenljive httpd_disable_trans u fajlu /etc/selinux/targeted/booleans.
# grep httpd /etc/selinux/targeted/booleans
httpd_builtin_scripting=1
<strong>httpd_disable_trans=1
</strong>httpd_enable_cgi=1
httpd_enable_homedirs=1
httpd_ssi_exec=1
httpd_tty_comm=0
httpd_unified=1
Postavite promenljivu koristeći i komandu setsebool. Nakon toga, restartujte httpd da bi promene stupile na snagu.
# <strong>setsebool httpd_disable_trans 1
</strong># service httpd restart
