Découvrez les différences entre sudo, su et su – sous Linux

Introduction
Vous souhaitez en apprendre davantage sur les commandes sudo, su, et su – sous Linux ? Dans cet article, nous allons explorer les différences entre ces commandes essentielles pour l’exécution de tâches avec des droits administratifs. Suivez le guide pour tout savoir sur leur utilisation et leur fonctionnement.
Linux : la commande su
Définition
La commande su dont le nom signifie Substitute User permet de basculer vers un autre utilisateur, par défaut l’utilisateur root. Contrairement à sudo, la commande su ne demande pas le mot de passe de l’utilisateur courant, mais celui de l’utilisateur cible (donc celui du super-utilisateur).
Exemple d’utilisation
Pour basculer vers l’utilisateur root, l’utilisateur actuellement connecté sur la machine Linux peut simplement utiliser la commande :
su
Il sera alors invité à entrer le mot de passe de l’utilisateur root. S’il ne le connaît pas, la demande sera refusée.
Linux : la commande su –
Définition et utilisation
La commande su – est une variante de su qui permet de basculer vers un autre utilisateur tout en chargeant son environnement. Cela signifie que toutes les variables d’environnement et configurations de l’utilisateur cible seront appliquées.
La différence entre su et su – par la pratique
Il y a une différence simple à observer entre su et su – : en affichant le répertoire courant après l’exécution de l’une ou l’autre de ces commandes, vous verrez une différence claire.
N’utilisez pas la commande sudo su
Pourquoi est-ce déconseillé ?
Avec sudo, chaque commande exécutée est enregistrée dans les journaux, ce qui permet un suivi précis des actions réalisées avec des privilèges élevés. Lorsque vous utilisez sudo su, seule l’exécution de su est loguée par sudo, et non les commandes exécutées dans le shell root qui en découle.
Alternatives recommandées
Plutôt que d’utiliser la commande sudo su, il est recommandé de faire usage des options natives de la commande sudo, à savoir :
sudo -i : pour obtenir un shell root avec l’environnement de root chargé (variables, profil, etc.), en tant qu’alternative à sudo su -.
sudo -s : pour obtenir un shell root tout en conservant l’environnement de l’utilisateur actuel, en tant qu’alternative à sudo su.
Conclusion
En comprenant les différences entre sudo, su, et su – sous Linux, vous serez en mesure d’utiliser la bonne commande selon le contexte et vos besoins. N’oubliez pas :
- La commande sudo permet d’exécuter une commande en tant qu’un autre utilisateur, en général root.
- Lorsque vous utilisez su pour basculer vers l’utilisateur root, vous conservez l’environnement de l’utilisateur actuel.
- Lorsque vous utilisez su – pour basculer vers l’utilisateur root, vous chargez l’environnement complet de l’utilisateur root.
- Les commandes sudo -i et sudo -s sont des alternatives recommandées à l’utilisation sudo su et sudo su -.
Source : www.it-connect.fr