Linux/SELinux/04/05 Systemstart: Unterschied zwischen den Versionen
K Dirkwagner verschob die Seite SELinux/DOC/04 Arbeiten mit SELinux/Ändern der SELinux-Modi beim Systemstart nach Linux/SELinux/DOC/04 Arbeiten mit Linux/SELinux/Ändern der Linux/SELinux-Modi beim Systemstart, ohne dabei eine Weiterleitung anzulegen: Textersetzung - „SELinux“ durch „Linux/SELinux“ |
Keine Bearbeitungszusammenfassung |
||
| (6 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
{{Navigation|Linux/SELinux/04/04 Dauerhafte Änderungen|Linux/SELinux/04/06 Booleane}} | |||
'''Linux/SELinux/04/05 Ändern der SELinux-Modi beim Systemstart''' | |||
=== Ändern der SELinux-Modi beim Systemstart === | === Ändern der SELinux-Modi beim Systemstart === | ||
Beim Systemstart können Sie | Beim Systemstart können Kernel-Parameter das SELinux-Verhalten direkt während des Bootvorgangs beeinflussen. | ||
* Diese Parameter überschreiben die übliche SELinux-Konfiguration für den jeweiligen Start. | |||
* Sie sind vor allem für Fehlersuche, Relabeling und Notfallszenarien relevant. | |||
* Für dauerhafte Änderungen über die Konfigurationsdatei siehe [[Linux/SELinux/04/04 Dauerhafte Änderungen|Dauerhafte Änderungen]]. | |||
{| class="wikitable options big" | |||
! Parameter | |||
! Wirkung | |||
! Typischer Einsatz | |||
|- | |||
| ''enforcing=0'' | |||
| Start im permissiven Modus | |||
| Fehlersuche und sicherer Start vor einem Relabeling | |||
|- | |||
| ''selinux=0'' | |||
| Der Kernel lädt keine SELinux-Infrastruktur | |||
| Ausnahmefall bei schweren Startproblemen | |||
|- | |||
| ''autorelabel=1'' | |||
| Erzwingt ein Relabeling beim nächsten Start | |||
| Reparatur fehlerhafter oder unvollständiger Dateilabels | |||
|} | |||
=== ''enforcing=0'' === | |||
Der Parameter ''enforcing=0'' startet das System im permissiven Modus. | |||
<syntaxhighlight lang="text" copy line highlight="1"> | |||
enforcing=0 | |||
</syntaxhighlight> | |||
* SELinux bleibt geladen, erzwingt die Policy jedoch nicht. | |||
* Zugriffe werden nicht blockiert, mögliche Ablehnungen werden aber weiterhin protokolliert. | |||
* Dieser Modus ist für die Fehlersuche besser geeignet als eine vollständige Deaktivierung. | |||
* Neue Labels werden weiterhin korrekt erzeugt. | |||
* Die entstehenden AVC-Meldungen können sich vom Enforcing-Modus unterscheiden, weil Prozesse nach einer protokollierten Ablehnung weiterlaufen können. | |||
=== ''selinux=0'' === | |||
Der Parameter ''selinux=0'' deaktiviert SELinux bereits im Kernel. | |||
<syntaxhighlight lang="text" copy line highlight="1"> | |||
selinux=0 | |||
</syntaxhighlight> | |||
* Der Kernel lädt keinen Teil der SELinux-Infrastruktur. | |||
* Dieser Parameter ist kein regulärer Weg zur Fehlersuche. | |||
* Für Debugging sollte nach Möglichkeit ''enforcing=0'' verwendet werden. | |||
* Wird später wieder mit aktiviertem SELinux gestartet, ist in der Regel ein Relabeling erforderlich. | |||
; Hinweis | |||
: Beim Start mit ''selinux=0'' wird ''/.autorelabel'' vorbereitet, damit das System beim nächsten Start mit aktiviertem SELinux neu gekennzeichnet werden kann. | |||
=== ''autorelabel=1'' === | |||
Der Parameter ''autorelabel=1'' erzwingt ein Relabeling beim Start. | |||
<syntaxhighlight lang="text" copy line highlight="1"> | |||
autorelabel=1 | |||
</syntaxhighlight> | |||
Dies entspricht funktional dem folgenden Ablauf: | |||
<syntaxhighlight lang="bash" copy line highlight=""> | |||
touch /.autorelabel | |||
reboot | |||
</syntaxhighlight> | |||
* Wenn viele Objekte falsch oder gar nicht gelabelt sind, sollte der Start zusätzlich permissiv erfolgen. | |||
* Dafür kann ''autorelabel=1'' mit ''enforcing=0'' kombiniert werden. | |||
=== Relabeling vorbereiten === | |||
Auf Debian und RHEL kann ein Relabeling auch aus dem laufenden System für den nächsten Start vorgemerkt werden. | |||
1. Relabeling für den nächsten Start markieren: | |||
<syntaxhighlight lang="bash" copy line highlight="1"> | |||
fixfiles -F onboot | |||
</syntaxhighlight> | |||
2. System neu starten: | |||
<syntaxhighlight lang="bash" copy line highlight="1"> | |||
reboot | |||
</syntaxhighlight> | |||
3. Falls das System zuvor ohne SELinux betrieben wurde oder viele Labels fehlen, zusätzlich permissiv starten: | |||
<syntaxhighlight lang="text" copy line highlight="1"> | |||
enforcing=0 | |||
</syntaxhighlight> | |||
* ''fixfiles -F onboot'' legt die Markierung für das Relabeling des nächsten Starts an. | |||
* | * Laut Debian-Dokumentation wird ''/.autorelabel'' beim automatischen Relabeling mit ''fixfiles -F restore'' ausgewertet. | ||
=== Unterschiede zwischen Debian und RHEL === | |||
* Die Kernel-Parameter ''enforcing=0'', ''selinux=0'' und ''autorelabel=1'' sind distributionsunabhängig. | |||
* | * RHEL dokumentiert diese Parameter direkt im SELinux-Handbuch. | ||
* Debian dokumentiert die zugehörige Relabeling-Mechanik vor allem über ''fixfiles(8)'' und ''selinux_config(5)''. | |||
* Die konkrete Eintragung in die Bootloader-Konfiguration ist distributions- und Bootloader-abhängig und wird hier nicht behandelt. | |||
=== Hinweise === | |||
* Boot-Parameter wirken nur bei Starts, bei denen sie tatsächlich übergeben werden. | |||
* Bleibt ein Parameter dauerhaft in der Bootloader-Konfiguration eingetragen, gilt er bei jedem weiteren Start. | |||
* Für den normalen Betrieb sollte SELinux nicht über ''selinux=0'', sondern nur in begründeten Ausnahmefällen vollständig deaktiviert werden. | |||
== Weblinks == | |||
Red Hat Documentation: | |||
* https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/10/html/using_selinux/changing-selinux-states-and-modes | |||
Debian Manpages: | |||
* https://manpages.debian.org/testing/policycoreutils/fixfiles.8.en.html | |||
* https://manpages.debian.org/testing/policycoreutils/selinux_config.5.en.html | |||
{{Navigation|Linux/SELinux/04/04 Dauerhafte Änderungen|Linux/SELinux/04/06 Booleane}} | |||
[[Kategorie:Linux/SELinux | [[Kategorie:Linux/SELinux/04]] | ||
Aktuelle Version vom 31. März 2026, 10:48 Uhr
Linux/SELinux/04/05 Ändern der SELinux-Modi beim Systemstart
Ändern der SELinux-Modi beim Systemstart
Beim Systemstart können Kernel-Parameter das SELinux-Verhalten direkt während des Bootvorgangs beeinflussen.
- Diese Parameter überschreiben die übliche SELinux-Konfiguration für den jeweiligen Start.
- Sie sind vor allem für Fehlersuche, Relabeling und Notfallszenarien relevant.
- Für dauerhafte Änderungen über die Konfigurationsdatei siehe Dauerhafte Änderungen.
| Parameter | Wirkung | Typischer Einsatz |
|---|---|---|
| enforcing=0 | Start im permissiven Modus | Fehlersuche und sicherer Start vor einem Relabeling |
| selinux=0 | Der Kernel lädt keine SELinux-Infrastruktur | Ausnahmefall bei schweren Startproblemen |
| autorelabel=1 | Erzwingt ein Relabeling beim nächsten Start | Reparatur fehlerhafter oder unvollständiger Dateilabels |
enforcing=0
Der Parameter enforcing=0 startet das System im permissiven Modus.
enforcing=0
- SELinux bleibt geladen, erzwingt die Policy jedoch nicht.
- Zugriffe werden nicht blockiert, mögliche Ablehnungen werden aber weiterhin protokolliert.
- Dieser Modus ist für die Fehlersuche besser geeignet als eine vollständige Deaktivierung.
- Neue Labels werden weiterhin korrekt erzeugt.
- Die entstehenden AVC-Meldungen können sich vom Enforcing-Modus unterscheiden, weil Prozesse nach einer protokollierten Ablehnung weiterlaufen können.
selinux=0
Der Parameter selinux=0 deaktiviert SELinux bereits im Kernel.
selinux=0
- Der Kernel lädt keinen Teil der SELinux-Infrastruktur.
- Dieser Parameter ist kein regulärer Weg zur Fehlersuche.
- Für Debugging sollte nach Möglichkeit enforcing=0 verwendet werden.
- Wird später wieder mit aktiviertem SELinux gestartet, ist in der Regel ein Relabeling erforderlich.
- Hinweis
- Beim Start mit selinux=0 wird /.autorelabel vorbereitet, damit das System beim nächsten Start mit aktiviertem SELinux neu gekennzeichnet werden kann.
autorelabel=1
Der Parameter autorelabel=1 erzwingt ein Relabeling beim Start.
autorelabel=1
Dies entspricht funktional dem folgenden Ablauf:
touch /.autorelabel
reboot
- Wenn viele Objekte falsch oder gar nicht gelabelt sind, sollte der Start zusätzlich permissiv erfolgen.
- Dafür kann autorelabel=1 mit enforcing=0 kombiniert werden.
Relabeling vorbereiten
Auf Debian und RHEL kann ein Relabeling auch aus dem laufenden System für den nächsten Start vorgemerkt werden.
1. Relabeling für den nächsten Start markieren:
fixfiles -F onboot
2. System neu starten:
reboot
3. Falls das System zuvor ohne SELinux betrieben wurde oder viele Labels fehlen, zusätzlich permissiv starten:
enforcing=0
- fixfiles -F onboot legt die Markierung für das Relabeling des nächsten Starts an.
- Laut Debian-Dokumentation wird /.autorelabel beim automatischen Relabeling mit fixfiles -F restore ausgewertet.
Unterschiede zwischen Debian und RHEL
- Die Kernel-Parameter enforcing=0, selinux=0 und autorelabel=1 sind distributionsunabhängig.
- RHEL dokumentiert diese Parameter direkt im SELinux-Handbuch.
- Debian dokumentiert die zugehörige Relabeling-Mechanik vor allem über fixfiles(8) und selinux_config(5).
- Die konkrete Eintragung in die Bootloader-Konfiguration ist distributions- und Bootloader-abhängig und wird hier nicht behandelt.
Hinweise
- Boot-Parameter wirken nur bei Starts, bei denen sie tatsächlich übergeben werden.
- Bleibt ein Parameter dauerhaft in der Bootloader-Konfiguration eingetragen, gilt er bei jedem weiteren Start.
- Für den normalen Betrieb sollte SELinux nicht über selinux=0, sondern nur in begründeten Ausnahmefällen vollständig deaktiviert werden.
Weblinks
Red Hat Documentation:
Debian Manpages: