Aller directement au contenu
  • Accueil
  • Catégories
    • Toutes les catégories
    • Planète Warez
      Présentations
      Aide & Commentaires
      Réglement & Annonces
      Tutoriels
    • IPTV
      Généraliste
      Box
      Applications
      VPN
    • Torrent & P2P
    • Direct Download et Streaming
    • Autour du Warez
    • High-tech : Support IT
      Windows, Linux, MacOS & autres OS
      Matériel & Hardware
      Logiciel & Software
      Smartphones & Tablettes
      Graphismes
      Codage : Sites Web, PHP/HTML/CSS, pages perso, prog.
      Tutoriels informatiques
    • Culture
      Actualités High-Tech
      Cinéma & Séries
      Sciences
      Musique
      Jeux Vidéo
    • Humour & Insolite
    • Discussions générales
    • Espace détente
    • Les cas désespérés
  • 0 Non lus 0
  • Récent
  • Mots-clés
  • Populaire
  • Meilleur vote
  • Résolu
  • Non résolu
  • Utilisateurs
  • Groupes
  • Faire un don
  • Wiki
Réduire
Logo

Planète Warez

,
  • Politique
  • Règlement
  • À propos
  • Annonces
  • Faire un don
  • Feedback
  • Team
  • Tutoriels
  • Bug Report
  • Wiki
    • Light
    • Default
    • Ubuntu
    • Lightsaber
    • R2d2
    • Padawan
    • Dim
    • FlatDark
    • Invaders
    • Metallic
    • Millennium
    • Leia
    • Dark
    • DeathStar
    • Starfighter
    • X-Wing
    • Sith Order
    • Galactic
ko-fi
  1. Accueil
  2. High-tech : Support IT
  3. Windows, Linux, MacOS & autres OS
  4. Différences sudo, su et su -

Différences sudo, su et su -

Planifié Épinglé Verrouillé Déplacé Windows, Linux, MacOS & autres OS
linuxrootsusudo
3 Messages 2 Publieurs 317 Vues 1 Abonné
  • Du plus ancien au plus récent
  • Du plus récent au plus ancien
  • Les plus votés
Répondre
  • Répondre à l'aide d'un nouveau sujet
