🎯 Compétences acquises
Maîtriser la gestion des accès Linux
🛠️ Le Tutoriel Complet
Utilisateurs & Groupes sur Ubuntu Linux
La métaphore d'OWL : L'Immeuble de Bureaux
Imagine ton système Linux comme un immeuble de bureaux. Chaque utilisateur a son bureau privé (son dossier /home/username) avec sa clé personnelle (son mot de passe). Il peut y travailler — sa guise, mais n'entre pas dans les bureaux des autres.
Les groupes, c'est comme les départements de l'entreprise : le département "comptabilité" peut accèder aux rapports financiers, même si chaque comptable a des droits individuels différents. Tu mets un utilisateur dans un groupe pour lui donner accès aux ressources partagées du groupe.
Et root — C'est le directeur général qui a le passe-partout de tout l'immeuble. sudo, c'est le badge spécial qui permet — certains employés de confiance d'utiliser ce passe-partout ponctuellement.
1. Les Types d'Utilisateurs sous Linux
root (uid=0)
Le superutilisateur absolu. Accès illimité à tout le système. Sur Ubuntu, le compte root est désactivé par défaut — on utilise sudo → la place. N'utilise jamais root au quotidien : une erreur et tu peux détruire le système.
Utilisateurs normaux (uid = 1000)
Toi, et les autres personnes qui utilisent la machine. Chacun a son /home/username et ses propres fichiers. Peut utiliser sudo s'il est dans le groupe sudo.
Utilisateurs système (uid 1-999)
Créés automatiquement pour les services (www-data pour Apache, postgres pour PostgreSQLé). Pas de shell interactif, pas de home. Tu n'interagis pas directement avec eux au quotidien.
who
whoami
# Lister tous les comptes utilisateurs (UID = 1000 = humains)
cat /etc/passwd | awk -F: '$3 >= 1000 {print $1, "uid="$3}'
# Voir les infos d'un utilisateur spécifique
id owl
uid=1000(owl) gid=1000(owl) groupes=1000(owl),4(adm),24(cdrom),27(sudo),...
2. Créer & Gérer des Utilisateurs
Créer un utilisateur :
sudo adduser alice
Ajout de l'utilisateur — alice — ...
Nouveau mot de passe :
...
Est-ce exact — [O/n]
# Méthode avancée (contrôle total)
sudo useradd -m -s /bin/bash -c "Alice Martin" alice
# -m = créer le dossier /home/alice
# -s = shell par défaut
# -c = commentaire (nom complet)
# Définir le mot de passe
sudo passwd alice
Modifier un utilisateur :
sudo usermod -l nouveau_nom ancien_nom
# Changer le shell de connexion
sudo usermod -s /bin/zsh alice
# Changer le dossier home
sudo usermod -d /nouveau/chemin -m alice
# Verrouiller un compte (empêche la connexion)
sudo usermod -L alice
# Déverrouiller un compte
sudo usermod -U alice
# Changer son propre mot de passe
passwd
Supprimer un utilisateur :
sudo deluser alice
# Supprimer le compte ET son dossier home ET son spool mail
sudo deluser --remove-home alice
--remove-home est irréversible ! Sauvegarde les données importantes avant de supprimer un compte.
3. Groupes Linux — L'Organisation des Accès
Chaque utilisateur appartient à un groupe principal (généralement son propre nom) et peut appartenir à des groupes secondaires. Les groupes importants — connaître :
| Groupe | Rôle |
|---|---|
| sudo | Permet d'utiliser sudo pour exécuter des commandes en tant qu'admin |
| adm | Lecture des journaux système dans /var/log |
| docker | Utiliser Docker sans sudo (Épisode Docker — venir !) |
| www-data | Groupe du serveur web Apache/Nginx — partage de fichiers web |
| plugdev | Accès aux périphériques USB et disques externes |
| audio / video | Accès aux cartes son et aux périphériques vidéo |
cat /etc/group
# Voir les groupes d'un utilisateur
groups alice
id alice
# Créer un nouveau groupe
sudo groupadd developpeurs
# Ajouter un utilisateur à un groupe
sudo usermod -aG developpeurs alice
sudo usermod -aG sudo,docker alice # plusieurs groupes en même temps
# 💡 Le -a est CRUCIAL : sans lui, usermod REMPLACE les groupes existants !
# Retirer un utilisateur d'un groupe
sudo gpasswd -d alice developpeurs
# Supprimer un groupe
sudo groupdel developpeurs
# 💡 Se déconnecter/reconnecter pour appliquer les changements de groupe !
newgrp developpeurs # ou : activer le groupe sans déconnexion
4. Les Droits sudo — Accorder & Révoquer les Pouvoirs
Sur Ubuntu, étre dans le groupe sudo donne accès — toutes les commandes admin. Tu peux aussi aller plus loin avec le fichier /etc/sudoers.
sudo usermod -aG sudo alice
# Retirer les droits sudo
sudo gpasswd -d alice sudo
# Vérifier si un utilisateur a sudo
sudo -l -U alice
# éditer sudoers de façon sécurisée (NE JAMAIS éditer /etc/sudoers directement !)
sudo visudo
Exemple de règles sudoers :
# Alice peut tout faire avec sudo (équivalent d'étre dans le groupe sudo)
alice ALL=(ALL:ALL) ALL
# Bob peut redémarrer le serveur web sans mot de passe
bob ALL=(ALL) NOPASSWD: /usr/sbin/service nginx restart
# Le groupe "developpeurs" peut utiliser apt sans mot de passe
%developpeurs ALL=(ALL) NOPASSWD: /usr/bin/apt
Toujours utiliser visudo ! Cette commande vérifie la syntaxe avant d'enregistrer. Une erreur dans sudoers peut te bloquer hors du système. Ne jamais modifier directement avec nano /etc/sudoers.
5. Propriété des Fichiers — chown & chmod
Chaque fichier/dossier Linux appartient à un utilisateur et un groupe. C'est ce qui contrôle qui peut lire, modifier ou exécuter quoi.
ls -l projet/
drwxrwxr-x 2 owl developpeurs 4096 avr 9 17:00 projet/
# ^ propriétaire ^ groupe
# Changer le propriétaire d'un fichier
sudo chown alice fichier.txt
# Changer propriétaire ET groupe
sudo chown alice:developpeurs fichier.txt
# Changer le groupe seulement
sudo chown :developpeurs fichier.txt
# Récursif (tout un dossier)
sudo chown -R alice:developpeurs /var/www/monprojet/
# Exemple pratique : dossier partagé entre membres du groupe
sudo mkdir /partage
sudo chown root:developpeurs /partage
sudo chmod 775 /partage # owner=rwx, groupe=rwx, autres=rx
sudo chmod g+s /partage # setgid : nouveaux fichiers héritent du groupe
6. Politique de Mots de Passe & Sécurité des Comptes
sudo chage -l alice
# Forcer alice — changer son mot de passe à la prochaine connexion
sudo chage -d 0 alice
# Définir une expiration du mot de passe (90 jours)
sudo chage -M 90 alice
# Faire expirer un compte à une date précise (désactive le compte)
sudo chage -E 2026-12-31 alice
# Verrouiller un compte immédiatement
sudo passwd -l alice
# Déverrouiller
sudo passwd -u alice
# Voir les dernières connexions du système
last
lastlog # dernière connexion de chaque utilisateur
Renforcer la politique de mots de passe avec PAM :
sudo apt install libpam-pwquality -y
# Configurer la complexité minimale dans /etc/security/pwquality.conf
sudo nano /etc/security/pwquality.conf
# Paramètres recommandés :
minlen = 12 # 12 caractères minimum
dcredit = -1 # au moins 1 chiffre
ucredit = -1 # au moins 1 majuscule
lcredit = -1 # au moins 1 minuscule
ocredit = -1 # au moins 1 caractère spécial
7. Interface Graphique — Gérer les Utilisateurs Sans Terminal
Pour des opérations simples, Ubuntu propose une interface graphique dans les Paramètres :
Paramètres → Utilisateurs — Voir les comptes existants, ajouter/supprimer des utilisateurs, activer la connexion automatique.
Clique sur "Déverrouiller" (en haut à droite) et entre ton mot de passe pour activer les modifications.
"Ajouter un utilisateur" — Choisis entre "Standard" (sans sudo) et "Administrateur" (avec sudo). Remplis le nom et le mot de passe.
L'interface graphique est pratique pour les tâches courantes, mais le terminal te donne bien plus de contrôle. Pour gérer des serveurs ou des systèmes multi-utilisateurs complexes, le terminal est incontournable.
✅ Comment savoir si tu maîtrises la gestion des utilisateurs
- ✅Tu as créé un utilisateur "test" avec
adduser, défini un mot de passe et pu te connecter avec - ✅Tu as créé un groupe "projet", ajouté deux utilisateurs dedans et partagé un dossier via ce groupe
- ✅Tu sais accorder et retirer les droits sudo, et tu comprends la différence entre
sudoetsu - ✅Tu sais utiliser
chownpour changer la propriété d'un fichier etchmodpour ses permissions - ✅Tu as supprimé proprement l'utilisateur "test" avec
deluser --remove-home
⚠️ Problèmes Courants & Solutions
J'ai ajouté un utilisateur à un groupe mais les changements ne s'appliquent pas
💡 Les changements de groupes nécessitent une déconnexion/reconnexion ou l'utilisation de newgrp nom_groupe pour les activer dans la session courante. Vérifie avec id après la reconnexion.
J'ai utilisé usermod -G sans -a et mon utilisateur a perdu des groupes
💡 Sans -a (append), usermod -G remplace tous les groupes. Pour retrouver les groupes perdus, ajoute-les un par un avec sudo usermod -aG groupe utilisateur. Les groupes essentiels — remettre : sudo,adm,cdrom,plugdev,audio,video.
"sudo : alice n'est pas dans le fichier sudoers"
💡 L'utilisateur alice n'a pas les droits sudo. Connecte-toi avec un compte admin et lance :sudo usermod -aG sudo alice
Alice doit ensuite se déconnecter et se reconnecter.
J'ai cassé le fichier sudoers et je ne peux plus utiliser sudo
💡 Situation critique ! Redémarre en mode recovery (maintiens Shift au démarrage, Grub — "Advanced options" — "recovery mode" — "root shell"). Depuis le shell root, corrige le fichier avec nano /etc/sudoers ou restaure la version originale avec cp /etc/sudoers.d/README /etc/sudoers.