Ich habe eine VirtualBox-Instanz von Oracle Linux 7.2, die wegen nicht gestartet werden kann Failed to start Login Service
. Während der Startsequenz hängt der Prozess an dieser Nachricht und wird nicht fortgesetzt, sodass ich mich nicht einmal anmelden und ausführen kann systemctl status systemd-logind.service
.
Die wahrscheinliche Ursache dafür ist, dass ich zsh entfernt habe, während alle meine Benutzer (einschließlich root) zsh als Standard-Shell festgelegt haben (duh!). Danach startete der Computer und ich kam zur Anmeldeaufforderung, konnte mich aber nicht anmelden, da die Shell nicht gefunden wurde. Ich legte dann eine Live-CD ein und ging in /etc/passwd
, um die Standard-Shell für Benutzer zu ändern /bin/bash
. Danach wird der Anmeldedienst überhaupt nicht mehr gestartet. Irgendwelche Ideen, wie man das behebt?
disabled
für mich hat funktioniert, aber nichtpermissive
, Prost!Nach der Verwendung
chage
im Einzelbenutzermodus aufgrund eines abgelaufenen Kennworts muss mitSELINUX=permissive
set in/etc/selinux/config
gestartet werden, um die richtigen Beschriftungen wiederherzustellen.Holen Sie sich den richtigen SELinux-Kontext für jede geänderte Datei von einem vernünftigen System mit
ls -Z /etc/passwd /etc/shadow
und wenden Sie den Kontext wieder auf ein defektes System an.Als Beispiel finden Sie hier eine Reihe von Befehlen, die auf einem CentOS 7 verwendet werden, nachdem
chage
- NICHT ohne Vergleich eines vernünftigen Systems (Test oder Vorproduktion) angewendet werden!Überprüfen Sie den SELinux-Kontext aller Dateien, die Sie im Einzelmodus geändert haben, bevor Sie mit neu starten
SELINUX=enforcing
, um zum normalen Betrieb zurückzukehren.Weitere Möglichkeiten zum Kopieren des SELinux-Kontexts finden Sie unter Kopieren des SELinux-Kontexts aus einem Verzeichnis und Anwenden auf ein anderes Verzeichnis.
quelle
restorecon
oderfixfiles restore
weiter/etc/passwd
. Wenn mehr Dateien vorhanden sind, z. B./etc/passwd-
falsch beschriftet, ist es umfassender, sie nur auszuführenfixfiles restore
. Oderfixfiles onboot
und starten Sie neu; Dies kann theoretisch zuverlässiger sein.Ich bin heute mit CentOS 7.2 auf VirtualBox darauf gestoßen. Ich konnte mich
ssh
als regulärer Benutzer anmelden und ausstellenAnschließend neu gestartet, um alle Kontexte zurückzusetzen. Das Booten dauert eine Weile, hat aber funktioniert.
quelle