Tutoriel de la commande chsh de Linux pour les débutants (5 exemples)

Le shell bash est l’un des shells de connexion les plus utilisés sous Linux. Mais il existe aussi d’autres shells, et tu peux les utiliser pour ton travail en ligne de commande (jusqu’à ce qu’il y ait bien sûr une exigence spécifique pour ton travail). Dans cet article, nous allons parler d’un outil – surnommé chsh – qui te permet de passer à un shell de connexion différent de ton shell actuel.

Mais avant cela, il est bon de mentionner que tous les exemples de ce tutoriel ont été testés sur une machine Ubuntu 18.04 LTS.

Commande Linux chsh

Comme déjà expliqué dans l’introduction ci-dessus, la commande chsh te permet de changer ton shell de connexion. Voici sa syntaxe :

chsh [options] [LOGIN]

Et voici ce que la page de manuel de l’outil dit à son sujet :

       The chsh command changes the user login shell. This determines the name
       of the user's initial login command. A normal user may only change the
       login shell for her own account; the superuser may change the login
       shell for any account.

Voici quelques exemples sous forme de questions-réponses qui devraient te donner une bonne idée du fonctionnement de la commande chsh.

Q1. Comment utiliser chsh ?

L’utilisation de base est assez simple – exécute simplement la commande ‘chsh’ sans arguments. On te demandera ton mot de passe de connexion et, après l’avoir entré avec succès, tu auras la possibilité de changer ton shell de connexion.

chsh

Comment utiliser chsh

Note que par défaut, le shell de connexion de l’utilisateur actuel est modifié.

Q2. Comment modifier l’interpréteur de commandes de connexion à l’aide de chsh ?

Comme tu t’y attends, il suffit d’entrer la nouvelle valeur (voir la capture d’écran de l’exemple précédent) et ton shell sera changé pour la nouvelle valeur.

Par exemple, j’ai entré /bin/sh comme nouvelle valeur.

Comment changer le shell de connexion en utilisant chsh

Pour vérifier le changement, tu peux exécuter à nouveau la commande chsh. La valeur indiquée entre crochets est le shell actuel. Donc dans mon cas, le shell actuel est devenu /bin/sh :

Définir le nouveau shell de connexion

Q3. Comment changer le shell de connexion d’un autre utilisateur ?

Pour cela, il suffit de spécifier le nom d’utilisateur en entrée de la commande chsh.

chsh [username]

Par exemple, pour changer le shell de connexion de root, utilise chsh de la manière suivante :

chsh root

Comment changer le shell de connexion pour un autre utilisateur

Q4. Comment faire pour que chsh fonctionne en mode non interactif ?

Utilise l’option de ligne de commande -s pour cela, qui nécessite de passer le nom du shell en entrée de la commande.

Par exemple :

chsh -s /bin/sh

De cette façon, le shell de connexion de l’utilisateur actuel sera changé en /bin/sh de manière non interactive.

Q5. Comment voir la liste des shells de connexion disponibles sur le système ?

Pour jeter rapidement un coup d’œil à la liste des shells disponibles sur ton système, il suffit decat le fichier /etc/shells.

Par exemple, voici la sortie produite sur mon système :

# /etc/shells: valid login shells
/bin/sh
/bin/bash
/bin/rbash
/bin/dash

Note :

       The only restriction placed on the login shell is that the command name
       must be listed in /etc/shells, unless the invoker is the superuser, and
       then any value may be added. An account with a restricted login shell
       may not change her login shell. For this reason, placing /bin/rsh in
       /etc/shells is discouraged since accidentally changing to a restricted
       shell would prevent the user from ever changing her login shell back to
       its original value.

Conclusion

Tu vois donc que la commande chsh est un outil important que les utilisateurs de lignes de commande devraient connaître. Dans ce tutoriel, nous avons abordé la majorité des options de ligne de commande que l’outil propose. Pour en savoir plus sur chsh, consulte sa page de manuel.

Vous aimerez aussi...