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 sur bash par défaut?
adduser
Le fichier par défaut adduser
est /etc/adduser.conf
. Le shell par défaut défini par la variable DSHELL
est /bin/bash
par défaut.
seradd
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 squelette /etc/default/useradd
(n'oubliez pas de faire une sauvegarde).
Définissez la variable Shell
sur /bin/bash
au lieu de /bin/sh
.
Maintenant, chaque fois que vous utilisez useradd
pour ajouter un nouvel utilisateur bash
est automatiquement leur shell par défaut.
tilisateurs déjà existants
Si vous voulez changer le shell d'utilisateurs existants, vous devez éditer le fichier /etc/passwd
(assurez-vous de bien en avoir une copie de sauvegarde).
Voici une description des colonnes
Dans cet ordre, séparés par des 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
.
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 les paramètres Gnome tout à l’heure, et cela semble suivre /etc/default/useradd
. Ce pourrait donc être votre meilleur choix. Pour les utilisateurs existants, le moyen le plus sûr de modifier le login de quelqu'un d'autre est Shell avec sermod:
usermod -s /bin/bash $USERNAME
Si vous n'êtes pas root, vous aurez besoin de Sudo ça. Une alternative est de Sudo dans l'utilisateur que vous voulez modifier et simplement lancer chsh, comme ceci:
Sudo -u $USERNAME chsh -s /bin/bash
Il est préférable d’éviter d’éditer /etc/passwd
à la main, car une erreur risquerait de casser toutes sortes de choses.
Si vous voulez réellement que bash soit utilisé par tous les utilisateurs du serveur (c'est la question qui a été posée), vous pouvez exécuter la commande suivante:
Sudo dpkg-reconfigure dash
Et puis choisissez PAS tiret. Comme expliqué dans cette réponse,
Comment faire en sorte que/bin/sh pointe vers/bin/bash?
Non seulement cela définit bash en tant que shell par défaut, mais il relie correctement sh et les pages de manuel.
J'espère que cela t'aides.