Was hat chsh getan, wenn ich `chsh -s SHELL 'eingetippt habe und wie gehe ich zur vorherigen SHELL zurück?

1424
ariefbayu

Ich habe versehentlich meine Benutzer-Login-Shell auf ein unbekanntes Verzeichnis gesetzt: ([1]. Nun kann ich mich nicht bei diesem Benutzer anmelden. Jedes Mal, wenn ich versuche, SSH zu starten, ist es immer fehlgeschlagen, als wenn ich ein falsches Passwort eingebe. Ich versuche es Einloggen mit root und do su --shell=/bin/tcsh usernameund ich habe

su: /path/to/shell/i/set/previously: permission denied 

Um klar zu sein, /path/to/shell/i/set/previouslyzeigen Sie auf ein Verzeichnis, nicht auf eine ausführbare Shell-Datei. Ich habe versucht, meine Login-Shell /etc/passwdwieder /bin/tcshohne Erfolg zu ändern :(. Immer die gleiche Berechtigung verweigert Fehler :(.

Nun frage ich mich, was chsh getan hat, weshalb ich mich nicht einloggen kann, nachdem ich den Eintrag geändert habe /etc/passwd. Auch, wie bekomme ich meine vorherigen Schale zurück ( /bin/tcsh)

Vielen Dank.

1

1 Antwort auf die Frage

1
Richard Hoskins

Loggen Sie sich als root ein und verwenden Sie:

chpass username 

Sie befinden sich in einem vi-Puffer mit den Benutzereinstellungen. Ändern Sie die Shell in / bin / tcsh und Bob ist Ihr Onkel.

Diese Einstellungen werden eigentlich in /etc/master.passwd gespeichert . / etc / passwd wird aus dieser Datei generiert. Lesen Sie das Handbuch für weitere Informationen .

Unbekannter Befehl "chpass" ... und wie gehen Sie vor, wenn der Root-Benutzer derjenige ist, den Sie geändert haben? endolith vor 14 Jahren 0
@endolith Verwendest du freebsd? Richard Hoskins vor 14 Jahren 0