Quelle est la différence entre sudo et su?

Il y a quelques jours, j'ai reçu une requête de Miguel, un lecteur régulier de blog et commentateur compulsif, concernant quelle est exactement la différence entre sudo y su. En particulier, Miguel se demandait si une méthode était plus sûre que l'autre. Il se trouve que j'avais lu là-bas que sudo n'était pas assez sûr et voulaient en savoir plus.Ceci est un autre article dédié à ceux qui ont demandé plus d'articles sur mystères terminaux.

Su

Le programme su Vous permet d'utiliser le shell d'un autre utilisateur sans vous déconnecter de la session en cours. Il est couramment utilisé pour obtenir les autorisations root pour les opérations administratives sans avoir à se déconnecter et à se reconnecter. Certains environnements de bureau, y compris GNOME et KDE, ont des programmes qui demandent graphiquement un mot de passe avant de permettre à l'utilisateur d'exécuter une commande qui nécessiterait généralement un tel accès.

Le nom su vient de l'anglais sremplacer ube (utilisateur substitut). Il y a aussi ceux qui le font dériver de sUperuser (super-utilisateur, c'est-à-dire l'utilisateur root ou administrateur) car il est généralement utilisé pour adopter le rôle d'administrateur système.

Quand tu cours, su Il demande le mot de passe du compte auquel vous souhaitez accéder, et s'il est accepté, il donne accès à ce compte.

[guy @ localhost] $ votre mot de passe: [root @ localhost] # exit logout [guy @ localhost] $

En ne mettant pas d'utilisateur, on y accède en tant qu'administrateur. Cependant, il est également possible de passer un autre nom d'utilisateur comme paramètre.

[guy @ localhost] $ su mongo Mot de passe: [mongo @ localhost] # exit logout [guy @ localhost] $

Une fois le mot de passe entré, nous pouvons exécuter les commandes comme si nous étions l'autre utilisateur. En cours d'écriture sortie, nous retournons à notre utilisateur.

Une variante largement utilisée consiste à utiliser su suivi d'un tiret. Ainsi, pour vous connecter en tant que root, vous devez entrer le sien - et se connecter en tant qu'autre utilisateur votre - autre utilisateur. La différence entre utiliser le script ou non? Il est recommandé d'utiliser le script car il simule que vous vous connecterez avec cet utilisateur; por consiguiente, ejecuta todos los archivos de inicio de ese usuario, cambia el directorio actual al HOME de ese usuario, cambia el valor de algunas variables del sistema adaptándolas al nuevo usuario (HOME, SHELL, TERM, USER, LOGNAME, entre otros), et d'autres plus de choses.

Un administrateur système doit être très prudent lors du choix d'un mot de passe pour le compte root / administrateur, pour éviter une attaque par un utilisateur non privilégié en cours d'exécution su. Certains systèmes de type Unix ont un groupe d'utilisateurs appelé roue, qui comprend les seuls qui peuvent exécuter su. Cela peut ou non réduire les problèmes de sécurité, car un intrus pourrait simplement prendre en charge l'un de ces comptes. le su GNU, cependant, ne prend pas en charge l'utilisation de ce groupe; cela a été fait pour des raisons philosophiques.

Sudo

Une commande connexe, appelée sudo, exécute une commande en tant qu'autre utilisateur, mais en respectant une série de restrictions sur lesquelles les utilisateurs peuvent exécuter quelles commandes au nom de quels autres utilisateurs (généralement spécifiées dans le fichier / etc / sudoers).

D'un autre côté, contrairement à su, sudo invite les utilisateurs à saisir leur propre mot de passe au lieu de l'utilisateur requis; Cela permet la délégation de commandes aux utilisateurs sur d'autres machines sans avoir à partager les mots de passe, ce qui réduit le risque de laisser les terminaux sans surveillance.

Problèmes de Sudo: la période de grâce

