Ich glaube, ich stehe vor einem nicht so häufigen Problem. Ich schrieb
chsh -s /bin/false root
und jetzt kann ich mich nicht als anmelden root
. Gibt es eine Möglichkeit, wie ich mich bei anmelden kann root
? Wenn ich den Befehl versuche
chsh -s /bin/true root
Ich bekomme die Antwort, dass ich die Shell nicht ändern darf, root
und wenn ich versuche, sie /etc/passwd
mit zu bearbeiten nano
, erhalte ich natürlich die Meldung, dass ich dazu keine Berechtigung habe.
Gibt es also eine Lösung, wie ich mich anmelden kann root
?
Antwort1
Führen Sie Folgendes durch:
ssh root@localhost /bin/bash
Sie erhalten keinen Shell-Prompt. Wenn Sie jedoch ls eingeben und die Eingabetaste drücken, wird eine Ausgabe angezeigt. Anschließend können Sie diesen sed-Befehl verwenden, um Ihre Root-Shell zurückzusetzen:
/usr/bin/sed -i -e 's|^\(root.*:\)[^:]*$|\1/bin/bash|g' /etc/passwd
Abhängig von Ihrer Distribution befindet sich der Sed-Befehl möglicherweise unter /bin/sed.
Offensichtlich ist dies eine verzweifelte Maßnahme.
Antwort2
Der einfachste Ausweg besteht wahrscheinlich darin, im Rettungsmodus des Installationsmediums zu booten und das Problem /etc/passwd
auf diese Weise zu beheben.
Antwort3
sudo /bin/bash
sollte funktionieren. Sie werden bash
mit Superuser-Berechtigungen arbeiten, daher sollte das Bearbeiten /etc/passwd
oder Ausführen chsh
kein Problem sein.
Antwort4
Wenn Sie sudo nicht installiert haben, können Sie es einfach installieren und sudo /bin/bash
es sollte funktionieren. Jede Linux-Distribution kann sudo verwenden.
Wenn Sie außerdem eine Kennwortabfrage erhalten, müssen Sie die Authentifizierung mit öffentlichem Schlüssel verwenden und dann kennwortloses Sudo aktivieren. Verwenden Sie dies, um dies zu konfigurierenhttps://spinupwp.com/doc/passwordless-sudo/
Sie sollten in diesem Fall die SSH-Public-Key-Authentifizierung verwenden ^^.