Terminal Linux affichant une session root avec sudo ou su

Comment passer en root sous Linux avec sudo ou su (et quelles précautions prendre)

En résumé

  • Utilisez sudo pour exécuter une seule commande avec les privilèges administrateur.
  • Utilisez sudo -i pour ouvrir temporairement un shell root si votre compte est autorisé à utiliser sudo.
  • La commande su – demande le mot de passe root et échoue si le compte root est désactivé ou inaccessible.
  • Vérifiez avec whoami, puis quittez avec exit ou Ctrl+D dès que vous avez terminé.

Pour exécuter une commande ponctuelle, utilisez sudo si votre compte y est autorisé. Pour ouvrir temporairement un shell root, utilisez sudo -i. su – exige un compte root actif et son mot de passe.

Choisissez selon votre besoin :

  • Une seule commande : sudo <commande>
  • Un shell root temporaire : sudo -i
  • Le compte root directement : su -, avec un mot de passe root actif

Avec sudo, le mot de passe demandé est généralement celui de votre utilisateur. Avec su -, c’est le mot de passe root.


sudo et su : deux méthodes différentes

sudo exécute une commande ou ouvre un shell avec des privilèges administrateur, si votre compte dispose de l’autorisation nécessaire. su change d’utilisateur : su - vous fait basculer vers le compte root et son environnement de connexion.

La différence essentielle concerne donc à la fois le résultat et l’authentification :

Méthode Résultat Mot de passe généralement demandé Prérequis
sudo <commande> Une commande exécutée avec les privilèges root Utilisateur courant Autorisation sudo
sudo -i Shell root interactif de connexion Utilisateur courant Autorisation sudo
sudo -s Shell privilégié Utilisateur courant Autorisation sudo
su - Bascule vers l’environnement root Compte root Compte root actif et mot de passe connu

Exécuter une seule commande avec sudo

Pour une opération isolée, ajoutez sudo devant la commande concernée :

sudo <commande-administrative>

Seule la commande indiquée s’exécute avec les privilèges administrateur. Cette approche limite la durée et la portée d’une éventuelle erreur ; elle est donc généralement préférable à l’ouverture d’un shell root pour une action unique. Pour poursuivre avec une vérification système concrète, découvrez comment vérifier les ports ouverts sous Linux.

Lorsque sudo demande un mot de passe, saisissez généralement celui de votre utilisateur courant, et non celui de root. Aucun caractère ne s’affiche pendant la saisie : c’est normal dans un terminal Linux.


Ouvrir un shell root temporaire avec sudo -i

Pour enchaîner plusieurs commandes dans un environnement root, utilisez :

sudo -i

Cette commande ouvre un shell root interactif de connexion. Elle exige une autorisation sudo, mais pas nécessairement un mot de passe root : sudo utilise généralement le mot de passe de votre compte courant.

sudo -i n’active pas durablement le compte root. La commande élève les privilèges du shell ouvert dans le terminal, même lorsque la connexion directe au compte root est désactivée.

Vérifier l’utilisateur actif

Après l’ouverture du shell, vérifiez explicitement l’identité courante :

whoami

Le résultat attendu est :

root

Une invite qui se termine par # constitue seulement un indice ; whoami confirme réellement l’utilisateur actif.

Quitter le shell root

Dès que l’administration est terminée, fermez le shell avec :

exit

Ctrl+D produit le même effet. Vous revenez alors à votre utilisateur normal et évitez de lancer par inadvertance d’autres commandes avec les droits root.


Utiliser sudo -s, sudo su ou sudo su –

sudo -s : ouvrir un shell privilégié

sudo -s

sudo -s ouvre un shell avec des privilèges élevés en utilisant votre autorisation sudo et, généralement, le mot de passe de votre compte. Son environnement peut différer de celui de sudo -i : le répertoire courant, le PATH et certaines variables ne sont pas nécessairement chargés de la même manière.

Si vous recherchez explicitement l’environnement de connexion root, préférez sudo -i.

sudo su et sudo su –

sudo su
sudo su -

Ces commandes combinent sudo et su et peuvent ouvrir un shell root. Elles sont toutefois moins lisibles que sudo -i pour l’usage courant. Dans sudo su -, le tiret demande l’environnement de connexion de root ; le PATH, les variables et le répertoire courant dépendent de la configuration.

su – ou su -l : basculer vers root

su -

La forme longue est :

su -l

Le tiret indique une bascule vers l’environnement de connexion de root. Cette méthode demande le mot de passe root, pas celui de l’utilisateur courant. Elle échoue si le compte root est désactivé, si son mot de passe est inaccessible ou si la configuration interdit cette bascule.


Quelle commande choisir ?

Besoin Commande Choix pratique
Exécuter une opération isolée sudo <commande> Privilèges limités à cette commande
Enchaîner des commandes dans un environnement root sudo -i Shell root temporaire et environnement de connexion
Ouvrir un shell privilégié sans mot de passe root sudo -s Utilise l’autorisation sudo et le mot de passe courant
Basculer directement vers le compte root su - Compte root actif et mot de passe connu

