Auf einigen Linux-Distributionen ist SELinux standardmäßig aktiviert, was einige unerwünschte Probleme verursachen kann, wenn Sie dies nicht tun Sie verstehen nicht, wie SELinux funktioniert und welche grundlegenden Details zu seiner Konfiguration vorliegen. Ich empfehle dringend, dass Sie SELinux verstehen und in Ihrer Umgebung implementieren. Aber bis Sie die Implementierungsdetails von SELinux verstanden haben, möchten Sie es vielleicht deaktivieren, um einige unnötige Probleme zu vermeiden.
Um SELinux zu deaktivieren Sie können eine der 4 verschiedenen Methoden verwenden, die in diesem Artikel erwähnt werden.
Das SELinux setzt Sicherheitsrichtlinien durch, einschließlich der obligatorischen Zugriffskontrollen, die vom US-Verteidigungsministerium mithilfe des definierten Linux-Sicherheitsmoduls (LSM) definiert wurden im Linux-Kernel. Alle Dateien und Prozesse im System werden mit bestimmten Labels versehen, die von SELinux verwendet werden. Sie können ls -Z verwenden und diese Labels wie unten gezeigt anzeigen.
# 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:SELinux vorübergehend deaktivieren
Um SELinux vorübergehend zu deaktivieren, müssen Sie die Datei /selinux/enforce wie unten gezeigt ändern. Bitte beachten Sie, dass diese Einstellung nach dem Neustart des Systems verschwunden ist.
# cat /selinux/enforce 1 # echo 0 > /selinux/enforce # cat /selinux/enforce 0
Sie können auch den Befehl setenforce wie unten gezeigt verwenden, um SELinux zu deaktivieren. Mögliche Parameter für setenforce-Befehle sind:Enforcing , Permissive, 1 (enable) oder 0 (disable).
# setenforce 0
Methode 2:SELinux dauerhaft deaktivieren
Um SELinux dauerhaft zu deaktivieren, ändern Sie /etc/selinux/config und setzen Sie SELINUX=disabled wie unten gezeigt. Wenn Sie Änderungen an /etc/selinux/config vornehmen, starten Sie den Server neu, damit die Änderungen berücksichtigt werden.
# cat /etc/selinux/config SELINUX=disabled SELINUXTYPE=targeted SETLOCALDEFS=0
Im Folgenden sind die möglichen Werte für SELINUX aufgeführt Variable in /etc/selinux/config Datei
- durchsetzen – Die Sicherheitsrichtlinie wird immer erzwungen
- permissiv – Dies simuliert nur die Erzwingungsrichtlinie, indem nur Warnmeldungen ausgegeben werden und SELinux nicht wirklich erzwungen wird. Dies ist gut, um zuerst zu sehen, wie SELinux funktioniert, und später herauszufinden, welche Richtlinien durchgesetzt werden sollten.
- deaktiviert – Deaktivieren Sie SELinux vollständig
Im Folgenden sind die möglichen Werte für SELINUXTYPE aufgeführt Variable in /etc/selinux/config Datei. Dies gibt den Richtlinientyp an, der für SELinux verwendet werden kann.
- gezielt – Diese Richtlinie schützt nur bestimmte gezielte Netzwerk-Daemons.
- streng – Dies dient dem maximalen SELinux-Schutz.
Methode 3:Deaktivieren Sie SELinux vom Grub-Bootloader
Wenn Sie die Datei /etc/selinux/config auf Ihrem System nicht finden können, können Sie SELinux deaktivieren, indem Sie sie wie unten gezeigt als Parameter an den Grub-Bootloader übergeben.
# 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 Sie nur einen bestimmten Dienst in SELinux – HTTP/Apache
Wenn Sie nicht daran interessiert sind, SELinux vollständig zu deaktivieren, können Sie SELinux auch nur für einen bestimmten Dienst deaktivieren. Deaktivieren Sie beispielsweise SELinux für den HTTP/Apache-Dienst, ändern Sie httpd_disable_trans Variable in /etc/selinux/targeted/booleans Datei.
Setzen Sie die Variable httpd_disable_trans wie unten gezeigt auf 1.
# 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
Setzen Sie den booleschen Wert von SELinux mit dem Befehl setsebool wie unten gezeigt. Achten Sie darauf, den HTTP-Dienst nach dieser Änderung neu zu starten.
# setsebool httpd_disable_trans 1 # service httpd restart