Les commandes su et sudo
Dans Linux, les commandes su et sudo sont utilisées pour effectuer des tâches nécessitant des privilèges élevés, c’est-à-dire des actions qui ne peuvent être accomplies que par l’utilisateur root (administrateur). Comprendre la différence entre ces deux commandes et leur utilisation est crucial pour gérer les permissions et la sécurité sur un système Linux.
1. su (Switch User)
La commande su est utilisée pour changer d’utilisateur. Par défaut, si vous utilisez simplement su, vous passerez à l’utilisateur root, mais vous pouvez aussi l'utiliser pour passer à d'autres comptes.
a. Utilisation de su pour Passer en Root
Pour passer à l'utilisateur root:
-: Cette option permet de charger l’environnement complet de l’utilisateur root, comme si vous veniez de vous connecter.
Après avoir tapé cette commande, il vous sera demandé le mot de passe de root. Une fois authentifié, vous êtes connecté en tant que root et pouvez exécuter n’importe quelle commande sans restriction.
b. Utilisation de su pour Passer à un Autre Utilisateur
Vous pouvez aussi utiliser su pour passer à un autre utilisateur :
Après exécution de cette commande, il vous sera demandé le mot de passe de l’utilisateur cible.
c. Exemple
Pour devenir
root:su -Pour passer à l’utilisateur
alice:su - alice
2. sudo (Super User Do)
La commande sudo permet à un utilisateur normal d’exécuter des commandes spécifiques avec des privilèges élevés (ceux de l'utilisateur root). Contrairement à su, sudo ne change pas d’utilisateur ; il exécute simplement la commande demandée avec des droits administratifs.
a. Utilisation de sudo pour Exécuter une Commande
Pour utiliser sudo:
Exemple:
sudo apt updateIci, l’utilisateur peut exécuter
apt updateavec des droits administratifs, ce qui permet de mettre à jour la liste des paquets du système.
b. Mot de Passe
Lors de l’utilisation de sudo, le mot de passe qui vous est demandé est votre propre mot de passe, pas celui de root. Cela permet un meilleur contrôle sur qui peut exécuter quelles commandes.
c. Permissions avec sudo
Seuls les utilisateurs qui font partie du groupe sudo (ou un groupe similaire, comme wheel sur certaines distributions) peuvent utiliser la commande sudo. Pour ajouter un utilisateur au groupe sudo:
Le fichier /etc/sudoers contrôle les utilisateurs qui peuvent utiliser sudo et quelles commandes ils peuvent exécuter. Pour éditer ce fichier de manière sécurisée, il est recommandé d'utiliser la commande :
Cette commande ouvre le fichier /etc/sudoers dans un éditeur de texte, en vérifiant la syntaxe avant de sauvegarder.
d. Exemple d’Utilisation
Pour redémarrer le système :
sudo rebootPour modifier un fichier de configuration nécessitant des privilèges root :
sudo nano /etc/hosts
3. Différences entre su et sudo
Aspect |
|
|
|---|---|---|
But | Changer d’utilisateur | Exécuter une commande avec privilèges élevés |
Mot de passe | Nécessite le mot de passe de | Nécessite le mot de passe de l'utilisateur |
Sécurité | Accès complet à l’environnement root | Contrôle limité à des commandes spécifiques |
Utilisation | Ouverture d’une session root complète | Exécution ponctuelle de commandes |
Traçabilité | Difficile de savoir qui a fait quoi | Les actions sont journalisées dans |
Sécurité:
sudoest considéré comme plus sécurisé car il n’accorde des privilèges élevés qu’à une commande spécifique et demande un mot de passe utilisateur. Cela limite les risques en cas de mauvaise manipulation.Traçabilité: Avec
sudo, toutes les commandes exécutées sont journalisées dans/var/log/auth.log, ce qui permet de savoir qui a exécuté quelle commande. Ceci est important pour la sécurité et l'audit.
4. Quand Utiliser su et sudo?
suest souvent utilisé lorsque vous devez exécuter de nombreuses commandes en tant queroot, car cela ouvre une session root persistante. Par contre, cela augmente les risques d'erreurs, car vous avez un accès complet au système sans restriction.sudoest préféré pour des tâches administratives ponctuelles. Il offre un meilleur contrôle et est moins susceptible de provoquer des erreurs non intentionnelles.
5. Configuration de sudo avec visudo
Le fichier /etc/sudoers contrôle les permissions des utilisateurs pour sudo. Il est recommandé de l'éditer avec la commande visudo pour éviter les erreurs de syntaxe qui pourraient rendre sudo inutilisable.
Pour ouvrir et modifier le fichier /etc/sudoers:
Voici un exemple de ligne dans le fichier sudoers:
alice: Nom de l’utilisateur.ALL: L'utilisateur peut se connecter depuis n'importe quel hôte.(ALL:ALL): L'utilisateur peut exécuter des commandes en tant que n'importe quel utilisateur et n'importe quel groupe.ALL: L'utilisateur peut exécuter toutes les commandes.
Conclusion
suest utilisé pour changer d’utilisateur, généralement versroot, et offre un accès complet à l’environnement de cet utilisateur.sudopermet d’ exécuter une commande spécifique avec des privilèges élevés sans changer d’utilisateur, ce qui est plus sûr et plus contrôlé.
Pour les administrateurs système, il est recommandé d’utiliser sudo autant que possible pour minimiser les risques, limiter les actions aux commandes nécessaires, et garantir une traçabilité des actions effectuées sur le système.