J'ai essayé de changer le shell de root avec la commande chsh
, mais je reçois une erreur lorsque j'essaie de me connecter en tant que root avec Sudo -i
.
$ Sudo -i
Sudo: /usr/bin/bash: command not found
Que dois-je modifier pour obtenir le shell bash
?
En supposant que vous n’ayez pas modifié le chemin ou créé un lien symbolique, le chemin par défaut du binaire bash
est /bin/bash
et non /usr/bin/bash
.
L'erreur se produit parce que vous avez défini le shell root
sur /usr/bin/bash
dans /etc/passwd
comme:
root:x:0:0:root:/root:/usr/bin/bash
Vous devez changer cela en /bin/bash
:
Sudo usermod -s /bin/bash root
ou faire:
Sudo vipw
et effectuez les modifications manuellement.
Vous pouvez évidemment choisir un autre shell de votre choix, assurez-vous simplement que le chemin est correct. Le fichier /etc/shells
est un emplacement commun pour rechercher les chemins de shell. Il contient les chemins d'accès complets à tous les shells de connexion valides du système.