Crmgo Blog

SELinux

SELinux

4 Methoden zum Deaktivieren von SELinux In einigen Linux-Distributionen ist SELinux standardmäßig aktiviert, was zu verschiedenen Problemen führen kann. Wenn Sie nicht verstehen, wie SELinux funktioniert und es nicht richtig konfigurieren können, ist es am besten, es vorübergehend zu deaktivieren, bis…

SELinux

4 Methoden zum Deaktivieren von SELinux

In einigen Linux-Distributionen ist SELinux standardmäßig aktiviert, was zu verschiedenen Problemen führen kann. Wenn Sie nicht verstehen, wie SELinux funktioniert und es nicht richtig konfigurieren können, ist es am besten, es zu deaktivieren, bis Sie die grundlegenden Funktionsprinzipien verstanden haben.

Zum Deaktivieren von SELinux können Sie eine der vier beschriebenen Methoden verwenden.

Wir werden nicht detailliert darauf eingehen, wofür SELinux verwendet wird, und fahren direkt mit der Deaktivierung fort. Wenn SELinux im System aktiv ist, können Sie durch Ausführen des Befehls ls -Z eine ähnliche Ausgabe sehen.
# 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
Methode 1: Temporäres Deaktivieren von SELinux

Um SELinux temporär zu deaktivieren, können Sie die Datei /selinux/enforce modifizieren. Beachten Sie, dass dies eine temporäre Deaktivierung ist; nach einem Neustart des Systems wird SELinux wieder aktiv sein.
# cat /selinux/enforce
1
# echo 0 > /selinux/enforce
# cat /selinux/enforce
0

Alternativ können Sie den Befehl setenforce verwenden, wie im folgenden Beispiel gezeigt. Die möglichen Parameter für setenforce sind: Enforcing, Permissive, 1 (aktivieren) oder 0 (deaktivieren).
# setenforce 0
Methode 2: Permanentes Deaktivieren von SELinux

Um SELinux dauerhaft zu deaktivieren, ändern Sie die Datei /etc/selinux/config und setzen Sie SELINUX=disabled, wie unten gezeigt. Starten Sie den Server anschließend neu.
# cat /etc/selinux/config
SELINUX=disabled
SELINUXTYPE=targeted
SETLOCALDEFS=0
Methode 3: Deaktivieren von SELinux im GRUB-Bootloader

Die dritte Methode nutzt die Funktionen des System-Bootloaders GRUB, um SELinux zu deaktivieren. Fügen Sie am Ende der Zeile selinux=0 hinzu.
# 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
Methode 4: Deaktivieren von SELinux nur für bestimmte Dienste – HTTP/Apache

Falls Sie SELinux nicht vollständig, sondern nur für bestimmte Dienste deaktivieren möchten, ist dies möglich. Als Beispiel deaktivieren wir SELinux für HTTP/Apache, indem wir den Wert der Variablen httpd_disable_trans in der Datei /etc/selinux/targeted/booleans ändern.

# 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

Legen Sie die Variable auch mit dem Befehl setsebool fest. Starten Sie anschließend httpd neu, damit die Änderungen wirksam werden.
# <strong>setsebool httpd_disable_trans 1
</strong># service httpd restart

Hinweis: Dieser Beitrag kann KI-unterstützt erstellt und anschließend redaktionell geprüft worden sein. Verantwortlich: Dmytro Lomaka, Kaltenkirchen.