web-dev-qa-db-fra.com

chsh demande toujours un mot de passe et obtient `PAM: Echec de l'authentification`

Aujourd'hui, j'ai essayé de passer à un autre Shell.

J'ai d'abord essayé le poisson et utilisé chsh -s fish pour changer le poisson par défaut. Après un certain temps, j'ai constaté qu'il ne pouvait pas utiliser ~/.bashrc (&& doit être remplacé par et).

Parce que je préfère réutiliser ~/.bashrc, j’ai trouvé zsh qui semble plus facile et suivi cette documentation pour passer à zsh.

Alors que je courais sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)", il m’a soudainement demandé de saisir Password:. J'ai entré le mot de passe root, mais j'ai PAM: Authentication failure.

Alors j'ai essayé chsh -s bash et chsh -s zsh, il m'a toujours demandé un mot de passe et jeta PAM: Authentication failure (pas le mot de passe du système). Je ne peux pas comprendre cela.

13
Mithril

Merci à cette question sur Server Fault , j'ai corrigé ce problème en:

Changer le /etc/pam.d/chsh: à partir de:

auth       required   pam_shells.so

à

auth       sufficient   pam_shells.so

Ensuite, il ne demande plus de mot de passe. Mais je pense qu'il est préférable de restaurer les paramètres chsh après avoir changé de shell.

25
Mithril
  1. Utilisez which zshpour trouver votre zshname__.

    $ which zsh
    /usr/bin/zsh
    
  2. Ajoutez /usr/bin/zsh à /etc/shells

  3. Vérifiez dans /etc/passwd que votre configuration est /usr/bin/zsh

  4. Exécutez chsh -s /usr/bin/zsh

3
Xu Radman