Crmgo Блог

SELinux

SELinux

4 методи вимкнення SELinux У деяких дистрибутивах Linux SELinux увімкнено за замовчуванням, і в результаті можуть виникати різні проблеми. Якщо ви не розумієте, як працює SELinux, і не вмієте правильно його налаштовувати, найкраще вимкнути його доти, доки…

SELinux

4 методи вимкнення SELinux

У деяких дистрибутивах Linux SELinux увімкнено за замовчуванням, і в результаті можуть виникати різні проблеми. Якщо ви не розумієте, як працює SELinux і не вмієте правильно його налаштовувати, найкраще вимкнути його доти, доки ви не вивчите основні принципи його роботи

Для вимкнення SELinux ви можете використати будь-який з 4-х описаних методів.

Ми не будемо докладно зупинятися на тому, для чого використовується SELinux, і приступимо безпосередньо до вимкнення. Якщо в системі використовується SELinux, то виконавши команду ls -Z ви можете побачити таку картину.
# <strong>ls -Z /etc/
</strong>-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
Метод 1: Тимчасове вимкнення SELinux

Для тимчасового вимкнення SELinux ви можете модифікувати файл /selinux/enforce. Зверніть увагу, це тимчасове вимкнення, і після перезавантаження системи SELinux буде працювати знову.
# cat /selinux/enforce
1
# <strong>echo 0 > /selinux/enforce</strong>
# cat /selinux/enforce
0

Також можна використати команду setenforce, як показано в прикладі нижче. Можливі параметри команди setenforce такі: Enforcing , Permissive, 1 (увімкнути) or 0 (вимкнути).
# setenforce 0
Метод 2: Постійне вимкнення SELinux

Для постійного вимкнення SELinux, змініть файл /etc/selinux/config і встановіть SELINUX=disabled як показано нижче. Після цього перезавантажте сервер.
# <strong>cat /etc/selinux/config</strong>
SELINUX=disabled
SELINUXTYPE=targeted
SETLOCALDEFS=0
Метод 3: Вимкнення SELinux у завантажувачі Grub

Третій спосіб використовує можливості завантажувача системи GRUB для вимкнення SELinux. Додайте в кінець рядка selinux=0
# <strong>cat /boot/grub/grub.conf</strong>
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 <strong>selinux=0</strong>
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 <strong>selinux=0</strong>
initrd /boot/initrd-2.6.18-92.el5.img
Метод 4: Вимикаємо SELinux тільки для певних сервісів – HTTP/Apache

Якщо вам необхідно не повністю вимкнути SELinux, а тільки для певних служб, у вас є така можливість. Для прикладу вимкнемо SELinux для HTTP/Apache, змінивши значення змінної httpd_disable_trans у файлі /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

Встановіть змінну також за допомогою команди setsebool. Після цього перезапустіть httpd, щоб зміни набули чинності.
# <strong>setsebool httpd_disable_trans 1
</strong># service httpd restart

Примітка: матеріал міг бути створений за підтримки ШІ з подальшою людською редакцією. Відповідальний за зміст: Dmytro Lomaka, Kaltenkirchen.