Skip to content

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.
  • Types d'UID :

    • 0 : root, le super-utilisateur.
    • 1-999 : Comptes système (services, démons comme www-data).
    • ≥ 1000 : Utilisateurs normaux.
  • 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: sudo pour l'administration).

2. Fichiers de Configuration Clés (dans /etc/)

FichierRôleFormat (champs séparés par :)
/etc/passwdIdentité des utilisateurs. Lisible par tous.login:x:UID:GID:Commentaire:Dossier personnel:Shell
/etc/groupDéfinition des groupes et liste des membres.nom_groupe:x:GID:liste_des_membres_secondaires
/etc/shadowMots 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

ActionCommandeOptions ClésExemple Pratique
Créeruseradd-m (créer /home), -G (groupes sec.), -s (shell)sudo useradd -m -G sudo,dev aminata
Modifierusermod-aG (ajouter groupe), -l (renommer), -s (shell), -L/-U (verrouiller/déverrouiller)sudo usermod -aG sudo aminata
Supprimeruserdel-r (supprimer /home), -f (forcer)sudo userdel -r aminata
Mot de passepasswd-l (verrouiller), -u (déverrouiller), -d (supprimer mdp)sudo passwd aminata

4. Commandes de Gestion des Groupes

ActionCommandeOptions ClésExemple Pratique
Créergroupadd-g (spécifier GID)sudo groupadd developers
Modifiergroupmod-n (renommer)sudo groupmod -n devs developers
Supprimergroupdelsudo groupdel developers
Gérer membresgpasswd-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

  1. Utiliser les commandes (useradd, usermod, etc.) au lieu d'éditer les fichiers de configuration.
  2. Option -m avec useradd pour créer le dossier personnel.
  3. Option -r avec userdel pour une suppression propre (incluant le dossier personnel).
  4. Option -aG avec usermod pour ajouter un utilisateur à un groupe sans écraser ses groupes existants.
  5. Utiliser gpasswd pour une gestion simple des membres d'un groupe.

.