Document

SUBSCRIBE TO GET FULL ACCESS TO THE E-BOOKS FOR FREE 🎁SUBSCRIBE NOW

Professional Dropdown with Icon

SUBSCRIBE NOW TO GET FREE ACCESS TO EBOOKS

Créer utilisateurs Linux et configurer sudo sans risquer root

À la fin de ce tutoriel, vous saurez lire votre identité (id, whoami, groups), créer un compte de lab avec useradd/adduser, gérer groupes primaires/secondaires, distinguer su et sudo Linux, éditer sudoers via visudo, et ne jamais travailler en root au quotidien.

Niveau : Débutant · Temps estimé : 40–50 min · Versions testées : Ubuntu 22.04 / 24.04, Debian 12 ; notes Rocky/Alma 9 (wheel) · Dernière vérification : 2026-09-10

Slug proposé : linux-utilisateurs-sudo · Série : P5 Linux Basics · Remplace / fusionne : N/A — création

Prérequis

  • Avoir suivi Fichiers et permissions Linux (ls -l, chmod, chown)
  • Une machine Linux : Ubuntu 22.04/24.04 ou Debian recommandés ; Rocky/Alma 9 OK
  • Un compte déjà capable d’exécuter sudo (votre user de session) pour créer le user de lab
  • Terminal bash et une session interactive (pas de secrets réels dans les exemples)

Coût estimé : 0 €. Lab jetable : utilisateur labuser + home dédié — on le supprime en fin de tuto.

Ce que nous allons construire

Identité actuelle (id / whoami / groups)
  → Lecture /etc/passwd et /etc/group
  → Compte labuser (useradd + passwd)
  → Groupes primaire + secondaires
  → su vs sudo · groupe sudo (Debian) / wheel (RHEL)
  → Règle sudoers minimale via visudo
  → Vérif sudo -l · nettoyage userdel

(Schéma à remplacer par une image locale Excalidraw / draw.io, alt : « Flux identité Linux, useradd, groupes sudo/wheel et visudo ».)

Troisième chapitre de Linux Basics. Sur le cloud, l’idée « compte quotidien ≠ super-admin » rappelle IAM vs root AWS — voir Démarrer avec AWS (IAM quotidien, root verrouillé).

Étape 1 — Qui suis-je : id, whoami, groups

Avant de créer qui que ce soit, lisez votre session.

whoami
id
id -un
id -gn
groups
echo "UID=$UID HOME=$HOME"
Commande Rôle
whoami Nom du user effectif
id UID, GID primaire, groupes secondaires
groups Liste courte des groupes
$UID / $HOME Variables utiles en scripts

Exemple Ubuntu : uid=1000(…) gid=1000(…) groups=…,27(sudo). Le groupe sudo (ou wheel sur Rocky) signale déjà une élévation possible — on la reproduira pour le compte de lab.

Étape 2 — Lire /etc/passwd et /etc/group (lecture seule)

Source classique d’identité locale (NSS/LDAP hors scope débutant).

getent passwd "$USER"
getent passwd | tail -n 5
getent group sudo 2>/dev/null || getent group wheel
# Lecture directe (équivalent souvent) :
head -n 3 /etc/passwd
grep -E '^(sudo|wheel):' /etc/group

Ligne /etc/passwd : nom:x:UID:GID:commentaire:home:shell (x/etc/shadowne copiez jamais le hash). /etc/group : nom:x:GID:membres. Préférez getent : il suit la config système.

Étape 3 — Créer un utilisateur de lab (useradd / adduser)

Sur Debian/Ubuntu, adduser est interactif ; useradd est bas niveau et portable (Rocky/Alma inclus).

# Option A — Debian/Ubuntu (interactif : mot de passe, nom complet…)
# sudo adduser labuser

# Option B — portable (lab non interactif) — Ubuntu/Debian + Rocky/Alma
sudo useradd -m -s /bin/bash -c "Lab DevOps jetable" labuser
sudo passwd labuser
# Saisissez un mot de passe de lab (pas un secret de prod) ; confirmez

getent passwd labuser
ls -ld /home/labuser
id labuser

