Comment changez-vous le shell par défaut pour TOUS LES UTILISATEURS en bash?

34

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

Je sais que pour modifier 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 sur bash par défaut?

    
posée coffee-grinder 04.03.2011 - 09:42
la source

2 réponses

57

adduser

Le fichier adduser par défaut est /etc/adduser.conf . Le shell par défaut défini par la variable DSHELL est /bin/bash par défaut.

useradd

Très probablement, vous n'en avez pas besoin car useradd est un utilitaire de bas niveau et il n'est presque jamais utilisé directement.

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

Définissez la variable SHELL sur /bin/bash au lieu de /bin/sh .

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 voulez changer le shell d'utilisateurs existants, vous devez éditer le fichier /etc/passwd (assurez-vous de bien en sauvegarder une copie).

Voici une description des colonnes

  1. nom d'utilisateur
  2. mot de passe crypté facultatif
  3. ID utilisateur numérique
  4. ID de groupe numérique
  5. nom d'utilisateur ou champ de commentaire
  6. répertoire de base de l'utilisateur
  7. interpréteur de commandes utilisateur facultatif

Dans cet ordre, séparez par deux points (:) comme ceci.

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

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

    
réponse donnée Octavian Damiean 04.03.2011 - 09:48
la source
25

Comme Octavian l’a souligné, la manière de modifier les valeurs par défaut dépend de la manière dont vous créez l’utilisateur. J’ai essayé de créer un nouvel utilisateur avec mes paramètres Gnome tout à l’heure, et cela semble suivre /etc/default/useradd , alors c’est peut-être votre meilleur choix. Pour les utilisateurs existants, le moyen le plus sûr de modifier le shell de connexion d'une autre personne est d'utiliser usermod :

.
usermod -s /bin/bash $USERNAME

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

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

Il vaut mieux éviter de modifier /etc/passwd manuellement, car une erreur risquerait de casser toutes sortes de choses.

    
réponse donnée Jack O'Connor 28.10.2013 - 08:21
la source

Lire d'autres questions sur les étiquettes