web-dev-qa-db-fra.com

Comment changer le shell de root en bash?

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?

5
Sandra Ross

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.

12
heemayl