Flags : -m home, -s shell, -c commentaire. Pas d’UID 0. Gardez labuser en démo. Sur Rocky/Alma 9 : mêmes useradd/passwd ; préférez useradd si adduser manque.

Étape 4 — Groupes primaires et secondaires (usermod)

  • Groupe primaire : celui du champ GID dans passwd (fichiers créés héritent souvent de ce groupe).
  • Groupes secondaires : droits supplémentaires (ex. sudo, docker, adm).
# Créer un groupe de lab puis l’attacher en secondaire
sudo groupadd labdevops 2>/dev/null || true
sudo usermod -aG labdevops labuser
# -aG = Append aux Groupes secondaires (sans -a, vous ÉCRASEZ la liste !)
id labuser
groups labuser
Action Commande Attention
Ajouter un groupe secondaire usermod -aG groupe user Toujours -a avec -G
Changer le groupe primaire usermod -g groupe user Rare en lab
Renommer / home usermod -l / -d Hors scope ici

Sans -a, usermod -G … peut retirer les autres secondaires — erreur classique.

Étape 5 — su vs sudo : ne pas rester root

su / su - sudo commande
Idée Devenir un autre user (souvent root) pour une session Exécuter une commande en élevé
Mot de passe Celui de la cible (root) en général Celui de votre user (si autorisé)
Trace Moins granulaire Journalisée (/var/log/auth.log ou journald)
Usage DevOps Rare au quotidien Standard
# Session root complète — à éviter au quotidien
# su -
# exit

# Élévation ponctuelle (recommandé)
sudo whoami          # doit afficher root si vous êtes dans sudo/wheel
sudo -l              # liste vos droits sudo

Règle d’or : compte quotidien non-root + sudo pour l’admin. Même idée qu’IAM vs root dans Démarrer avec AWS.

Étape 6 — Groupe sudo (Debian/Ubuntu) vs wheel (RHEL)

Famille Groupe admin typique Fichier / snippet
Debian / Ubuntu sudo %sudo ALL=(ALL:ALL) ALL dans sudoers
Rocky / Alma / RHEL wheel %wheel ALL=(ALL) ALL (parfois commenté à activer)
# Debian/Ubuntu — donner sudo à labuser
sudo usermod -aG sudo labuser

# Rocky/Alma — équivalent
# sudo usermod -aG wheel labuser

# Vérifier l’appartenance (nouvelle session parfois requise)
id labuser
getent group sudo 2>/dev/null || getent group wheel

Après usermod -aG, labuser doit se reconnecter pour voir sudo/wheel dans groups (ou tester via sudo -iu labuser).

Étape 7 — visudo et règles sudoers minimales

Ne jamais éditer /etc/sudoers à nu : une typo = plus de sudo. Toujours visudo (verrou + validation).

# Ouvre l’éditeur configuré (souvent nano ou vi)
sudo visudo

Pour un lab, préférez un drop-in :

# Créer une règle dédiée lab (Debian/Ubuntu ; chemin standard)
echo 'labuser ALL=(ALL) NOPASSWD: /usr/bin/whoami, /usr/bin/id' | sudo tee /etc/sudoers.d/99-labuser
sudo chmod 440 /etc/sudoers.d/99-labuser
sudo visudo -cf /etc/sudoers.d/99-labuser
Élément Sens
labuser Qui
ALL=(ALL) Depuis tous les hôtes, peut devenir n’importe quel user
NOPASSWD: Sans redemander le mot de passe — lab seulement
Liste de binaires Moindre privilège : pas ALL aveugle

Avertissement : NOPASSWD / ALL large = OK en VM jetable, dangereux sur VPS. En projet : mot de passe, commandes listées. Validez avec visudo -cf avant de fermer la session sudo.

Étape 8 — Vérification

# En tant que votre admin de session :
sudo -l
sudo whoami
sudo -u labuser whoami
sudo -u labuser id

# Simuler labuser (si mot de passe / règle OK) :
sudo -iu labuser <<'EOS'
whoami
id
groups
sudo -l
sudo whoami
sudo id
exit
EOS

