Lorsque vous installez Linux ubuntu, le shell bash est configuré par défaut. Mais saviez-vous qu'il est en réalité possible d'utiliser d'autres shells ?
Lors de la création d'un nouvel utilisateur sous Linux, vous pouvez spécifier le shell par défaut que l'utilisateur utilisera. L'option à cet effet est l'option useradd
-s
. Pour un utilisateur déjà créé, il est également possible de le changer avec la commande usermod -s.
Dans cet article, nous allons faire le point sur les principaux shells qui peuvent être utilisés avec l'option -s
de useradd
, ainsi que sur leurs caractéristiques, et comment vérifier la liste des shells disponibles sur le système actuel.
1. Principaux types de shells et leurs caractéristiques
Chemin du shell | Nom du shell | Caractéristiques |
---|---|---|
/bin/bash |
Bash | Shell standard le plus largement utilisé, offrant des fonctionnalités variées telles que l'édition des commandes, la complétion automatique et la possibilité d'écrire des scripts. |
/bin/sh |
Bourne Shell | Shell léger avec un ensemble minimal de fonctionnalités, principalement utilisé dans des scripts et des environnements limités. |
/bin/zsh |
Z Shell (Zsh) | Extension de Bash, offrant d'excellentes fonctionnalités de complétion automatique et de personnalisation. Gagne rapidement en popularité. |
/bin/ksh |
Korn Shell | Shell largement utilisé dans des environnements commerciaux, mettant l'accent sur la rapidité et l'efficacité. |
/usr/bin/fish |
Fish Shell | Recommandé pour les débutants, il propose une utilisation intuitive et de puissantes fonctionnalités de complétion automatique. |
/usr/sbin/nologin ou /bin/false |
Shell non connecté | Utilisé pour bloquer l'accès direct, souvent appliqué lors de la création de comptes système ou de comptes de service. |
2. Vérifier les shells disponibles sur le système
La liste des shells disponibles sur le système est enregistrée dans le fichier /etc/shells
. Vous pouvez la vérifier avec la commande suivante :
cat /etc/shells
Exemple de sortie :
/bin/sh
/bin/bash
/usr/bin/bash
/bin/rbash
/usr/bin/rbash
/usr/bin/sh
/bin/dash
/usr/bin/dash
Seuls les shells listés dans ce fichier peuvent être utilisés avec l'option -s
de useradd
.
3. Vérifier précisément le chemin du shell nologin
Pour vérifier l'emplacement exact du shell de blocage de connexion (nologin
), utilisez la commande suivante :
which nologin
Exemple de sortie :
/usr/sbin/nologin
Comme cela peut varier d'un système à l'autre, il est conseillé de faire cette vérification.
4. Exemples de cas d'utilisation
Ajouter un utilisateur utilisant le shell Bash
sudo useradd -m -s /bin/bash username
Ajouter un utilisateur utilisant le shell Zsh
sudo useradd -m -s /bin/zsh username
Ajouter un utilisateur système sans possibilité de connexion
sudo useradd -r -s /usr/sbin/nologin username
Exemple de changement de shell d'un utilisateur existant :
sudo usermod -s /usr/sbin/nologin username
Commande pour vérifier le résultat du changement :
cat /etc/passwd | grep username
Exemple de sortie correcte :
username:x:1004:1004::/home/django:/usr/sbin/nologin
Vous avez maintenant une compréhension claire de l'option -s
de useradd
et des shells disponibles. Gérez vos comptes en toute sécurité avec les réglages de shell appropriés !
Aucun commentaire.