Je ne trouve pas la commande dans sudo Lorsque j'ai essayé de su et de définir le chemin de l'utilisateur racine, il a été rejeté, alors j'ai vérifié
Lors de la migration de bash vers zsh ~~ Le shell par défaut de root est-il devenu / usr / local / bin / zsh par erreur ~~, il semble que la cause en soit que le shell root n'est pas défini en premier lieu.
Je n'ai pas défini le chemin racine, donc je ne peux pas définir le shell racine avec chsh! </ font>
Chemin réel
❯ echo $SHELL
/usr/bin/zsh
sudo chsh root -s /usr/bin/zsh
sudo chsh root -s /usr/bin/zsh
chsh: PAM:Échec d'authentification
Modifiez / etc / pam.d / chsh
pour pouvoir changer le shell.
#
# 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.
#Commentez ici
# auth required pam_shells.so
Vous pouvez le changer en refaisant sudo chsh root -s / usr / bin / zsh
dans cet état.
Si vous pouvez le modifier, annulez la ligne que vous avez commentée.
$ sudo su -
$ passwd root
Veuillez saisir un nouveau mot de passe UNIX: xxx
Veuillez saisir à nouveau votre nouveau mot de passe UNIX: xxx
passwd:Mot de passe mis à jour correctement
$ exit