Appearance
Fiche de Révision : Root, su et sudo sous Linux
1. Le Compte root (Super-utilisateur)
- Définition :
rootest 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
rootpeut 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
exitouCtrl+Dpour 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
- Exemple :
- Mot de passe requis : Le mot de passe de l'utilisateur actuel (le vôtre).
- Prérequis : L'utilisateur doit appartenir au groupe
sudo(ouwheelsur certaines distributions).- Ajouter un utilisateur :
usermod -aG sudo nom_utilisateur(en tant queroot).
- Ajouter un utilisateur :
- Avantages :
- Sécurité : Pas besoin de partager le mot de passe
root. - Traçabilité : Les actions
sudosont journalisées, ce qui permet un audit. - Contrôle fin : Le fichier
/etc/sudoerspermet de définir des règles très précises (qui peut faire quoi).
- Sécurité : Pas besoin de partager le mot de passe
4. su vs. sudo : Le Résumé
| Caractéristique | su | sudo |
|---|---|---|
| Action | Ouvre un shell en tant qu'autre utilisateur. | Exécute une commande en tant que root. |
| Durée | Session complète (jusqu'à exit). | Une seule commande. |
| Mot de passe | Celui du compte cible (root). | Celui de l'utilisateur actuel. |
| Sécurité | Moins sécurisé (accès total). | Plus sécurisé (contrôlé, auditable). |
| Usage typique | Tâches d'administration longues. | Tâches d'administration ponctuelles. |
5. Bonnes Pratiques
- ✅ Toujours utiliser un compte utilisateur standard pour les tâches quotidiennes.
- ✅ Privilégier
sudopour les actions administratives courantes (mises à jour, installations...). - ✅ Réserver
su -aux situations nécessitant de nombreuses commandes en tant queroot. - 🚫 Ne jamais rester connecté en
rootplus longtemps que nécessaire. - 🔒 Appliquer le principe du moindre privilège : n'accorder que les permissions indispensables.