Ubuntu Linux · Épisode 06

👥 Utilisateurs & Groupes — Gérer les Accès sur Ubuntu

Crée des comptes, gére les groupes, distribue les droits sudo et sécurise un système multi-utilisateurs. La base de tout système Linux bien administré.

📅 Avril 2026
👤 Par OWL
~30 min de lecture
Intermédiaire
Illustration gestion utilisateurs Ubuntu

Maîtriser la gestion des accès Linux

📝
Créer & gérer des comptes
Ajouter des utilisateurs, changer leur mot de passe, les désactiver ou les supprimer proprement en ligne de commande.
💰
Groupes Linux
Comprendre la logique des groupes pour partager des fichiers et ressources entre plusieurs utilisateurs de façon sécurisée.
💰
Droits sudo
Accorder ou retirer les privilèges administrateur, configurer le fichier sudoers pour un contrôle fin des accès.
💰
Sécurité des comptes
Politique de mots de passe, expiration de comptes, verrouillage, et bonnes pratiques de sécurité multi-utilisateurs.

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.

Terminal — Voir les utilisateurs
# Voir qui est connecté en ce moment
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 :

Terminal
# Méthode simple (crée le home, le shell, tout automatiquement)
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 :

Terminal
# Renommer 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 :

Terminal
# Supprimer le compte uniquement (garde le /home)
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
Terminal — Gérer les groupes
# Voir tous les groupes du système
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.

Terminal — Gérer sudo
# Donner les droits sudo à un utilisateur
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 :

Fichier sudoers — exemples
# Syntaxe : utilisateur hôtes=(exécuter_en_tant_que) commandes

# 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.

Terminal — Propriété et permissions
# Voir les propriétaires d'un fichier
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

Terminal — Sécurité comptes
# Voir les infos de mot de passe d'un utilisateur
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 :

Terminal
# Installer libpam-pwquality pour forcer des mots de passe forts
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 :

1

Paramètres → Utilisateurs — Voir les comptes existants, ajouter/supprimer des utilisateurs, activer la connexion automatique.

2

Clique sur "Déverrouiller" (en haut à droite) et entre ton mot de passe pour activer les modifications.

3

"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 sudo et su
  • Tu sais utiliser chown pour changer la propriété d'un fichier et chmod pour 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.

💬 Commentaires & Discussion