46 votes

Comment changer le Shell par défaut pour TOUS LES UTILISATEURS en bash ?

Je veux que chaque nouvel utilisateur ait désormais bash comme Shell par défaut.

Je sais que pour changer votre propre Shell en bash, vous devez utiliser la commande "chsh -s /bin/bash", mais comment puis-je définir automatiquement le Shell de tous les futurs utilisateurs en bash par défaut ?

71voto

larsw Points 2233

ajouter un utilisateur

Le adduser Le fichier par défaut est /etc/adduser.conf . Le Shell par défaut défini par l'option DSHELL est la variable /bin/bash par défaut.

useradd

Vous n'en aurez probablement pas besoin, car useradd est un utilitaire de très bas niveau, qui n'est pratiquement jamais utilisé directement.

Si vous utilisez useradd, modifiez le fichier /etc/default/useradd (n'oubliez pas de faire une sauvegarde).

Régler le SHELL à la variable /bin/bash 代わりに /bin/sh .

Désormais, chaque fois que vous utilisez useradd pour ajouter un nouvel utilisateur bash est automatiquement leur Shell par défaut.

Utilisateurs déjà existants

Si vous souhaitez modifier le Shell d'utilisateurs déjà existants, vous devez modifier le fichier /etc/passwd (assurez-vous d'en avoir une copie de sauvegarde).

Voici une description des colonnes

  1. nom de connexion
  2. mot de passe crypté facultatif
  3. l'identifiant numérique de l'utilisateur
  4. ID du groupe numérique
  5. nom d'utilisateur ou champ de commentaire
  6. répertoire personnel de l'utilisateur
  7. interprète de commande utilisateur optionnel

Dans cet ordre, séparés par des deux-points ( :), comme suit.

root:x:0:0:root:/root:/bin/bash

Pour plus d'informations sur ce fichier, consultez la page de manuel man 5 passwd .

33voto

Jack O'Connor Points 799

Comme l'a souligné Octavian, la manière de modifier les valeurs par défaut dépend de la façon dont vous créez l'utilisateur. J'ai essayé de créer un nouvel utilisateur par le biais de mes paramètres Gnome à l'instant, et cela semble se passer comme suit /etc/default/useradd Il s'agit donc de la meilleure solution. Pour les utilisateurs existants, le moyen le plus sûr de changer le login de quelqu'un d'autre Shell est avec usermod :

usermod -s /bin/bash $USERNAME

Si vous n'êtes pas root, vous devrez sudo que. Une autre solution consiste à sudo dans l'utilisateur que vous souhaitez modifier et exécutez simplement chsh comme ceci :

sudo -u $USERNAME chsh -s /bin/bash

Il est préférable d'éviter l'édition /etc/passwd à la main, car une erreur à ce niveau pourrait casser toutes sortes de choses.

1voto

MontyThreeCard Points 119

Si vous souhaitez que tous les utilisateurs du serveur disposent de bash (ce qui était la question posée), vous pouvez exécuter la commande suivante :

sudo dpkg-reconfigure dash

Puis choisissez NOT dash. Comme expliqué dans cette réponse,

Comment faire pointer /bin/sh sur /bin/bash ?

Non seulement cela fait de bash le Shell par défaut, mais cela repointe aussi sh et les pages de manuel correctement.

J'espère que cela vous aidera.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X