Si vous débutez sous Linux, vous avez probablement déjà croisé la commande sudo. Elle est essentielle pour effectuer des tâches d’administration, mais peut aussi être source de confusion et d’erreurs. Ce tutoriel vous explique simplement ce qu’est sudo, comment l’utiliser sans risque et comment résoudre les problèmes les plus courants.
Qu’est-ce que sudo ?
sudo signifie « substitute user do » (ou « superuser do »). C’est une commande qui permet d’exécuter une autre commande avec les privilèges d’un autre utilisateur, généralement le superutilisateur (root). C’est plus sûr que de se connecter en tant que root en permanence, car vous n’utilisez les droits élevés que quand c’est nécessaire.
Comment utiliser sudo ?
La syntaxe de base est simple :
sudo commande
Par exemple, pour mettre à jour votre système :
sudo apt update && sudo apt upgrade
Avant d’exécuter une commande avec sudo, le système vous demande votre propre mot de passe (pas celui de root). C’est une mesure de sécurité : cela évite qu’une session laissée ouverte soit utilisée par quelqu’un d’autre.
Précautions : Ne lancez jamais une commande avec sudo si vous n’êtes pas sûr de ce qu’elle fait. Des commandes comme rm -rf / ou dd if=/dev/zero of=/dev/sda peuvent détruire votre système ou vos données. Faites toujours une sauvegarde avant de manipuler des fichiers système ou des partitions.
Le mot de passe sous la loupe
Quand vous tapez votre mot de passe avec sudo, rien ne s’affiche (pas d’astérisques). C’est normal, tapez quand même puis validez avec Entrée.
Par défaut, sudo mémorise votre mot de passe pendant 15 minutes. Passé ce délai, il vous le redemande. Vous pouvez modifier ce délai dans le fichier /etc/sudoers (à faire avec sudo visudo), mais ce n’est pas recommandé pour un débutant.
Si vous voulez vider le cache du mot de passe immédiatement, utilisez :
sudo -k
Erreurs classiques et solutions
- « user is not in the sudoers file » : votre compte n’a pas les droits sudo. Pour résoudre ce problème, vous devez démarrer en mode root (via
su -si vous connaissez le mot de passe root, ou en redémarrant en mode recovery). Ajoutez ensuite votre utilisateur au groupe sudo :usermod -aG sudo nom_utilisateur(sur Debian/Ubuntu) ouwheel(sur CentOS/RHEL). - « command not found » : la commande que vous essayez d’exécuter avec sudo n’est pas dans le PATH de root. Utilisez le chemin absolu, par exemple
/usr/sbin/commande. - « sorry, try again » ou « incorrect password » : vous avez mal tapé votre mot de passe. Vérifiez le verrouillage Majuscule et la disposition du clavier.
- « sudo: no tty present » : vous essayez d’utiliser sudo dans un script ou une connexion non interactive. Ajoutez
Defaults !requirettydans le fichier sudoers (prudence !).
Questions fréquentes sur sudo
Quelle est la différence entre sudo et su ?su vous connecte complètement en tant que root (ou un autre utilisateur) et demande le mot de passe de cet utilisateur. sudo exécute une seule commande avec les droits root et demande votre propre mot de passe. En général, sudo est plus sûr et plus pratique.
Comment savoir si mon utilisateur a les droits sudo ?
Exécutez sudo -l. Si vous voyez une liste de commandes autorisées (ou un message « peut exécuter les commandes suivantes »), vous avez les droits. Sinon, vous obtiendrez une erreur.
En pratique : quelques conseils
Pour éviter les mauvaises surprises :
- Vérifiez toujours la commande avant d’ajouter sudo. Vous pouvez utiliser
type commandeouwhich commandepour voir son emplacement. - Utilisez
sudo !!pour réexécuter la dernière commande avec sudo si vous avez oublié de le faire. - Ne modifiez jamais le fichier
/etc/sudoersà la main : utilisezsudo visudoqui vérifie la syntaxe avant de sauvegarder. - Sur les systèmes à dual boot, soyez prudent : les commandes sudo agissent uniquement sur le système Linux, pas sur Windows.
⭐ Mettre à jour Ubuntu avec apt : les commandes à connaître
⭐ Installer Snap sur Linux Mint : bonne ou mauvaise idée ?
⭐ Connecter son téléphone Android à Ubuntu avec GSConnect
Avec ces bases, vous pouvez utiliser sudo en toute confiance. N’hésitez pas à consulter la page de manuel (man sudo) pour aller plus loin.