Comprendre les commandes sudo, su et su – sous Linux : fonctions et distinctions

Les bases de l’administration système sous Linux : distinguer sudo, su et su –

Depuis plusieurs décennies, la gestion des permissions et des droits d’accès constitue le cœur de la sécurité et de l’administration système en environnement Linux. Avec l’évolution constante des distributions et des politiques de sécurité, comprendre la distinction entre les commandes sudo, su et su – devient essentiel pour tout professionnel souhaitant manipuler efficacement ses systèmes. Ces commandes, souvent perçues comme des outils d’élévation des privilèges, remplissent chacune une fonction précise, adaptée à des contextes différents. En 2025, cette compréhension approfondie garantit non seulement une administration sûre et efficace, mais également une traçabilité renforcée des actions entreprises par l’utilisateur.

Exploration détaillée de la commande su : un accès en mode super utilisateur

Exploration détaillée de la commande su : un accès en mode super utilisateur

La commande su, qui signifie « Substitute User » ou « Switch User », occupe une place essentielle dans la gestion de la sécurité sous Linux. Elle permet à un utilisateur d’ouvrir une session en tant qu’autre utilisateur, généralement le super utilisateur ou root. La principale force de su réside dans sa capacité à offrir un accès ininterrompu à toutes les fonctionnalités d’un autre utilisateur, notamment celui disposant de droits administratifs. Cependant, cette puissance s’accompagne de responsabilités, notamment en termes de permissions et de sécurité. La pratique montre que l’usage de su doit être limité et contrôlé, car tout changement de contexte peut potentiellement exposer le système à un risque accru si mal géré.

Lorsque l’on exécute la commande su, le système demande généralement le mot de passe de l’utilisateur cible. Pour basculer vers le compte root, il suffit de taper :

su

Et d’entrer le mot de passe de l’administrateur. Dès lors, l’utilisateur bénéficie de toutes les permissions liées au super utilisateur. La session, cependant, conserve une certaine ressemblance avec la session initiale, sauf si l’option - est ajoutée. La différence notable avec sudo réside dans le fait que su ne nécessite pas une configuration préalable dans /etc/sudoers, mais seulement d’avoir le mot de passe de l’utilisateur cible.

Aspect su sudo
Principe Basculer vers un autre utilisateur Exécuter une commande avec les privilèges d’un autre utilisateur
Mot de passe requis Mot de passe de l’utilisateur cible Mot de passe de l’utilisateur initial ou selon la règle sudoers
Sécurité Moins sécurisé si mal utilisé, car accès total Plus sécurisé, traçabilité renforcée

Pour une compréhension approfondie, il est utile de connaître que l’utilisation de su peut poser problème si le mot de passe est compromis, car il donne un accès complet. La pratique recommandée en 2025 recommande d’utiliser Polkit pour déléguer des droits précis et limiter l’usage de su.

Différencier su et su – : importance de l’environnement utilisateur

La distinction entre su et su – n’est pas anodine, car elle influence directement la configuration de l’environnement utilisateur après le changement de contexte. La commande su – (avec le tiret) simule une connexion complète en chargeant l’environnement précis de l’utilisateur cible, notamment variables d’environnement, profils et chemins d’accès. La simple utilisation de su sans le tiret sert à changer d’utilisateur sans charger pleinement ses paramètres, ce qui peut entraîner des incohérences ou des erreurs si l’environnement est critique.

Par exemple, après avoir lancé :

su -

le système charge toutes les variables d’environnement, telles que PATH, HOME, ou encore les configurations spécifiques dans .profile. En revanche, avec :

su

l’environnement initial reste intact, ce qui peut poser problème si des scripts ou des configurations dépendent de variables spécifiques. La pratique montre que pour tout changement de contexte complet, l’usage de su - est fortement recommandé afin de garantir la conformité réglementaire et la sécurité des actions. Par ailleurs, cette distinction est cruciale pour la gestion des permissions dans des environnements multi-utilisateurs ou lors de l’implémentation de politiques en entreprise.

Critère su su -
Chargement de l’environnement Partiel Complet
Variables d’environnement Conservées Reinitialisées
Utilisation typique Changement d’utilisateur sans réinitialisation Connexion complète à l’environnement de l’utilisateur cible

Concrètement, en quoi ça influence la sécurité ?

En environnement professionnel, surtout en 2025, respecter la gestion précise des environnements évite la fuite d’informations ou des erreurs graves d’exécution. La différence entre su et su – devient alors un levier pour optimiser la sécurité en chargeant strictement l’environnement nécessaire, évitant ainsi des configurations incorrectes ou des droits non autorisés.

Les recommandations de sécurité autour de sudo et su : pratique optimale en 2025

Les recommandations de sécurité autour de sudo et su : pratique optimale en 2025

Alors que les systèmes Linux continuent d’évoluer, la sécurité reste un enjeu de premier ordre. La pratique recommandée pour les administrateurs système consiste à limiter l’usage de su et privilégier sudo combiné à des politiques strictes dans Polkit. En 2025, cette approche renforce la capacité à contrôler précisément quels actions sont possibles et qui peut les réaliser, tout en conservant une traçabilité fiable.

Plus concrètement, l’usage de sudo s’accompagne de configurations fines dans le fichier /etc/sudoers, permettant de limiter l’accès à des commandes précises. Par exemple :

  • 🔐 Limiter les droits à des scripts spécifiques
  • 📝 Enregistrer toutes les actions dans les journaux de logs
  • 🔍 Vérifier à tout moment l’utilisation des privilèges

Il est également conseillé de préserver la pratique de ne faire appel à su que dans des cas exceptionnels, lorsqu’une session de travail complète est nécessaire. La maîtrise de la délégation des droits avec Polkit permet d’attribuer des droits précis à différents utilisateurs, renforçant la sécurité globale.