Gestion des utilisateurs : commandes adduser
, usermod
, passwd
1. Pourquoi est-il important de comprendre la gestion des utilisateurs ?
Aujourd'hui, on va plonger dans la gestion des utilisateurs, car c’est une partie essentielle de l’administration Linux. Créer des utilisateurs, configurer leur environnement et gérer leurs mots de passe – tout cela deviendra des outils importants pour ton travail. C’est parti !
Souvent, sous Linux, il y a plusieurs utilisateurs qui travaillent sur le même serveur. Le système leur attribue des droits spécifiques pour protéger les données et éviter le chaos. Tu dois savoir comment ajouter de nouveaux utilisateurs (par exemple, des développeurs dans ton équipe), configurer leur environnement (comme changer le shell) et, si besoin, limiter l'accès.
2. Création d’un utilisateur avec adduser
Linux fournit la commande adduser
, qui est une version conviviale de la commande useradd
. Elle permet de créer facilement et rapidement de nouveaux utilisateurs :
Syntaxe de base
adduser nom_utilisateur
Que se passe-t-il lorsqu’un utilisateur est créé ?
- Une nouvelle entrée est créée dans le fichier
/etc/passwd
pour l’utilisateur. - Un répertoire personnel est généré (par exemple,
/home/nom_utilisateur
). - Les paramètres de base sont configurés (par exemple, le shell par défaut).
- On te demandera de saisir un mot de passe et des informations supplémentaires (comme le nom, le numéro de téléphone — mais ces données sont facultatives).
Exemple
Créons un nouvel utilisateur dev_user
:
sudo adduser dev_user
Après avoir saisi cette commande, on te proposera :
- De définir un mot de passe pour l’utilisateur.
- D’entrer des informations supplémentaires, que tu peux ignorer en appuyant simplement sur
Enter
.
Vérification
Pour confirmer que l’utilisateur a été créé, tu peux consulter le fichier /etc/passwd
:
cat /etc/passwd | grep dev_user
Tu verras une ligne contenant des informations sur l’utilisateur dev_user
.
3. Configuration d'un utilisateur avec usermod
Quand un utilisateur est déjà créé, il peut être nécessaire de modifier ses paramètres. Par exemple, changer son nom, spécifier un autre shell ou l’ajouter à un groupe.
Changement de nom d'utilisateur
Commencez par vérifier que l’utilisateur n’est pas connecté au système. Ensuite, exécutez la commande :
sudo usermod -l nouveau_nom ancien_nom
Exemple :
sudo usermod -l developer dev_user
Maintenant, l’utilisateur dev_user
sera appelé developer
. Cependant, son répertoire personnel restera inchangé pour l’instant.
Changement de shell par défaut
Supposons que vous deviez changer le shell de l’utilisateur en /bin/zsh
. Pour cela, exécutez :
sudo usermod --shell /bin/zsh developer
Vérifiez que le shell a changé à l’aide de la commande :
cat /etc/passwd | grep developer
Modification du répertoire personnel
Si vous souhaitez que le nouvel utilisateur travaille dans un autre répertoire personnel, faites ce qui suit :
sudo usermod -d /nouveau/chemin developer
si le répertoire n’existe pas encore, utilisez l'option -m
afin qu’il soit créé et que le contenu de l’ancien répertoire soit déplacé :
sudo usermod -d /home/new_developer -m developer
4. Gestion des mots de passe avec passwd
Configurer et changer un mot de passe
Pour configurer (ou changer) le mot de passe d’un utilisateur, on utilise la commande suivante :
sudo passwd nom_utilisateur
Exemple :
sudo passwd developer
Le système te demandera d’entrer deux fois le nouveau mot de passe pour vérifier que tu ne t’es pas trompé.
Forcer le changement du mot de passe à la prochaine connexion
Ceci peut être utile si tu crées des utilisateurs et que tu veux qu’ils définissent eux-mêmes leur mot de passe lors de leur première connexion :
sudo passwd -e developer
Après cela, l’utilisateur developer
, en se connectant au système, verra un message lui demandant de changer son mot de passe.
5. Pratique
Exercice 1 : Créer un nouvel utilisateur
Ajoutons un utilisateur
tester
:sudo adduser tester
Vérifiez que l'utilisateur est créé :
cat /etc/passwd | grep tester
Exercice 2 : Configurer les paramètres de l'utilisateur
Changez le nom de l'utilisateur :
sudo usermod -l test_user tester
Changez le répertoire personnel de l'utilisateur :
sudo usermod -d /home/test_user -m test_user
Assurez-vous que les changements sont appliqués :
ls -l /home/
Modifiez le shell de l'utilisateur :
sudo usermod --shell /bin/zsh test_user
Vérifiez les données mises à jour de l'utilisateur :
cat /etc/passwd | grep test_user
Exercice 3 : Définir un nouveau mot de passe pour l'utilisateur
Définissez un mot de passe pour l'utilisateur :
sudo passwd test_user
Forcez l'utilisateur à changer de mot de passe à la prochaine connexion :
sudo passwd -e test_user
6. Introduction aux pipes |
sous Linux
Les pipes |
sont un mécanisme dans Unix/Linux qui permet de passer la sortie d'une commande (stdout) comme entrée (stdin) pour une autre commande. C'est un outil puissant qui permet de combiner des commandes en créant des "pipelines" pour le traitement des données.
Comment ça marche ?
Quand tu utilises un pipe entre des commandes, Linux redirige la sortie standard de la première commande vers l'entrée standard de la suivante. Cela permet de traiter efficacement de gros volumes de données sans fichiers temporaires.
Syntaxe :
commande1 | commande2 | commande3
commande1
génère des données.commande2
traite les données reçues.commande3
effectue un traitement supplémentaire ou enregistre le résultat.
Exemple :
Afficher la liste des fichiers et filtrer par modèle :
ls -l | grep ".txt"
Ici, ls -l
affiche la liste des fichiers, et grep
filtre uniquement les fichiers avec l'extension .txt
.
Compter les lignes contenant un mot spécifique :
cat file.txt | grep "Linux" | wc -l
On affiche successivement le contenu du fichier, on cherche les lignes contenant "Linux", puis on compte leur nombre.
Avantages des pipes :
- Simplification des opérations complexes.
- Réduction de l'utilisation des fichiers temporaires.
- Possibilité de combiner les puissants outils de Linux pour automatiser les tâches.
7. Introduction à grep dans Linux
grep
(Global Regular Expression Print) — c'est un utilitaire de ligne de commande sous Unix/Linux pour rechercher des lignes dans des fichiers qui correspondent à un modèle spécifié. Il est largement utilisé pour filtrer et rechercher des données grâce au support des expressions régulières et à ses paramètres flexibles.
Comment fonctionne grep
?
grep
prend en entrée un fichier texte (ou une entrée standard), recherche les lignes qui correspondent au modèle spécifié et les affiche.- Si le modèle n'est pas trouvé, la commande ne produit aucune sortie.
Exemples
Afficher la liste des fichiers et filtrer par modèle :
ls -l | grep ".txt"
- D'abord, la commande
ls -l
s'exécute, affichant la liste des fichiers dans le répertoire courant. - La sortie de la première commande
ls
est redirigée comme entrée pour la seconde commandegrep
à l'aide du pipe|
. - La seconde commande filtre les lignes qui lui sont envoyées et affiche uniquement celles contenant ".txt".
Compter les lignes contenant un mot spécifique :
cat file.txt | grep "Linux" | wc -l
- D'abord, la commande
cat file.txt
s'exécute, affichant le contenu du fichier file.txt. - La sortie de la première commande
cat
est redirigée comme entrée pour la seconde commandegrep
à l'aide du pipe|
. - La seconde commande filtre les lignes qui lui sont envoyées et affiche uniquement celles contenant "Linux".
- Puis, la sortie de la seconde commande
grep
est redirigée comme entrée pour la troisième commandewc
à l'aide du pipe|
. - La troisième commande compte les lignes qui lui sont envoyées et affiche leur nombre.
8. Erreurs typiques et nuances
Erreur "user is currently logged in" lors du changement de nom d'utilisateur. Si l'utilisateur est connecté au système, tu ne pourras pas modifier son nom. Assure-toi que l'utilisateur s'est déconnecté.
Erreurs lors du changement du répertoire personnel. Si tu oublies d'ajouter
-m
, le contenu de l'ancien répertoire ne sera pas déplacé vers le nouveau. L'utilisateur peut perdre ses données.Tu as oublié d'attribuer un mot de passe à l'utilisateur. Après avoir créé un utilisateur avec
adduser
, vérifie impérativement qu'un mot de passe lui est attribué. Sans mot de passe, il ne pourra pas se connecter.Valeurs de
UID
etGID
. Parfois, les administrateurs veulent spécifier les valeurs deUID
(identifiant utilisateur) etGID
(identifiant de groupe) lors de la création d'un utilisateur. Pour cela, on utilise la commandeuseradd
, mais c'est un sujet pour une étude plus approfondie de Linux.
9. Application pratique
Imaginez : vous êtes l’administrateur des serveurs de l’entreprise. Les développeurs viennent vous voir, et chacun d’eux exige un accès au système avec des paramètres individuels. Vous pourrez :
- Créer des utilisateurs et leur attribuer les accès nécessaires.
- Configurer l’environnement (par exemple, le shell) en fonction de leurs préférences.
- Gérer les mots de passe et assurer la sécurité.
Ces commandes vous seront également utiles lors d’un entretien pour un poste de DevOps ou d’administrateur système. On pourrait vous demander comment vous créeriez et configureriez des utilisateurs, ou vous proposer de réaliser cette tâche en pratique.
Mémo : commandes principales
Commande | Description |
---|---|
sudo adduser nom_utilisateur |
Crée un nouvel utilisateur. |
sudo usermod -l nouveau ancien |
Change le nom de l’utilisateur. |
sudo usermod --shell chemin nom |
Définit le shell par défaut. |
sudo usermod -d chemin nom |
Change le répertoire personnel. |
sudo passwd nom |
Définit un nouveau mot de passe. |
sudo passwd -e nom |
Force à changer le mot de passe lors de la prochaine connexion. |
Pratiquez-vous ! Linux, c'est toujours du travail manuel. Plus vous expérimentez avec les commandes, plus il vous sera facile de travailler avec des systèmes réels.
GO TO FULL VERSION