Ich möchte die Standard-Shell-Umgebung ändern
und chsh -s /bin/zsh
als root-Benutzer ausführen ,
aber eine Fehlermeldung angezeigt: chsh: PAM authentication failed
.
Ich finde diesen Thread http://ubuntuforums.org/showthread.php?t=1702833
Aber die Antwort hat mein Problem nicht gelöst
Jede Hilfe wäre dankbar
Dies ist der Inhalt von /etc/pam.d/chsh
#
# The PAM configuration file for the Shadow `chsh' service
#
# This will not allow a user to change their shell unless
# their current one is listed in /etc/shells. This keeps
# accounts with special shells from changing them.
auth required pam_shells.so
# This allows root to change user shell without being
# prompted for a password
auth sufficient pam_rootok.so
# The standard Unix authentication modules, used with
# NIS (man nsswitch) as well as normal /etc/passwd and
# /etc/shadow entries.
@include common-auth
@include common-account
@include common-session
Dies ist der Inhalt von / etc / shells
# /etc/shells: valid login shells
/bin/sh
/bin/dash
/bin/bash
/bin/rbash
/usr/bin/tmux
/usr/bin/screen
/bin/zsh
/usr/bin/zsh
Ich finde, dass ich chsh -s zsh
dies ausgeführt habe, wird die erste Zeile von /etc/passwd
as ändern
root:x:0:0:root:/root:zsh
und chsh
frage nach dem Passwort, welchen Server du versuchst
Ich bearbeite die /etc/passwd
Datei nur manuell und alles ist in Ordnung.
dummer fehler und danke für eure antworten
Antworten:
Überprüfen Sie Ihre / etc / shells-Datei und fügen Sie / bin / zsh zur Datei hinzu, wenn diese Zeile nicht vorhanden ist.
quelle
/etc/passwd
, ob ich das richtige Format für den Shell-Namen eingegeben habe. Thx/etc/passwd
. Vielen Dank an @txworking!/etc/passwd
für den Root-Account aufgerufen ...Überprüfen Sie Ihre
/etc/passwd
. In meinem Fall hatte ich zuvor eine ungültige Shell mit angegebenchsh
und das hat das Problem verursacht.Ich änderte es von
zsh
als die Muschel,/bin/zsh
und das ließ das Problem für mich weggehen.quelle
Sieht so aus, als wäre dein Weg falsch. Um es zu überprüfen:
Wenn das Ergebnis / usr / bin / zch ist, sollte dies der Trick sein:
* Für Tippfehler bearbeiten.
quelle
Ich stand vor dem gleichen Problem. wann immer ich chsh eintippte, verwendete es, um aufzufordern
Aber ich habe es gelöst, indem ich einige Änderungen an der
/etc/passwd
Datei vorgenommen habeöffne einfach dein root-terminal und ändere die
/etc/passwd
datei, die du für diesen job mit dem pico-, nano- oder vi-editor verwenden kannstSuchen Sie dann nach dem Benutzerkonto. und ändere die Shells in die gewünschte Shell. Stelle sicher, dass die gewünschte Shell in deinem Linux-Distributionssystem installiert ist, damit neue Benutzer sehen können, welche Shells in ihrem Linux vorhanden sind. Gib sie einfach ein
Es listet sie dort auf. Wenn Sie die Shell überhaupt installiert haben und sie nicht sehen können
/etc/shell
, müssen Sie einen Link erstellen und den Pfad der Shell angeben, um sie manuell/bin/ksh
in die/etc/shells
Datei aufzunehmen ...Sie befinden sich beispielsweise in Bash und möchten es in ksh ändern
gehe einfach zum account in der
/etc/passwd
datei und bearbeite im letzten feld/bin/bash
zu/bin/ksh
oder/bin/ksh93
(wie in Ihremcat /etc/shells
)Einfach abmelden und einloggen und loslegen ...
für Benutzer anderer Distributionen (sagen wir) Ubuntu
eintippen
sudo -H gnome-terminal
(um ein Root-Terminal zu bekommen)und der Vorgang ist derselbe wie oben, da auch Sie ein Root-Terminal haben, wie ein Kali-Linux-Benutzer.
quelle
Sie müssen Ihren Code als sudo ausführen:
Ich hatte auch das gleiche Problem und es hat funktioniert!
quelle