Server dedicat Linux: cum sa opresti SELinux

Pe unele distributii de Linux, SELinux este activat in mod implicit. In cazul in care nu intelegeti exact cum functioneaza SELinux, daca acesta este activat, pot aparea diferite probleme. In acest caz, pana cand intelegeti exact cum trebuie configurat si cum functioneaza SELinux, este mai bine sa-l dezactivati. De exemplu, nu veti putea instala cPanel pe un server dedicat daca SELinux este activat.

Exista mai multe metode prin care puteti dezactiva SELinux:

Pentru a dezactiva temporar SELinux trebuie sa modificati fisierul /selinux/enforce:

# cat /selinux/enforce
1
# echo 0 > /selinux/enforce

# cat /selinux/enforce
0

Puteti utiliza si comanda setenforce pentru a dezactiva SELinux. Comanda suporta 3 parametri: Enforcing, Permissive, 1 (activat) sau 0 (dezactivat)

# setenforce 0

Pentru a dezactiva definitiv SELinux, trebuie modificat fisierul /etc/selinux/config si trebuie setat SELINUX=disabled in acest fisier

# cat /etc/selinux/config
SELINUX=disabled
SELINUXTYPE=targeted
SETLOCALDEFS=0

In acest fisier se pot seta urmatorii parametri:
enforcing – Politica de executare este intotdeauna Enforced
permissive – Se simuleaza politica de executare prin afisarea de mesaje, insa nu se executa efectiv SELinux
disabled – Se dezactiveaza complet SELinux

Daca fisierul /etc/selinux/config nu exista pe serverul dedicat, SELinux poate fi dezactivat utilizand un parametru in meniul de bootare al boot loaderului GRUB.

# 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

Daca nu doriti dezactivarea SELinux la nivel global pe server, il puteti totusi dezactiva doar pentru un anumit serviciu care ruleaza pe server, de exemplu, pentru serverul web apache.

Se modifica fisierul /etc/selinux/targeted/booleans conform instructiunilor de mai jos:

# 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

Se foloseste comanda setsebool:

# setsebool httpd_disable_trans 1

Pentru ca aceste modificari sa devina operationale, este necesar sa restarati serviciul apache (httpd):

# service httpd restart