Validé si : labuser a un home + bash, est dans sudo/wheel (ou a une règle sudoers.d), sudo whoamiroot, et vous évitez une session root permanente.

Nettoyage — supprimer le user de lab

# Retirer la règle sudoers de lab
sudo rm -f /etc/sudoers.d/99-labuser

# Supprimer le compte + home + mail spool
sudo userdel -r labuser

# Groupe de lab (si plus personne dedans)
sudo groupdel labdevops 2>/dev/null || true

getent passwd labuser || echo "labuser supprimé — OK"

Sans -r, le home reste : nettoyez-le. Jamais userdel sur votre propre session.

Erreurs fréquentes

Symptôme Cause Correction
labuser is not in the sudoers file Pas dans sudo/wheel ni règle usermod -aG sudo|wheel + reconnect, ou drop-in visudo
Groupes pas à jour dans le shell Session ouverte avant usermod Logout/login ou newgrp / nouvelle SSH
usermod -G a vidé les groupes Oubli du -a Remettre chaque groupe avec usermod -aG
Plus de sudo après edit Syntaxe sudoers cassée Réparer via root console / recovery ; toujours visudo
Habitude sudo su - toute la journée Session root permanente Préférer sudo cmd ; compte quotidien non-root

Quiz (3 questions)

1. Quelle est la différence principale entre su - et sudo commande ?
– A. Aucune, ce sont des alias
– B. su ouvre souvent une session sous l’identité cible ; sudo élève une commande ponctuelle avec journalisation
– C. sudo ne fonctionne que sur Rocky

2. Où modifier sudoers en sécurité ?
– A. nano /etc/sudoers directement sans contrôle
– B. Avec visudo (ou un fichier dans /etc/sudoers.d/ validé par visudo -cf)
– C. Dans ~/.bashrc

3. À quoi sert le groupe sudo (Debian/Ubuntu) ou wheel (RHEL) ?
– A. Uniquement à stocker des mots de passe
– B. À marquer les utilisateurs autorisés à utiliser sudo selon les règles sudoers
– C. À remplacer /etc/passwd

Réponses : 1‑B · 2‑B · 3‑B

FAQ

Différence su et sudo ?
su change d’identité pour une session (souvent root, mot de passe de la cible). sudo Linux élève une commande si vous êtes autorisé ; on tape en général son mot de passe, avec journalisation. Au quotidien : sudo, pas de session root ouverte.

Où modifier sudoers en sécurité ?
Via visudo, ou un drop-in /etc/sudoers.d/ validé par visudo -cf. Éditer /etc/sudoers sans validation peut vous verrouiller hors admin.

À quoi sert le groupe sudo/wheel ?
Groupe d’admin local référencé par sudoers (%sudo / %wheel). usermod -aG y ajoute un user pour l’élévation prévue par la distro — l’équivalent du compte admin quotidien vs root nu.

Pour aller plus loin

  • man useradd, man usermod, man sudoers, man visudo
  • Prochain tuto : installer et mettre à jour des paquets avec apt et dnf

Maillage série Linux Basics (P5)

← Précédent Fichiers et permissions Linux
→ Suivant Paquets apt et dnf
Hub Linux Basics
Aussi Comptes cloud vs OS : Démarrer avec AWS (IAM quotidien vs root)

Meta publication (à remplir dans Rank Math / SEO)

  • Title SEO : Utilisateurs Linux et sudo : useradd, groups, visudo (2026)
  • Meta description (≤ 155) : Créez des comptes, gérez groupes et sudoers correctement. Évitez de travailler en root au quotidien — guide junior DevOps.
  • Focus keyphrase : sudo linux
  • KW secondaires : useradd, usermod, groups linux, visudo, /etc/sudoers
  • Schemas Rank Math : Article + HowTo (étapes lab) + FAQ (3 questions ci-dessus)
  • Image mise en avant : assets/web/devopelastichayway/cover-linux-utilisateurs-sudo-1200x630.webp (Visuels Linux — WebP 1200×630)
  • Catégorie : Linux · Niveau : Débutant
  • Slug : linux-utilisateurs-sudo

← Retour parcours Linux — Basics, Admin, Réseau & Sécurité, Shell & Automation.