Se connecter pour répondre
Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
  • Raccoonundefined En ligne
    Raccoonundefined En ligne
    Raccoon
    a écrit sur dernière édition par
    #1

    root

    Introduction

    Dans cet article, on va expliquer les différences entre la commande sudo et su, avec la différence de syntaxe pour cette dernière.

    Je pourrai ainsi rediriger les personnes sur cet article qui me questionnent souvent sur ce sujet.

    Dans le cas de la commande sudo, on n’abordera pas la partie configuration.
    Pour cela, se référer à l’article https://www.linuxtricks.fr/wiki/sudo-utiliser-et-parametrer-sudoers

    Commande sudo

    La commande sudo (pour substute user do) permet à un utilisateur autorisé, de lancer une commande en tant que superutilisateur ou un autre utilisateur, selon la configuration.
    Elle est souvent utilisée pour exécuter des commandes spécifiques nécessitant des privilèges root.

    Lorsque la commande sudo est invoquée, elle demande le mot de passe de l’utilisateur actuellement connecté et non pas celui du superutilisateur. En gros, il s’agit d’une commande qui délègue des droits spécifiques à un utilisateur du système. C’est pour cela que sudo est paramétrable avec le fichier sudoers.
    Ces actions déléguées sont historisées dans les journaux système.
    A noter que par défaut, le mot de passe n’est pas redemandé pendant une période de 5 minutes.

    La syntaxe de la commande sudo est la suivante :

    sudo \-u util1 macmd
    

    Le compte actuellement connecté va exécuter la commande macmd en tant qu’utilisateur util1 dans l’exemple.
    En l’absence de l’option -u, la commande sera exécutée en tant que superutilisateur root comme dans l’exemple suivant :

    sudo macmd
    

    La commande sudo ne charge l’environnement complet de l’utilisateur cible. Donc attention si on a des variables d’environnement spécifiques ou modifiées telles que $PATH.

    Si le paramétrage le permet, il est possible d’ouvrir un shell avec les droits de l’utilisateur mentionné (ou root par défaut) ainsi que tout son environnement utilisateur (variables, profil, alias, …) :

    sudo -u util1 -i
    

    Dans le cas de la connexion avec l’option -i de sudo, l’environnement complet de l’utilisateur cible est chargé, y compris les scripts de connexion.

    Commande su - et su

    La commande su (pour switch user ou substitute user) est utilisé pour changer d’utilisateur, c’est à dire se connecter en tant qu’un autre utilisateur.

    Lorsque la commande est invoquée, elle demande le mot de passe de l’utilisateur spécifié. Il n’y a pas de configuration particulière puisqu’il ne s’agit pas d’une délégation de droits. Par conséquent, il est nécessaire de connaitre le mot de passe du compte avec lequel on doit se connecter.
    Seule l’action de connexion est historisée dans les journaux système.

    La syntaxe de la commande su est la suivante :

    su - util1
    

    La syntaxe su - a la même utilité que su -l ou su --login, c’est juste qu’elle est plus couramment utilisé, car simplement plus courte.
    Le tiret a son importance afin de réaliser une connexion complète en tant qu’utilisateur mentionné. Lorsqu’on parle de connexion complète, cela signifie que l’environnement complet de l’utilisateur cible est chargé, y compris les scripts de connexion.

    En l’absence d’un login, la connexion se fera en tant que root comme dans l’exemple suivant :

    su -
    

    La commande su peut être utilisée sans l’option - (ou -l ou --login) :

    su util1
    

    Cependant, dans ce cas, on notera que la connexion en tant qu’utilisateur spécifié est réalisée mais l’environnement de l’utilisateur n’est pas chargé complètement (variables, profil, alias, …)

    En l’absence d’un login, la connexion se fera en tant que root comme dans l’exemple suivant et comme vu précédemment, l’environnement n’est pas chargé complètement :

    _Copier vers le presse-papier_Code BASH :

    su
    

    Tester les différences

    La commande env permet de voir les variables d’environnement utilisables d’environnement en cours d’exécution.

    Pour bien cerner les différences entre toutes les commandes, depuis un utilisateur du système différent de root, on peut regarder les comportements suivants.

    Dans les différents cas de démonstration ci-dessous, je suis connecté en utilisateur adrien
    Je me connecte en tant que root

    Cas 1 : su -

    cd /
    su -
    env > /tmp/env_root.txt
    

    On notera l’environnement de l’utilisateur root complètement chargé.
    On est bien dans le dossier personnel de root.

    Cas 2 : su

    <cd /
    su
    env > /tmp/env_su_sans_tiret.txt
    

    On peut faire la différence avec la commande diff :

    diff -u /tmp/env_root.txt /tmp/env_su_sans_tiret.txt
    

    On notera l’environnement de l’utilisateur root n’est pas complètement chargé.

    Les variables PATH, MAIL sont celles de l’utilisateur adrien.
    Je suis resté dans la racine et n’ai pas été positionné dans le dossier personnel de root

    Cas 3 : sudo commande

    cd /
    sudo env > /tmp/sudo_cmd_env.txt
    

    On peut regarder les variables d’environnement avec :

    cat /tmp/sudo_cmd_env.txt
    

    On notera qu’il y a beaucoup moins de variables définies.
    La variable PATH est minimaliste.
    Des variables SUDO supplémentaires sont présentes donnant des infos sur la commande lancée, et l’utilisateur qui a exécuté depuis sudo la commande :

    SUDO_COMMAND=/bin/env
    SUDO_USER=adrien
    SUDO_UID=1000
    SUDO_GID=1000

    Cas 4 : sudo -i

    cd /
    sudo -i
    env > /tmp/env_sudo_i.txt
    

    On peut faire la différence avec la commande diff :

    diff -u /tmp/env_root.txt /tmp/env_sudo_i.txt
    

    On notera l’environnement de l’utilisateur root est complètement chargé.

    La variable PATH dans mon exemple par rapport à la connexion avec su - est la même à l’exception du chemin /usr/local/bin qui n’est pas présent.
    On est bien dans le dossier personnel de root.
    On a les variables SUDO supplémentaires :

    SUDO_COMMAND=/bin/bash
    SUDO_USER=adrien
    SUDO_UID=1000

    Cas 5 : sudo -s

    cd /
    sudo -s
    env > /tmp/env_sudo_s.txt
    

    On peut faire la différence avec la commande diff :

    diff -u /tmp/env_root.txt /tmp/env_sudo_s.txt
    

    On notera l’environnement de l’utilisateur root n’est complètement chargé.

    La variable MAIL est celle de l’utilisateur adrien.
    La variable PATH est minimaliste.
    Je suis resté dans la racine et n’ai pas été positionné dans le dossier personnel de root

    On a les variables SUDO supplémentaires :

    SUDO_COMMAND=/bin/bash
    SUDO_USER=adrien
    SUDO_UID=1000

    A propos de sudo su

    Parfois on voit la commande suivante :

    sudo su
    

    ou

    sudo su -
    

    Elle est parfois utilisée quand nous n’avons que le mot de passe utilisateur à notre disposition, afin d’ouvrir un shell en tant que root.
    Cette commande demande d’exécuter la commande “su” (switch user) avec “sudo” (substitute/switch user do).

    Comme nous l’avons vu :
    - su permet de changer d’utilisateur (se connecter en tant qu’utilisateur)
    - sudo permet de lancer une commande avec une délégation de droits

    Utiliser sudo su est redondant et peut être évité en utilisant simplement la commande sudo directement.
    sudo -i est à préférer à sudo su -
    sudo -s est à préférer à sudo su

    Cela fonctionne, je ne dis pas le contraire, mais nous pouvons tout faire avec la commande sudo et l’appel à “su” n’est pas réellement utile.

    Pour comprendre la réflexion, je vous fais une analogie avec un cas de la vie courante :
    Imaginez, que la connexion en root est l’action de rentrer dans votre appartement. Vous avez 2 portes à franchir : celle de l’immeuble et celle de votre appartement. Vous avez une même clé qui ouvre l’entrée de l’immeuble et votre appartement.
    - sudo -i : Vous prenez votre clé, vous ouvrez la porte de l’immeuble, et avec cette clé vous ouvrez ensuite celle de votre appartement
    - sudo su - : Vous appelez votre voisin qu’il ouvre avec sa clé la porte de l’immeuble, et avec votre clé vous ouvrez celle de votre appartement

    Dans les 2 cas ça marche, mais la seconde option est illogique.

    Source : linuxtricks.fr




    Et la vidéo associée

    1 réponse Dernière réponse
    3
    • Raccoonundefined Raccoon marked this topic as a regular topic on
    • Violenceundefined Hors-ligne
      Violenceundefined Hors-ligne
      Violence
      Admin PW Addict I.T Guy # Dev Team
      a écrit sur dernière édition par Violence
      #2

      Peut être à combiner avec ceci @Raccoon ?

      https://wiki.planete-warez.net/informatique/linux/debutants/sudo

      V:\> █░░ SPR3AD TH3 C0D3 ░░█ ✌(◕‿-)✌
      ╚═ Admin, Dev et auteur de la plupart des bugs de PW…

      Raccoonundefined 1 réponse Dernière réponse
      0
      • Violenceundefined Violence

        Peut être à combiner avec ceci @Raccoon ?

        https://wiki.planete-warez.net/informatique/linux/debutants/sudo

        Raccoonundefined En ligne
        Raccoonundefined En ligne
        Raccoon
        a écrit sur dernière édition par
        #3

        @Violence je m’en occuperai ce soir.

        1 réponse Dernière réponse
        0

        Bonjour ! Vous semblez intéressé par cette conversation, mais vous n’avez pas encore de compte.

        Marre de refaire défiler les mêmes messages ? Créez un compte pour retrouver votre position, recevoir des notifications des nouvelles réponses, sauvegarder vos favoris et voter pour les messages que vous appréciez.

        Grâce à votre participation, ce message peut devenir encore meilleur 💗

        S'inscrire Se connecter
        Répondre
        • Répondre à l'aide d'un nouveau sujet
        Se connecter pour répondre
        • Du plus ancien au plus récent
        • Du plus récent au plus ancien
        • Les plus votés







        ©2026 planete-warez.net
        L'actualité Warez & underground en continu
        Icône café Faire un don
        Politique   RGPD  @dev  Sudonix
        • Se connecter

        • Vous n'avez pas de compte ? S'inscrire

        • Connectez-vous ou inscrivez-vous pour faire une recherche.
        • Premier message
          Dernier message
        0
        • Accueil
        • Catégories
          • Toutes les catégories
          • Planète Warez
            Présentations
            Aide & Commentaires
            Réglement & Annonces
            Tutoriels
          • IPTV
            Généraliste
            Box
            Applications
            VPN
          • Torrent & P2P
          • Direct Download et Streaming
          • Autour du Warez
          • High-tech : Support IT
            Windows, Linux, MacOS & autres OS
            Matériel & Hardware
            Logiciel & Software
            Smartphones & Tablettes
            Graphismes
            Codage : Sites Web, PHP/HTML/CSS, pages perso, prog.
            Tutoriels informatiques
          • Culture
            Actualités High-Tech
            Cinéma & Séries
            Sciences
            Musique
            Jeux Vidéo
          • Humour & Insolite
          • Discussions générales
          • Espace détente
          • Les cas désespérés
        • Non lus 0
        • Récent
        • Mots-clés
        • Populaire
        • Meilleur vote
        • Résolu
        • Non résolu
        • Utilisateurs
        • Groupes
        • Faire un don
        • Wiki