L'avantage de sudo à l'égard de su est qu'il n'exécute que la commande demandée en faisant semblant d'être l'autre utilisateur, sans réellement changer l'utilisateur actuel. Cela implique que l'on peut exécuter une commande en tant qu'administrateur et, la seconde suivante, ils auront les privilèges de l'utilisateur qu'ils utilisaient auparavant… ou presque.

Certains considèrent comme une faille de sécurité le fait que sudo accordez une «période de grâce» qui permet à l'utilisateur d'exécuter des commandes en tant qu'autre utilisateur sans avoir à saisir à plusieurs reprises sudo devant la commande et le mot de passe après son exécution. Après cette "période de grâce", sudo nous demandera à nouveau le mot de passe.

C'est "mauvais", essentiellement parce que quelqu'un pourrait prendre le contrôle de notre ordinateur après que nous ayons entré le mot de passe sudo et pendant que la "période de grâce" est active, créer un désastre.

Heureusement, il est possible de désactiver la «période de grâce», ce qui améliorera la sécurité de votre système. Ajoutez simplement une ligne dans le fichier / etc / sudoers:

sudo nano / etc / sudoers

Et ajoutez la ligne suivante à la fin du fichier:

Valeurs par défaut: ALL timestamp_timeout = 0

La modification prend effet immédiatement, sans qu'il soit nécessaire de redémarrer le système.


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.

  1.   bonjour dit

    En fait, SI vous pouvez entrer avec des droits d'administrateur avec sudo et y rester comme vous le faites avec su -, pour cela, vous devez écrire: sudo -s changeant ainsi l'utilisateur actuel et laissant le temps de grâce comme une blague (puisque vous pouvez rester comme ceci aussi longtemps que vous le souhaitez, comme avec votre)

  2.   Miquel Mayol et Tur dit

    Merci pour la mention, mais le vrai mérite revient au chat Sabayon - que je n'utilise plus car mon disque dur est tombé en panne, et j'ai préféré retourner sur Ubuntu -.

    La raison pour laquelle ils m'ont donné est que parfois, lorsqu'ils effectuent sudo certaines configurations, ils n'obtiennent pas d'autorisations absolues et restent mal configurés. Et qu'en "vous connectant" avec su en tant que root pour les tâches de mise à jour et de maintenance, vous évitez que cela se produise.

    Ensuite, je vous ai envoyé un e-mail car j'avais promis de partager cette découverte qui ne me semblait pas anodine.

    Comme Ubuntu est installé par défaut sans utilisateur root, exécutez simplement

    "Sudo passwd root"

    entrez le mot de passe, confirmez-le, puis
    "Su root"
    pour les opérations de maintenance, en plus d'éviter de mettre sudo à chaque commande.

    En principe, dans Ubuntu, le compte root est supprimé afin que vous ne vous connectiez pas toujours avec ce compte, mais comme on m'a donné le conseil presque dans le ton que l'utilisation de sudo était un sacrilège, juste au cas où je l'aurais suivi.

  3.   Pointeur Nill dit

    Vous pouvez accéder au fichier / etc / shadow et changer le hachage du mot de passe root en hachage du mot de passe utilisateur normal, puis faire un changement de mot de passe pour root ??? À un autre moment, j'essaye la même chose….

  4.   Utilisons Linux dit

    Sûr. Ce n'est pas exclusif à Fedora.

  5.   mfcollf77 dit

    Alors des deux peuvent-ils être installés? Je pensais que «SU» n'était que chez FEDORA.

  6.   Diego Kisai Alba Gallart dit

    Très bonne information, avec cela sûrement les doutes de beaucoup disparaîtront, car j'en connais plusieurs qui ont ce doute.

  7.   Alex dit

    Dans ubunto, je pense que je me souviens que vous ne pouvez pas utiliser la commande su (pour entrer en tant qu'utilisateur root)

  8.   Hazan Pérez dit

    Eh bien, pour "récupérer" le mot de passe root (en fait, tout autre mot de passe), vous pourriez faire une "attaque" sur le fichier de mot de passe système avec John The Ripper. Je n'en dirai pas plus.

    Peut-être qu'il existe d'autres méthodes ... Peut-être changer le mot de passe en entrant avec "sudo su" puis la commande "passwd". Il serait intéressant de voir ce que les autres répondent ...

  9.   Utilisons Linux dit

    Exactement!

  10.   Utilisons Linux dit

    C'est vrai ... Je dois remercier Miguel Mayol i Tur ... c'est lui qui a eu l'idée. 🙂
    À votre santé! Paul.

  11.   Patron dit

    Merci, comme toujours une belle contribution et nous l'apprécions.

  12.   Utilisons Linux dit

    Merci patron! Un câlin! Paul.

  13.   Jérôme Navarro dit

    La différence entre «su» et «sudo» est «do»

  14.   Erick dit

    J'ai oublié le mot de passe root, heureusement je peux utiliser sudo, et pour utiliser su, j'utilise 'sudo su' et il ne demande pas de pass (?)
    Est-ce que quelqu'un sait comment trouver le mot de passe root (j'ai accès à root via sudo)?

    1.    marvergarab dit

      mot de passe sudo

  15.   Utilisons Linux dit

    Ha! Astucieux!

  16.   Fabien Pais dit

    celui qui veut récupérer le mot de passe root serait "sudo passwd root" et là il vous demandera d'en entrer un nouveau

  17.   alex-pilloku@htmmail.com dit

    bonjour comment est ta vie

  18.   SynFlag dit

    Désolé mais, en utilisant la commande su, comme ceci:

    su -c "commande", revient à utiliser sudo sans délai de grâce. Je ne vois pas la nécessité de sudo.

    La VRAIE utilisation de sudo, est de donner à certains utilisateurs la possibilité d'utiliser telle ou telle commande, elle est plus utilisée dans les entreprises, pour ne pas avoir à chrooter, ce qui ne peut pas être fait avec su.

  19.   Yacardis dit

    Cher, je dois faire un Linux TP, et je dois répondre à quelques questions simples. Peut-être qu'ils peuvent m'aider. Merci depuis maintenant:

    Quelle est la commande qui nous permet d'installer / supprimer / modifier les paquets Debian?
    Quelle est la commande qui nous permet de gérer plus facilement l'installation
    paquets dans debian?
    Quelle est la commande pour pouvoir installer les packages rpm?
    Quelle option utilisons-nous pour désinstaller un package?
    Quel est le répertoire où se trouvent les référentiels yum?
    À quoi sert miam?
    Quelle option utilisons-nous pour rechercher un package avec yum?
    Quelle option utilisons-nous pour supprimer un package?
    Quelle option pouvons-nous utiliser pour mettre à jour le système?
    Quelles lettres identifient les permis?
    Que signifient chacun d'eux?
    Quelles commandes répertorient les autorisations d'un fichier?
    Quels sont les trois groupes dans lesquels les autorisations sont divisées?
    Quelles sont les deux façons d'implémenter les autorisations?
    Quel système de numérotation les permis utilisent-ils?
    Quel poids ont ces lettres?
    Que sont les permis spéciaux?
    Quelles sont les autorisations spéciales existantes et à quoi servent les utilisateurs?
    Quelles commandes dois-je utiliser pour modifier les autorisations?
    Quels paramètres dois-je utiliser pour donner des autorisations d'exécution à un fichier?
    Quels paramètres sont utilisés pour accorder des autorisations de lecture à un groupe uniquement?
    Quels paramètres sont utilisés pour donner des autorisations de lecture / écriture au groupe d'autres et supprimer l'écriture de l'utilisateur qui possède le fichier?
    Quelles autorisations sont créées par défaut pour les fichiers et les répertoires?
    Quelle commande utilisons-nous pour le vérifier?
    Comment changer le masque par défaut?
    Comment rendre le masque utilisé différent? (Utilisez un masque par défaut qui ne laisse aux propriétaires que toutes les autorisations.)
    Quelle commande répertorie les processus? Mentionnez différents paramètres et leur utilisation.
    Quel est le processus qui démarre tout?
    Répertoriez les processus qui correspondent à l'utilisateur connecté.
    Répertoriez tous les processus du système.
    Quelles options dois-je utiliser pour obtenir des informations supplémentaires?
    Répertorier tous les processus utilisés dans un terminal
    Quelle option répertorie les processus et leurs dépendances?
    Expliquez ce qu'est un processus parent-enfant et comment l'identifier
    Quelle commande répertorie les processus sous forme d'arbres?
    Quelle commande surveille les processus en temps réel?
    Surveiller un seul processus
    Quelle commande affiche l'utilisation de la mémoire?
    Quel paramètre affiche la mémoire en mégaoctets?
    Quel paramètre fait-il par intervalles?
    Quelle commande affiche des informations concernant la durée de constitution d'une équipe?
    Quelle commande dois-je utiliser pour tuer les processus?
    Que gèrent ces processus pour être finalisés?
    Quels types de signaux sont les plus courants?
    Répertoriez les types de signaux pris en charge.
    Dans un terminal, effectuez un test vi, puis allez sur un autre terminal, recherchez le processus et tuez-le avec un signal 15. Idem mais avec un signal 9.
    Quelle est la différence entre le signal 9 et 15?
    Lequel fonctionne par défaut?
    Pourquoi un processus est-il exécuté en arrière-plan? Et au premier plan?
    Exécutez le test vi puis appuyez sur Ctrl + Z, que s'est-il passé?
    Répétez le test vi, ctr + z, 4 fois, comment terminer ce que j'ai échoué?
    Passez l'un des processus au premier plan et fermez vi.
    Quel paramètre d'une commande exécutons-nous pour qu'elle n'occupe pas le shell?
    Quelle commande modifie les priorités d'un processus déjà en cours d'exécution? Comment changeriez-vous la priorité du terminal en cours d'exécution?
    Quelles sont les valeurs de niveau et quelle est leur hiérarchie?
    Ouvrez le fichier / etc / passwd et voyez quel niveau de priorité il a.
    Changez le niveau de priorité sur 4 puis sur 25 Pouvez-vous attribuer les deux? Parce que?
    Énumérez les processus avec leurs valeurs de priorité.
    Quelle commande surveille tous les processus en cours?

  20.   etc. dit

    Bonjour, je souhaite désactiver sudo, comme je le fais. J'obtiens ceci:
    [sudo] mot de passe pour xxx:
    xxx n'est pas dans le fichier sudoers. Cet incident sera signalé.

    comme je le désactive, puisque j'utilise su dans debian

    1.    utilisons Linux dit

      Bonjour ecc!

      Je pense qu'il vaudrait mieux que vous souleviez cette question dans notre service de questions et réponses appelé Demander DesdeLinux afin que toute la communauté puisse vous aider avec votre problème.

      Un câlin, Pablo.

  21.   Berthold dit

    Salut. J'ai utilisé la commande de température du disque dur dans Linux Mint: 'sudo hddtemp / dev / sda', elle demande le mot de passe et me donne le résultat attendu.
    mais, alors lors de l'exécution dans le même terminal 'hddtemp / dev / sda', il me dit que Permission Denied.
    Alors, la période de grâce ne fonctionne pas sur moi, pourquoi?

  22.   Berthold dit

    Bonjour blog.
    J'ai également constaté que lorsque la distribution est installée (ex: ubuntu, linux mint), elle demande un mot de passe administrateur.
    Et dans l'interface graphique du centre de contrôle, j'ai utilisé l'option pour changer le mot de passe de mon utilisateur.
    Alors maintenant, en utilisant "su -", il demande un mot de passe, qui n'est pas celui de mon utilisateur actuel, mais celui que j'ai utilisé lorsque j'ai installé la distribution, qui est toujours l'utilisateur root ou administrateur.
    Cela entraînerait que de nombreux utilisateurs oublient le vrai mot de passe administrateur.

  23.   Kendall Davila dit

    Bonjour, votre explication est excellente, très claire, brève et concise. Merci pour la contribution