In RHEL, nachdem wir ein rd.break und die ganze Prozedur gemacht haben, und ein touch /.autorelabel
machen , was macht /.autorelabel?
Akzeptierte Antwort:
Der rd.break
Parameter unterbricht den Bootvorgang, bevor die Kontrolle an den Kernel übergeben wird. An dieser Stelle, wenn Sie passwd
ausführen Befehl zum Zurücksetzen des Passworts, die zugehörige Shadow-Datei (/etc/shadow
) wurde mit einem falschen SELinux-Kontext modifiziert.
Der touch /.autorelabel
Der Befehl erstellt eine versteckte Datei mit dem Namen .autorelabel
unter dem Stammverzeichnis. Beim nächsten Start erkennt das SELinux-Subsystem diese Datei und benennt dann alle Dateien auf diesem System mit den richtigen SELinux-Kontexten neu. Auf großen Festplatten kann dieser Vorgang einige Zeit in Anspruch nehmen.
In der Dokumentation wird auch eine Alternative zum vollständigen Relabeling-Ansatz erwähnt. Verwenden Sie zunächst die Parameter rd.break enforcing=0
beim Bearbeiten des GRUB-Eintrags. Dies führt dazu, dass das System schließlich mit SELinux im Permissive-Modus bootet (warnen, aber nicht blockieren). Fahren Sie dann fort, um das Passwort auf die gleiche Weise wie zuvor zu ändern. Setzen Sie den Startvorgang fort und lassen Sie das System hochfahren. Sobald es angezeigt wird, führen Sie restorecon /etc/shadow
aus um den korrekten SELinux-Kontext in /etc/shadow
wiederherzustellen Datei. Führen Sie dann setenforce 1
aus um SELinux wieder zu aktivieren und das System zu verwenden.