Ist es möglich, die Root-Shell vom Benutzer aus zu ändern?

Ist es möglich, die Root-Shell vom Benutzer aus zu ändern?

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, rootund wenn ich versuche, sie /etc/passwdmit 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/passwdauf diese Weise zu beheben.

Antwort3

sudo /bin/bashsollte funktionieren. Sie werden bashmit Superuser-Berechtigungen arbeiten, daher sollte das Bearbeiten /etc/passwdoder Ausführen chshkein Problem sein.

Antwort4

Wenn Sie sudo nicht installiert haben, können Sie es einfach installieren und sudo /bin/bashes 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 ^^.

verwandte Informationen