Comment changer le shell par défaut dans FreeBSD?

10

Le shell par défaut dans FreeBSD est shet je ne peux vraiment pas le supporter: la saisie semi-automatique est très limitée et les commandes de rehash me tuent. Je me sens comme un homme armé et à une jambe ...

Comment puis-je changer le shell globalement en zshou bash- pour root et pour tous les utilisateurs actuels et futurs?

holms
la source
1
Je viens d'essayer cela pour mettre à jour un utilisateur existant dans FreeBSD 9.1 et le système m'a invité à utiliser ce qui suit: chpass -s / usr / local / bin / bash USER
commbot

Réponses:

28

Pour les utilisateurs existants, utilisez la chshcommande (« ch ange sh ell»):

chsh -s SHELL USER
chsh -s /usr/local/bin/bash root

Pour les futurs utilisateurs:

  • Modifier les mots clés " /etc/pw.conf"defaultshell
  • Lors de l'utilisation adduser(), choisissez la coque nécessaire
alvosu
la source
15
... mais soyez prudent lorsque vous changez le shell racine en quelque chose de l'arborescence des ports (par exemple, / usr / local / bin / bash), car si vous vissez quelque chose pendant une mise à niveau du port, vous risquez de vous retrouver sans accès root.
larsks
2
s / fonctionnalité / futur /?
pause jusqu'à nouvel ordre.
larsk: zsh peut être construit statiquement à droite ..? [au moins j'ai vu un paramètre dans "make config"] donc pour autant que je sache, c'est un binaire avec toutes les dépendances intégrées? puis-je mettre / usr / local / bin / zsh dans / bin / zsh? l'utilisateur root peut utiliser l'ancienne version c'est ok .. alors ce serait sûr?
holms
8
Le construire statiquement et le copier dans / bin est probablement la chose la plus sûre que vous puissiez faire. Je laisse simplement le shell de root défini sur /bin/shpuis exec bashdans les rares cas où j'ai vraiment besoin de me connecter en tant que root (le plus souvent, j'utilise simplement sudomon compte d'utilisateur).
larsks
Notez que cela doit être exécuté en tant que root (ou avec sudo).
Sopalajo de Arrierez