Appearance
Fiche de Révision : Gestion des Utilisateurs et des Groupes Linux
1. Concepts Fondamentaux
Utilisateur : C'est une identité définie par :
- Login : Nom de connexion (ex:
ggarneau). - UID (User ID) : Numéro unique pour l'utilisateur. Le système utilise l'UID, pas le login.
- GID (Group ID) : Numéro du groupe principal.
- Login : Nom de connexion (ex:
Types d'UID :
- 0 :
root, le super-utilisateur. - 1-999 : Comptes système (services, démons comme
www-data). - ≥ 1000 : Utilisateurs normaux.
- 0 :
Groupe : Un ensemble d'utilisateurs pour gérer des permissions partagées.
- Groupe Primaire : Unique, assigné par défaut aux nouveaux fichiers créés par l'utilisateur.
- Groupes Secondaires : Optionnels, accordent des droits supplémentaires (ex:
sudopour l'administration).
2. Fichiers de Configuration Clés (dans /etc/)
| Fichier | Rôle | Format (champs séparés par :) |
|---|---|---|
/etc/passwd | Identité des utilisateurs. Lisible par tous. | login:x:UID:GID:Commentaire:Dossier personnel:Shell |
/etc/group | Définition des groupes et liste des membres. | nom_groupe:x:GID:liste_des_membres_secondaires |
/etc/shadow | Mots de passe chiffrés et politiques d'expiration. Lisible par root uniquement. | login:mot_de_passe_chiffré:dernière_modif:... |
⚠️ Règle d'or : Ne jamais éditer ces fichiers manuellement. Toujours utiliser les commandes dédiées.
3. Commandes de Gestion des Utilisateurs
| Action | Commande | Options Clés | Exemple Pratique |
|---|---|---|---|
| Créer | useradd | -m (créer /home), -G (groupes sec.), -s (shell) | sudo useradd -m -G sudo,dev aminata |
| Modifier | usermod | -aG (ajouter groupe), -l (renommer), -s (shell), -L/-U (verrouiller/déverrouiller) | sudo usermod -aG sudo aminata |
| Supprimer | userdel | -r (supprimer /home), -f (forcer) | sudo userdel -r aminata |
| Mot de passe | passwd | -l (verrouiller), -u (déverrouiller), -d (supprimer mdp) | sudo passwd aminata |
4. Commandes de Gestion des Groupes
| Action | Commande | Options Clés | Exemple Pratique |
|---|---|---|---|
| Créer | groupadd | -g (spécifier GID) | sudo groupadd developers |
| Modifier | groupmod | -n (renommer) | sudo groupmod -n devs developers |
| Supprimer | groupdel | sudo groupdel developers | |
| Gérer membres | gpasswd | -a (ajouter user), -d (supprimer user) | sudo gpasswd -a aminata developers |
5. Commandes et Astuces Utiles
id [utilisateur]: Affiche UID, GID et groupes d'un utilisateur.groups [utilisateur]: Affiche uniquement les groupes d'un utilisateur.chage -l [utilisateur]: Affiche les informations d'expiration du mot de passe.sudo chage -d 0 [utilisateur]: Force l'utilisateur à changer son mot de passe à la prochaine connexion.newgrp [groupe]: Ouvre un nouveau shell en changeant temporairement de groupe primaire.chsh -s [chemin_shell]: Changer son propre shell par défaut.
6. Bonnes Pratiques à Retenir
- ✅ Utiliser les commandes (
useradd,usermod, etc.) au lieu d'éditer les fichiers de configuration. - ✅ Option
-mavecuseraddpour créer le dossier personnel. - ✅ Option
-ravecuserdelpour une suppression propre (incluant le dossier personnel). - ✅ Option
-aGavecusermodpour ajouter un utilisateur à un groupe sans écraser ses groupes existants. - ✅ Utiliser
gpasswdpour une gestion simple des membres d'un groupe.