Sous l'environnement du système d'exploitation Linux, un shell peut être décrit comme un programme qui prend les entrées de l'utilisateur à partir du clavier de l'ordinateur sous forme de commandes et les interprète dans le but de produire des résultats d'exécution immédiats ou de conduire à une autre instance d'exécution de programme.
En vous familiarisant avec Linux, vous aurez l'opportunité de rencontrer et d'interagir avec de nombreux environnements shell orientés Linux tels que bash, ksh, fish, sh et zsh. En raison de la popularité de Bash Shell , il y a de fortes chances que vous l'utilisiez maintenant comme shell par défaut sur votre système Linux.
Pourquoi changer le shell par défaut sous Linux ?
Choisir de changer le shell Linux par défaut est logique pour les raisons suivantes :
- Un nologin de type shell Linux shell désactive/bloque facilement la connexion normale de l'utilisateur, d'où un aspect clé de la gestion des utilisateurs de Linux.
- Un programme/script shell wrapper permet de retarder l'exécution des commandes utilisateur jusqu'à ce que cet utilisateur les enregistre. Dans ce cas, le shell de connexion de l'utilisateur est spécifique au shell wrapper.
- Sur un réseau partagé, vous répondez aux demandes spécifiques des utilisateurs, telles que celles associées aux droits d'administration lorsque vous modifiez le shell par défaut de Linux.
Liste des shells de connexion valides dans le système Linux
Avant d'envisager de modifier le shell par défaut de votre système Linux, répertoriez d'abord les shells de connexion valides à la disposition de votre système d'exploitation Linux :
$ cat /etc/shells
Avant de continuer et de montrer comment nous pouvons passer d'un shell Linux à un autre, notez ce qui suit :
- Seuls les shells listés dans /etc/shells le fichier peut être basculé par les utilisateurs Linux normaux et connectés.
- Shells non répertoriés dans /etc/shells le fichier ne peut être lancé/exécuté que par un utilisateur root/sudoer.
- Les comptes de système d'exploitation Linux avec des shells de connexion restreints ne peuvent être modifiés qu'une fois que vous vous êtes connecté en tant qu'utilisateur root/sudoer.
Moyens de changer le shell Linux par défaut
Nous examinerons les approches suivantes pour modifier le shell par défaut sous Linux.
Méthode 1 :Utilisation de l'utilitaire usermod
L'utilisation principale du usermod L'utilitaire est uniquement destiné à la modification des détails du compte utilisateur Linux stockés dans /etc/passwd dossier. Utiliser le usermod commande avec le -s
ou --shell
L'option de commande permet de changer le shell Linux par défaut.
La commande suivante vérifie les informations de compte telles que le shell par défaut pour l'utilisateur dnyce .
$ grep dnyce /etc/passwd
Comme vous pouvez le voir, le dnyce l'utilisateur utilise bash comme shell Linux par défaut. Pour passer de /bin/bash à /bin/dash , exécutez la commande suivante :
$ sudo usermod --shell /bin/dash dnyce
Méthode 2 :Utilisation de l'utilitaire chsh
Le chsh la commande utilitaire utilise également le -s
ou --shell
options lors de la modification du shell Linux par défaut.
Changeons le shell actuel de /bin/dash vers /bin/rbash .
$ sudo chsh --shell /bin/rbash dnyce
Méthode 3 :Utiliser le fichier /etc/passwd
Ouvrez le fichier /etc/passwd fichier et modifiez-le dans votre shell Linux par défaut préféré.
$ sudo nano /etc/passwd
Enregistrez le fichier et confirmez que les modifications ont eu lieu avec la commande suivante :
$ grep dnyce /etc/passwd
Nous avons compris la nécessité de changer le shell Linux par défaut et mis en œuvre des méthodologies pratiques pour atteindre lesdits objectifs.