Haftungsausschluss: Diese Frage soll nicht das Problem der Änderung des Root-Passworts lösen, während SELinux aktiv ist, da es bereits viele Anleitungen gibt, um dies zu lösen. So macht SELinux das intern.
Ich bin ein neuer Benutzer von SELinux, aber in letzter Zeit habe ich mehr Kontakt damit. Es gab einen Moment, in dem mich jemand fragte, wie ich das Root-Passwort zurücksetzen könnte, falls ich es vergessen sollte.
Also habe ich mein CentOS gebootet, den Grub-Eintrag auf so etwas bearbeitet
linux16 <kernel_location> root=/dev/mapper/centos-root rw init=/bin/bash
Ich lief passwd
und lief danach sync
und erzwang einen Neustart. Nach dem Neustart wurde die Anmeldung mit dem neuen Passwort ebenso wie mit dem alten natürlich abgelehnt.
Erneuter Neustart und Übergabe des Parameters an den Kernel zum Deaktivieren von SELinux ( selinux=0
). Ich habe versucht, mich mit dem neuen Passwort anzumelden, und es hat funktioniert. Danach habe ich ein fs Auto Relabel (über die Datei .autorelabel
) erzwungen und bei aktivem SELinux war es nun möglich mich einzuloggen .
Meine Frage ist: Warum passiert das? Warum wirkt sich die Neukennzeichnung auf die Anmeldung aus, wenn lediglich das Kennwort und nicht Benutzer oder Objekte geändert wurden?
Vielen Dank für Ihre Aufmerksamkeit.
TL; DR: Das übliche Zurücksetzen des Root-Passworts funktioniert unter SELinux nicht. Warum?
Bearbeiten: Dies wurde auf einer virtuellen Maschine getestet, auf der CentOS7 mit KVM als Hypervisor ausgeführt wird.