Einführung
SELinux ist ein in den Linux-Kernel integrierter Mandatory Access Control (MAC) Enforcer. Es schränkt die Privilegien einzelner Dienste ein, deren Schwachstellen eine Bedrohung für das System darstellen könnten.
CentOS-Systeme ohne SELinux verlassen sich auf die Konfiguration aller ihrer privilegierten Softwareanwendungen. Eine einzige Fehlkonfiguration kann das gesamte System gefährden. Wenn Sie dieser Anleitung folgen, erfahren Sie, wie Sie SELinux unter CentOS 7 deaktivieren .
Warum SELinux deaktivieren?
Nicht alle Anwendungen unterstützen SELinux. Daher kann SELinux notwendige Prozesse während der regulären Nutzung und Installation von Softwarepaketen beenden. In diesen Fällen empfehlen wir Ihnen, diesen Dienst zu deaktivieren.
Voraussetzungen
- Zugriff auf ein Benutzerkonto mit sudo Privilegien
- Zugriff auf ein Terminal/eine Befehlszeile
- Ein RHEL-basiertes System wie CentOS 7
- Ein Texteditor wie nano oder vim
Schritte zum Deaktivieren von SELinux auf CentOS
Schritt 1:Überprüfen Sie den SELinux-Status
Der SELinux-Dienst ist auf CentOS und den meisten anderen RHEL-basierten Systemen standardmäßig aktiviert. Dies ist jedoch möglicherweise nicht der Fall für Ihr System.
Überprüfen Sie zunächst den Status von SELinux auf Ihrem System mit dem Befehl:
sestatus
Die folgende Beispielausgabe zeigt an, dass SELinux aktiviert ist. Der Status zeigt an, dass sich der Dienst im Enforcement befindet Modus .
SELinux kann das normale Funktionieren von Anwendungen verhindern. Der Dienst verweigert den Zugriff, wenn:
- Eine Datei hat ein falsches Label.
- Eine inkompatible Anwendung versucht, auf eine verbotene Datei zuzugreifen.
- Ein Dienst wird unter der falschen Sicherheitsrichtlinie ausgeführt.
- Ein Einbruch wurde erkannt.
Wenn Sie feststellen, dass Dienste nicht ordnungsgemäß ausgeführt werden, überprüfen Sie die SELinux-Protokolldateien. Die Protokolle befinden sich in /var/log/audit/audit.log . Die häufigsten Protokollmeldungen sind mit „AVC“ gekennzeichnet. Wenn Sie keine Protokolle finden können, suchen Sie in /var/log/messages . Das System schreibt Protokolle in diese Datei, wenn auditd Daemon läuft nicht.
Schritt 2:SELinux deaktivieren
Option 1:SELinux vorübergehend deaktivieren
Um SELinux vorübergehend zu deaktivieren, geben Sie den folgenden Befehl im Terminal ein:
sudo setenforce 0
In sudo setenforce 0 , können Sie permissive verwenden statt 0.
Dieser Befehl ändert den SELinux-Modus von gezielt auf permissiv .
In freizügig Modus ist der Dienst aktiv und überwacht alle Aktionen. Es erzwingt jedoch keine Sicherheitsrichtlinien. Das System protokolliert AVC Nachrichten.
Die Änderung ist nur bis zum nächsten Neustart aktiv. Informationen zum dauerhaften Deaktivieren von SELinux finden Sie im nächsten Abschnitt des Artikels.
Option 2:SELinux dauerhaft deaktivieren
Um den Dienst dauerhaft zu deaktivieren, verwenden Sie einen Texteditor (z. B. vim oder nano) und bearbeiten Sie die Datei /etc/sysconfig/selinux Datei wie unten beschrieben.
1. Öffnen Sie /etc/sysconfig/selinux Datei. Wir werden vim verwenden . Wenn Sie mit Texteditoren nicht vertraut sind, lesen Sie unsere Anleitung zum Speichern und Beenden einer Datei vim.
Geben Sie den folgenden Befehl ein, um die Datei zu öffnen:
sudo vi /etc/sysconfig/selinux
2. Ändern Sie das SELINUX=enforcing Direktive zu SELINUX=disabled.
3. Speichern Sie die bearbeitete Datei.
Starten Sie CentOS neu, um die Änderungen zu speichern
Damit die Änderung wirksam wird, müssen Sie das System mit dem Befehl neu starten:
sudo shutdown -r now
Überprüfen Sie nach dem Neustart den Dienststatus, um zu bestätigen, dass SELinux deaktiviert ist. Verwenden Sie den Befehl:
sestatus
Der Status sollte deaktiviert sein , wie im Bild oben zu sehen. Das System lädt keine SELinux-Richtlinien und schreibt keine AVC Protokolle.