Linux/SELinux/11 Fehlerbehebung
SELinux/11 Fehlerbehebung
Beschreibung
- Vorgänge, bei einer Zugriffsverweigerung
- Häufige Ursachen für Probleme
- Informationen zur korrekten Kennzeichnung finden
- Analyse von SELinux-Verweigerungen
- Erstellen benutzerdefinierter Policy-Module
- Vorgänge, bei einer Zugriffsverweigerung
SELinux-Entscheidungen, wie das Zulassen oder Verweigern von Zugriff, werden zwischengespeichert
- Dieser Cache wird als Access Vector Cache (AVC) bezeichnet
- Wenn SELinux den Zugriff verweigert, werden Verweigerungsmeldungen protokolliert
- Diese Verweigerungen werden auch als „AVC-Verweigerungen“ bezeichnet
- Protokolle
... und je nach den laufenden Daemons an unterschiedlichen Orten protokolliert:
| Daemon | Protokollort |
|---|---|
| auditd aktiv | /var/log/audit/audit.log |
| auditd aus; rsyslogd ein | /var/log/messages |
| setroubleshootd, rsyslogd und auditd ein | /var/log/audit/audit.log
|
Wenn Sie das X Window System ausführen, die Pakete setroubleshoot und setroubleshoot-server installiert haben und die Daemons setroubleshootd und [[auditd] laufen, wird eine Warnung angezeigt, wenn der Zugriff von SELinux verweigert wird:
Ein Klick auf Anzeigen zeigt eine detaillierte Analyse der Gründe für die Zugriffsverweigerung durch SELinux sowie eine mögliche Lösung zur Gewährung des Zugriffs an
- Wenn Sie das X Window System nicht verwenden, ist es weniger offensichtlich, wenn der Zugriff durch SELinux verweigert wird
Beispielsweise können Benutzer, die Ihre Website besuchen, eine Fehlermeldung ähnlich der folgenden erhalten:
Zugriff verweigert
Sie haben keine Berechtigung, auf ‚'Dateiname‘' auf diesem Server zuzugreifen
In solchen Situationen sollten Sie, sofern DAC-Regeln (Standard-Linux-Berechtigungen) den Zugriff erlauben, die Dateien
- /var/log/messages
- /var/log/audit/audit.log
auf Fehlermeldungen wie
- „SELinux is preventing“
- „denied“
überprüfen
Dies können Sie tun, indem Sie als Root-Benutzer die folgenden Befehle ausführen:
sudo grep „SELinux is preventing“ /var/log/messages sudo grep „denied“ /var/log/audit/audit.log
Anhang
Siehe auch
- Dateien in /etc/selinux/targeted/contexts/files/
- definieren Kontexte für Dateien und Verzeichnisse
- Dateien in diesem Verzeichnis werden von den Dienstprogrammen restorecon und setfiles gelesen, um Dateien und Verzeichnisse in ihre Standardkontexte zurückzusetzen
- Der Befehl semanage port -a fügt einen Eintrag zur Datei /etc/selinux/targeted/modules/active/ports.local hinzu
- Beachten Sie, dass diese Datei standardmäßig nur von root eingesehen werden kann
Dokumentation
- Man-Page
- ausearch(8)
- aureport(8)
- sealert(8)
- audit2allow(1)