Lösung 1:
Überprüfen Sie Ihre /etc/shells-Datei und fügen Sie /bin/zsh zur Datei hinzu, falls diese Zeile nicht existiert.
Lösung 2:
Überprüfen Sie Ihren /etc/passwd
. In meinem Fall hatte ich mit chsh
eine ungültige Shell angegeben zuvor und das hat das Problem verursacht.
Ich habe es von zsh
geändert als Shell zu /bin/zsh
und das hat das Problem für mich behoben.
Lösung 3:
Sie müssen Ihren Code als sudo:
ausführensudo chsh -s /bin/zsh
Ich hatte auch das gleiche Problem und es hat funktioniert!
Lösung 4:
Ich hatte das gleiche Problem, wenn ich chsh eingab es verwenden, um
aufzufordernchsh: PAM authentication failed
Aber ich habe es gelöst, indem ich einige Änderungen in /etc/passwd
vorgenommen habe Datei
Users of kali-linux
Öffnen Sie einfach Ihr Root-Terminal und ändern Sie /etc/passwd
fileSie können den Pico-, Nano- oder Vi-Editor für diesen Job verwenden. Ich verwende vi
vi /etc/passwd
Suchen Sie dann nach dem Benutzerkonto. und ändern Sie die Shells in Ihre gewünschte Shell stellen Sie sicher, dass die gewünschte Shell in Ihren Linux-Distributionen installiert ist, damit neue Benutzer sehen können, welche Shells in ihrem Linux vorhanden sind, geben Sie einfach ein
cat /etc/shells
es listet sie dort auf. Wenn überhaupt, haben Sie die Shell installiert und können sie nicht in /etc/shell
sehen Sie müssen einen Link erstellen und den Shell-Pfad platzieren, zum Beispiel /bin/ksh
in /etc/shells
Datei manuell...
Sie befinden sich beispielsweise in bash und möchten es in ksh ändern
Gehen Sie einfach zum Konto in /etc/passwd
Datei und im letzten Feld bearbeiten
/bin/bash
bis /bin/ksh
oder /bin/ksh93
(wie in Ihrem cat /etc/shells
)
einfach ausloggen und einloggen und schon kann es losgehen...
für Benutzer anderer Distributionen (sagen wir) Ubuntu
eintippen
sudo -H gnome-terminal
(um ein Root-Terminal zu bekommen)
und der Prozess ist der gleiche wie oben, da Sie auch ein Root-Terminal wie ein Kali-Linux-Benutzer haben..