voir TP VB1

📜 Le Compte Root : Du Tout-Puissant au Super-Héros Protégé

1. Le Roi du Château (La situation historique)

Analogie : Imaginez le système Unix/Linux comme un château médiéval.

  • Le compte root est le Roi. Il a un pouvoir absolu et illimité.
  • Il peut :
    • Lire, modifier ou supprimer n’importe quel fichier (même ceux des autres utilisateurs).
    • Installer ou désinstaller n’importe quel logiciel.
    • Configurer le réseau, arrêter le système, formater des disques durs.
    • Changer les permissions de qui que ce soit.

Problème : Si un ennemi vole la couronne du Roi (le mot de passe root), il contrôle tout le château. C’est un risque énorme.


2. Les Faiblesses du Roi (Les problèmes de sécurité)

Avec le temps, on s’est rendu compte que laisser un accès direct au compte root était très dangereux :

  1. Attaque par « Force Brute » : Un pirate peut utiliser un programme qui teste des milliers de mots de passe différents sur la porte de connexion (SSH, par exemple) jusqu’à trouver le bon.
  2. Erreurs Humaines Catastrophiques : Une simple faute de frappe sous root peut avoir des conséquences désastreuses (ex: rm -rf / * au lieu de rm -rf ./*). Sous un compte normal, cette commande échouerait.
  3. Manque de Traçabilité : Si plusieurs administrateurs utilisent le même compte root, il est impossible de savoir qui a exécuté quelle commande.

3. La Solution Moderne : Les Clés du Royaume sont Gardées

Pour renforcer la sécurité, on a décidé de verrouiller le compte root en lui retirant son mot de passe utilisable directement.

Mais alors, comment fait-on pour administrer le système ?

On utilise un système d’élévation de privilèges ponctuelle. Au lieu de se connecter en tant que Roi, on reste un simple utilisateur, et on demande une permission spéciale pour exécuter une seule commande en tant que Roi.


4. L’Outil Magique : sudo (SuperUser DO)

Analogie : sudo est comme un laissez-passer temporaire délivré par le Roi à ses chevaliers de confiance (les administrateurs).

  • Vous êtes connecté avec votre compte utilisateur normal.
  • Quand vous avez besoin d’exécuter une commande qui nécessite les droits root, vous ajoutez sudo devant.

Exemple :

bash

# Sans sudo (échec car pas les droits)
$ apt update
Erreur: Permission refusée.

# Avec sudo (succès)
$ sudo apt update
[sudo] Mot de passe pour etudiant :

Que se passe-t-il ?

  1. Le système vous demande votre mot de passe à vous, pas celui de root.
  2. Il vérifie que vous êtes bien dans la liste des utilisateurs de confiance (dans le fichier /etc/sudoers).
  3. Si c’est bon, il exécute la commande apt update avec les privilèges root.
  4. Le « laissez-passer » expire au bout d’un court moment (quelques minutes par défaut) pour éviter les abus.

🛡️ Résumé des Avantages de cette Méthode

  1. Pas d’attaque directe sur root : Le compte root n’ayant pas de mot de passe utilisable, il est invisible et invulnérable aux attaques par force brute directes.
  2. Principe de Privilège Minimum : Les administrateurs passent la majorité de leur temps avec des droits normaux, réduisant le risque d’erreurs critiques.
  3. Journalisation (Logs) : Toutes les commandes exécutées avec sudo sont enregistrées (/var/log/auth.log). On sait qui a fait quoi et quand.
  4. Contrôle Granulaire : On peut configurer sudo avec une précision chirurgicale (autoriser la commande A à l’utilisateur X, mais pas la commande B).

⚠️ Bonnes Pratiques à Retenir

  • Ne jamais configurer un accès direct par mot de passe pour root.
  • Utiliser sudo pour les tâches d’administration.
  • Toujours relire deux fois une commande précédée de sudo.
  • Utiliser sudo -i ou sudo su - pour une session root prolongée seulement si nécessaire, et en sortir au plus vite avec la commande exit.

Conclusion : Le passage d’un accès root direct à l’utilisation de sudo est une évolution majeure de la sécurité sous Linux. C’est une pratique standard et indispensable sur toute installation moderne.