sudo permet d’exécuter une commande avec les privilèges de root sans
se connecter en root. C’est le mécanisme standard pour administrer un
système Linux en toute sécurité. Ce guide explique pourquoi on l’utilise,
comment s’en servir et comment vérifier ses droits.
Ce que vous allez apprendre
Section intitulée « Ce que vous allez apprendre »- Pourquoi ne pas travailler en root
- Exécuter une commande avec
sudo - Ouvrir un shell root temporaire avec
sudo -i - Vérifier ses droits avec
sudo -l - Connaître les groupes sudo (Debian) et wheel (Red Hat)
Pourquoi ne pas travailler en root
Section intitulée « Pourquoi ne pas travailler en root »Le compte root (UID 0) a tous les droits sur le système. Une simple faute de frappe peut avoir des conséquences irréversibles :
| Commande | Conséquence en tant que root |
|---|---|
rm -rf /tmp/* | Supprime le contenu de /tmp — normal |
rm -rf / tmp/* (espace en trop) | Supprime tout le système |
chmod -R 777 / | Rend tout le système accessible à tout le monde |
En travaillant avec un compte normal et sudo, vous devez :
- taper explicitement
sudoavant chaque commande privilégiée, - entrer votre mot de passe,
- ce qui laisse une trace dans les logs.
Exécuter une commande avec sudo
Section intitulée « Exécuter une commande avec sudo »La syntaxe est simple — préfixez la commande avec sudo :
sudo apt updateLe système demande votre mot de passe (pas celui de root). Après saisie, le mot de passe reste mémorisé quelques minutes pour éviter de le retaper à chaque commande.
Exemples courants
Section intitulée « Exemples courants »# Installer un paquetsudo apt install htop # Debian/Ubuntusudo dnf install htop # Fedora/RHEL
# Modifier un fichier systèmesudo nano /etc/hostname
# Redémarrer un servicesudo systemctl restart sshd
# Voir les logs systèmesudo journalctl -n 50Ouvrir un shell root temporaire
Section intitulée « Ouvrir un shell root temporaire »Pour enchaîner plusieurs commandes en root, ouvrir un shell temporaire est plus pratique :
sudo -iroot@serveur:~#Le prompt change : $ devient #. Vous êtes maintenant root.
Pour revenir à votre compte normal :
exitDifférence entre sudo -i et sudo -s
Section intitulée « Différence entre sudo -i et sudo -s »| Commande | Effet |
|---|---|
sudo -i | Shell root complet (charge le profil de root, $HOME = /root) |
sudo -s | Shell root mais garde votre environnement ($HOME inchangé) |
Pour un débutant, sudo -i est le choix le plus sûr car il démarre dans
un environnement propre.
Vérifier ses droits : sudo -l
Section intitulée « Vérifier ses droits : sudo -l »Pour voir ce que sudo vous autorise à faire :
sudo -lL'utilisateur bob peut utiliser les commandes suivantes sur serveur : (ALL : ALL) ALL(ALL : ALL) ALL signifie : toutes les commandes, en tant que n’importe
quel utilisateur, sur cette machine.
Si vous n’avez pas le droit d’utiliser sudo, le message sera :
Désolé, l'utilisateur alice ne peut pas utiliser sudo sur serveur.Les groupes sudo et wheel
Section intitulée « Les groupes sudo et wheel »L’accès à sudo est contrôlé par l’appartenance à un groupe :
Le groupe s’appelle sudo :
# Vérifier si vous êtes dans le groupe sudogroups | grep sudo# Ajouter un utilisateur au groupe sudo (en tant que root)sudo usermod -aG sudo aliceLe groupe s’appelle wheel :
# Vérifier si vous êtes dans le groupe wheelgroups | grep wheel# Ajouter un utilisateur au groupe wheel (en tant que root)sudo usermod -aG wheel aliceLe fichier /etc/sudoers
Section intitulée « Le fichier /etc/sudoers »La configuration de sudo se trouve dans /etc/sudoers. Ce fichier
définit qui peut exécuter quoi.
En tant que débutant, vous n’avez pas besoin de modifier ce fichier. Il
suffit d’ajouter un utilisateur au groupe sudo ou wheel.
Dépannage
Section intitulée « Dépannage »| Symptôme | Cause probable | Solution |
|---|---|---|
bob n'est pas dans le fichier sudoers | Votre compte n’est pas dans le groupe sudo/wheel | Demander à l’administrateur de vous ajouter |
sudo : commande introuvable | sudo n’est pas installé (rare sur les distributions actuelles) | Installer avec apt install sudo ou dnf install sudo en tant que root |
| Le mot de passe est refusé | Vous tapez le mot de passe root au lieu du vôtre | Entrer votre mot de passe, pas celui de root |
| Le mot de passe est redemandé à chaque commande | Le délai de mémorisation a expiré (5 min par défaut) | Comportement normal — retapez votre mot de passe |
sudo -l ne retourne rien | Droits limités dans /etc/sudoers | Vérifier avec l’administrateur |
À retenir
Section intitulée « À retenir »- Ne travaillez pas en root au quotidien — utilisez
sudoquand nécessaire. sudo commandeexécute une commande avec les privilèges root.sudo -iouvre un shell root temporaire — quittez avecexit.sudo -laffiche vos droits sudo.- L’accès à sudo se contrôle via le groupe sudo (Debian) ou wheel (Red Hat).
- Chaque commande
sudoest tracée dans les logs système.