Skip to content

Fiche de Révision : Root, su et sudo sous Linux

1. Le Compte root (Super-utilisateur)

  • Définition : root est l'administrateur suprême du système. Il a un accès total et illimité à l'ensemble du système d'exploitation.
  • Pouvoirs :
    • Modifier n'importe quel fichier ou configuration.
    • Installer/désinstaller des logiciels pour tout le système.
    • Gérer tous les utilisateurs.
    • Accéder aux répertoires de tous les utilisateurs.
  • Prompt : Se termine par un # (ex: root@debian:~#).
  • Principe de Sécurité Clé : Le principe de base de Linux est la séparation des comptes. Les utilisateurs standards sont limités à leur répertoire (/home/username) pour protéger le système.
  • ⚠️ Attention : Une mauvaise commande en tant que root peut endommager irrémédiablement le système. À utiliser avec une extrême prudence.

2. La Commande su (Substitute User)

  • Rôle : Permet de changer complètement d'utilisateur dans le terminal actuel, sans se déconnecter.
  • Syntaxe :
    • su nom_utilisateur : Change d'utilisateur mais conserve l'environnement d'origine (le $PATH, le répertoire courant...). À éviter !
    • su - nom_utilisateur : Change d'utilisateur et charge son environnement complet (comme une nouvelle connexion). C'est la méthode recommandée.
  • Mot de passe requis : Le mot de passe de l'utilisateur cible (celui que vous voulez devenir).
  • Usage principal : Lancer une session administrative prolongée en tant que root (su -).
  • Quitter : Taper la commande exit ou Ctrl+D pour revenir à l'utilisateur d'origine.

3. La Commande sudo (Substitute User Do)

  • Rôle : Permet à un utilisateur autorisé d'exécuter une seule commande avec les privilèges de root, de manière ponctuelle et contrôlée.
  • Principe : Applique le principe du moindre privilège. L'utilisateur reste sur son compte limité et n'obtient des droits élevés que pour l'action demandée.
  • Syntaxe : sudo [commande_a_executer]
    • Exemple : sudo apt update
  • Mot de passe requis : Le mot de passe de l'utilisateur actuel (le vôtre).
  • Prérequis : L'utilisateur doit appartenir au groupe sudo (ou wheel sur certaines distributions).
    • Ajouter un utilisateur : usermod -aG sudo nom_utilisateur (en tant que root).
  • Avantages :
    • Sécurité : Pas besoin de partager le mot de passe root.
    • Traçabilité : Les actions sudo sont journalisées, ce qui permet un audit.
    • Contrôle fin : Le fichier /etc/sudoers permet de définir des règles très précises (qui peut faire quoi).

4. su vs. sudo : Le Résumé

Caractéristiquesusudo
ActionOuvre un shell en tant qu'autre utilisateur.Exécute une commande en tant que root.
DuréeSession complète (jusqu'à exit).Une seule commande.
Mot de passeCelui du compte cible (root).Celui de l'utilisateur actuel.
SécuritéMoins sécurisé (accès total).Plus sécurisé (contrôlé, auditable).
Usage typiqueTâches d'administration longues.Tâches d'administration ponctuelles.

5. Bonnes Pratiques

  1. Toujours utiliser un compte utilisateur standard pour les tâches quotidiennes.
  2. Privilégier sudo pour les actions administratives courantes (mises à jour, installations...).
  3. Réserver su - aux situations nécessitant de nombreuses commandes en tant que root.
  4. 🚫 Ne jamais rester connecté en root plus longtemps que nécessaire.
  5. 🔒 Appliquer le principe du moindre privilège : n'accorder que les permissions indispensables.

.