Dans la plupart des cas, commencez par sudo pour une commande unique. Réservez sudo -i à une série d’actions qui nécessite réellement un shell root, puis quittez-le dès que possible. Pour appliquer ces privilèges au pare-feu, consultez comment ouvrir un port sous Linux.


Pourquoi su – échoue-t-il sur certaines distributions ?

Un système Linux peut avoir un compte root désactivé ou limité pour les connexions directes. Dans ce cas, su - échoue alors que sudo peut fonctionner normalement pour un utilisateur autorisé.

Ubuntu

Sur Ubuntu, le compte root est généralement inactif par défaut pour les connexions directes. L’administration passe alors par un compte utilisateur autorisé à utiliser sudo. L’échec de su - ne signifie donc pas que les privilèges administrateur sont indisponibles.

Debian

Debian peut être installé avec un compte root actif ou avec une configuration centrée sur sudo, selon les choix effectués pendant l’installation. Sur une installation minimale, sudo peut ne pas être installé par défaut. Le comportement dépend de l’installation et de la configuration retenues.

Les commandes restent similaires, mais les choix par défaut ne sont pas uniformes entre Debian, Ubuntu, Kali, Fedora, Arch et les autres distributions.


Faut-il activer le compte root ?

Non, pas pour utiliser sudo. Un utilisateur autorisé peut exécuter des commandes administratives ou ouvrir un shell root temporaire sans disposer d’une connexion directe au compte root.

Lorsque l’activation du compte est appropriée, la commande couramment utilisée pour définir un mot de passe root est :

sudo passwd root

Cette commande n’est ni obligatoire ni recommandée dans tous les cas. Elle peut rendre le compte utilisable avec su -, mais définir un mot de passe ne garantit pas à lui seul une connexion directe depuis une interface graphique, une console TTY ou un accès distant : chaque accès peut rester bloqué par sa propre configuration.

Pour l’administration courante, conserver le compte root non accessible directement et utiliser sudo avec un compte nominatif est généralement plus simple à contrôler.


Connexion root par SSH ou depuis l’interface graphique

Connexion distante par SSH

La connexion directe en root par SSH dépend de la configuration du serveur, notamment du paramètre PermitRootLogin. Elle n’est pas activée ni autorisée de la même manière sur toutes les distributions.

La méthode habituelle consiste à ouvrir une session SSH avec un utilisateur autorisé, puis à utiliser sudo. Une connexion root distante n’est donc pas nécessaire pour administrer la machine.

Connexion depuis l’écran graphique

Les gestionnaires de connexion et les environnements de bureau désactivent ou limitent souvent la connexion graphique en root. Une session graphique root augmente la portée des erreurs et n’est généralement pas nécessaire pour administrer Linux.

Préférez un terminal avec sudo, ou sudo -i lorsque plusieurs commandes le justifient.


Dépannage rapide

Situation Cause probable Action
sudo refuse l’accès Le compte ne possède pas l’autorisation sudo nécessaire Lire le message et vérifier les droits administratifs du compte
Le mot de passe sudo est refusé Le mot de passe saisi n’est pas celui de l’utilisateur courant, ou l’authentification échoue Utiliser le mot de passe du compte courant, pas celui de root
su - échoue Le compte root est désactivé, son mot de passe est inactif ou il est inconnu Vérifier la configuration et utiliser sudo si le compte y est autorisé
La connexion échoue après sudo passwd root La connexion directe reste interdite par le terminal, l’interface graphique ou le service distant Distinguer le mot de passe root de l’autorisation de connexion
Le fichier sudoers est invalide Une erreur de syntaxe ou de permissions empêche sudo de lire sa configuration Ne pas modifier sudoers au hasard ; suivre la procédure de récupération propre à la distribution

Si sudoers est inutilisable et qu’aucun autre compte administrateur ne permet d’intervenir, une récupération depuis un environnement externe, comme un support Live, peut être nécessaire. Les étapes dépendent du système installé.


Bonnes pratiques avec les privilèges root

  • Préférez sudo pour une commande ponctuelle.
  • Utilisez sudo -i uniquement lorsqu’un shell root est réellement nécessaire.
  • Vérifiez l’identité avec whoami avant une opération sensible.
  • Ne vous fiez pas uniquement au changement d’invite vers #.
  • Fermez le shell avec exit ou Ctrl+D dès que l’opération est terminée.
  • Évitez les connexions root graphiques ou distantes lorsqu’elles ne sont pas indispensables.

Avis d’Expert

sudo est le choix par défaut pour une commande isolée ; sudo -i convient lorsqu’un shell root temporaire est nécessaire, tandis que su - suppose un compte root actif et un mot de passe disponible. Vérifiez avec whoami, quittez avec exit ou Ctrl+D, et n’activez pas une connexion root graphique ou distante sans besoin précis.

Nathan Belmont

Nathan Belmont

Je suis un expert en systèmes d’exploitation (Windows, macOS/iOS, Linux, Android) ainsi qu’en logiciels et matériel informatique. Je propose des tutoriels clairs et pratiques pour résoudre les problèmes du quotidien, des imprimantes aux smartphones.