Wat is het verschil tussen sudo en su?

Een paar dagen geleden ontving ik een vraag van Miguel, een regelmatige bloglezer en dwangmatige commentator, over wat is precies het verschil tussen sudo y su. In het bijzonder maakte Miguel zich zorgen of de ene methode veiliger was dan de andere. Het komt voor dat ik dat had gelezen sudo was niet veilig genoeg en wilde meer weten. Dit is een ander bericht gewijd aan degenen die om meer artikelen vroegen over terminale mysteries.

Su

Het programma su stelt u in staat de shell van een andere gebruiker te gebruiken zonder uit te loggen bij de huidige sessie. Het wordt vaak gebruikt om root-machtigingen te verkrijgen voor administratieve bewerkingen zonder uit te loggen en het systeem opnieuw in te voeren. Sommige desktopomgevingen, waaronder GNOME en KDE, hebben programma's die grafisch om een ​​wachtwoord vragen voordat de gebruiker een commando kan uitvoeren waarvoor gewoonlijk dergelijke toegang nodig is.

De naam su komt uit het Engels substituee ube (vervangende gebruiker). Er zijn ook mensen die het laten voortkomen superuser (supergebruiker, dat wil zeggen de root- of administrator-gebruiker), aangezien deze gewoonlijk wordt gebruikt om de rol van systeembeheerder aan te nemen.

Als je rent, su Het vraagt ​​om het wachtwoord van het account waartoe u toegang wilt, en als het wordt geaccepteerd, geeft het toegang tot dat account.

[guy @ localhost] $ uw wachtwoord: [root @ localhost] # logout afsluiten [guy @ localhost] $

Door geen gebruiker te plaatsen, wordt deze benaderd als beheerder. Het is echter ook mogelijk om een ​​andere gebruikersnaam als parameter door te geven.

[guy @ localhost] $ su mongo Wachtwoord: [mongo @ localhost] # exit uitloggen [guy @ localhost] $

Zodra het wachtwoord is ingevoerd, kunnen we de opdrachten uitvoeren alsof we de andere gebruiker zijn. Geschreven afrit, keren we terug naar onze gebruiker.

Een veel gebruikte variant is het gebruik su gevolgd door een streepje. Om als root in te loggen, moet u dus invoeren su - en om in te loggen als een andere gebruiker uw - andere gebruiker. Het verschil tussen het script gebruiken of niet? Het wordt aanbevolen om het script te gebruiken omdat het simuleert dat u inlogt met die gebruiker; daarom voert het alle opstartbestanden van die gebruiker uit, verandert de huidige directory naar de HOME van die gebruiker, verandert de waarde van sommige systeemvariabelen door ze aan de nieuwe gebruiker aan te passen (HOME, SHELL, TERM, USER, LOGNAME, onder andere), en anderen meer dingen.

Een sysadmin moet heel voorzichtig zijn bij het kiezen van een wachtwoord voor de root / administrator-account, om een ​​aanval door een onbevoegde gebruiker te voorkomen die su. Sommige Unix-achtige systemen hebben een gebruikersgroep genaamd wiel, die de enigen omvat die kunnen uitvoeren su. Dit kan beveiligingsproblemen al dan niet verminderen, aangezien een indringer eenvoudig een van die accounts zou kunnen overnemen. Hij su GNU ondersteunt het gebruik van die groep echter niet; dit werd gedaan om filosofische redenen.

sudo

Een gerelateerd commando, genaamd sudo, voert een commando uit als een andere gebruiker, maar respecteert een reeks beperkingen waarop gebruikers welke commando's kunnen uitvoeren namens welke andere gebruikers (meestal gespecificeerd in het bestand / Etc / sudoers).

Aan de andere kant, in tegenstelling tot su, sudo vraagt ​​gebruikers om hun eigen wachtwoord in plaats van de vereiste gebruiker; dit maakt het delegeren van commando's aan gebruikers op andere machines mogelijk zonder wachtwoorden te hoeven delen, waardoor het risico wordt verkleind dat terminals onbeheerd achterblijven.

Sudoproblemen: de respijtperiode

Het voordeel van sudo met betrekking tot su is dat het alleen het gevraagde commando uitvoert en zich voordoet als de andere gebruiker, zonder de huidige gebruiker daadwerkelijk te veranderen. Dit houdt in dat men een commando kan uitvoeren als administrator en de volgende seconde zullen ze de privileges hebben van de gebruiker die ze eerder gebruikten ... of bijna.

Sommigen beschouwen het feit dat sudo geef een "respijtperiode" die de gebruiker toestaat om opdrachten uit te voeren als een andere gebruiker zonder de noodzaak om herhaaldelijk sudo in te voeren voor de opdracht en het wachtwoord na het uitvoeren ervan. Na die "respijtperiode", sudo zal ons het wachtwoord opnieuw vragen.

Dit is "slecht", in wezen omdat iemand onze computer zou kunnen overnemen na het invoeren van het sudo-wachtwoord en terwijl de "respijtperiode" actief is, een RAMP veroorzaken.

Gelukkig is het mogelijk om de "respijtperiode" uit te schakelen, wat de beveiliging van uw systeem zal verbeteren. Voeg gewoon een regel toe aan het bestand / Etc / sudoers:

sudo nano / etc / sudoers

En voeg de volgende regel toe aan het einde van het bestand:

Standaardwaarden: ALL timestamp_timeout = 0

De wijziging wordt onmiddellijk van kracht, zonder dat het systeem opnieuw hoeft te worden opgestart.


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.

  1.   hel zei

    In feite, ALS je met beheerdersrechten kunt binnenkomen met sudo en daar blijven zoals je doet met su -, hiervoor moet je schrijven: sudo -s, waardoor je de huidige gebruiker verandert en de wachttijd als een grap achterlaat (aangezien je kunt blijven zoals dit zo lang als je wilt, zoals bij je)

  2.   Miquel Mayol in Tur zei

    Bedankt voor de vermelding, maar de echte eer gaat naar de Sabayon-chat - die ik niet langer gebruik omdat mijn harde schijf kapot ging en ik liever terugging naar Ubuntu -.

    De reden die ze me gaven, was dat ze soms bij het uitvoeren van sudo bepaalde configuraties geen absolute machtigingen krijgen en dat ze verkeerd geconfigureerd blijven. En dat door "in te loggen" met su als root voor update- en onderhoudstaken dit voorkomt.

    Toen heb ik je een e-mail gestuurd omdat ik beloofde deze bevinding te delen die me niet triviaal leek.

    Omdat Ubuntu standaard wordt geïnstalleerd zonder root-gebruiker, hoeft u alleen maar uit te voeren

    "Sudo passwd root"

    voer het wachtwoord in, bevestig het en daarna
    "Su root"
    voor onderhoudswerkzaamheden, naast het vermijden van sudo bij elke bestelling.

    In Ubuntu wordt in principe het root-account verwijderd, zodat u niet altijd met dit account inlogt, maar aangezien ik het advies kreeg bijna op de toon dat het gebruik van sudo heiligschennis was, voor het geval ik het volgde.

  3.   Geen aanwijzer zei

    Je zou toegang kunnen krijgen tot het / etc / shadow-bestand en de root-wachtwoord-hash kunnen veranderen in de normale gebruikerswachtwoord-hash en vervolgens een wachtwoord kunnen wijzigen voor root ??? Een andere keer probeer ik het hetzelfde….

  4.   Laten we Linux gebruiken zei

    Doorzichtig. Het is niet exclusief voor Fedora.

  5.   mfcollf77 zei

    Kunnen ze dan van de twee worden geïnstalleerd? Ik dacht dat «SU» alleen in FEDORA was.

  6.   Diego Kisai Alba Gallart zei

    Zeer goede informatie, hiermee zullen zeker de twijfels van velen verdwijnen, want ik ken er meerdere die die twijfel hebben.

  7.   Alex zei

    In ubunto denk ik dat ik me herinner dat je de opdracht su niet kunt gebruiken (om in te voeren als rootgebruiker)

  8.   Hazan Perez zei

    Welnu, om het root-wachtwoord te "herstellen" (in feite elk ander wachtwoord), zou je een "aanval" kunnen doen op het systeemwachtwoordbestand met John The Ripper. Ik zal hier niet meer over zeggen.

    Misschien zijn er andere methoden ... Misschien het wachtwoord wijzigen door in te voeren met "sudo su" en vervolgens het commando "passwd". Het zou interessant zijn om te zien wat andere mensen reageren ...

  9.   Laten we Linux gebruiken zei

    Precies!

  10.   Laten we Linux gebruiken zei

    Dat klopt ... ik moet Miguel Mayol i Tur bedanken ... hij was degene met het idee. 🙂
    Proost! Paul.

  11.   baas zei

    Bedankt, zoals altijd een geweldige bijdrage, we waarderen het.

  12.   Laten we Linux gebruiken zei

    Bedankt baas! Een knuffel! Paul.

  13.   Jerome Navarro zei

    Het verschil tussen 'su' en 'sudo' is 'doen'

  14.   Erick zei

    Ik ben het root-wachtwoord vergeten, gelukkig kan ik sudo gebruiken, en om su te gebruiken, gebruik ik 'sudo su' en het vraagt ​​niet om pass (?)
    Weet iemand hoe hij het root-wachtwoord kan achterhalen (ik heb toegang tot root via sudo)?

    1.    marvergarab zei

      sudo wachtwoord

  15.   Laten we Linux gebruiken zei

    Ha! Heel erg slim!

  16.   Fabian Country zei

    degene die het root-wachtwoord wil herstellen, is "sudo passwd root" en daar zal het je vragen om een ​​nieuw wachtwoord in te voeren

  17.   alex-pilloku@hmail.com zei

    hallo hoe is je leven

  18.   SynFlag zei

    Sorry maar met het su commando, zoals dit:

    su -c "command", is hetzelfde als sudo gebruiken zonder de uitstelperiode. Ik zie de noodzaak niet in om te sudo.

    Het ECHTE gebruik van sudo is om bepaalde gebruikers de mogelijkheid te geven om dit of dat commando te gebruiken, het wordt meer gebruikt in bedrijven, om niet te hoeven chroot, iets dat niet kan worden gedaan met su.

  19.   yacardi's zei

    Beste, ik moet een Linux TP doen, en ik moet enkele eenvoudige vragen beantwoorden. Misschien kunnen ze me helpen. Bedankt sinds nu:

    Met welk commando kunnen we Debian-pakketten installeren / verwijderen / wijzigen?
    Met welk commando kunnen we de installatie gemakkelijker beheren
    pakketten in debian?
    Wat is het commando om de rpm-pakketten te kunnen installeren?
    Welke optie gebruiken we om een ​​pakket te verwijderen?
    Wat is de directory waar de yum-repositories zich bevinden?
    Waar is yum voor?
    Welke optie gebruiken we om met yum naar een pakket te zoeken?
    Welke optie gebruiken we om een ​​pakket te verwijderen?
    Welke optie kunnen we gebruiken om het systeem bij te werken?
    Welke letters identificeren de vergunningen?
    Wat betekenen ze allemaal?
    Welke opdrachten geven een overzicht van de machtigingen van een bestand?
    Wat zijn de drie groepen waarin de rechten zijn verdeeld?
    Welke twee manieren zijn er om machtigingen te implementeren?
    Welk nummerstelsel gebruiken de vergunningen?
    Welk gewicht hebben deze letters?
    Wat zijn speciale vergunningen?
    Wat zijn de bestaande speciale machtigingen en waar zijn de gebruikers voor?
    Welke opdrachten gebruik ik om de machtigingen te wijzigen?
    Welke parameters gebruik ik om uitvoeringsrechten aan een bestand te geven?
    Welke parameters worden gebruikt om alleen leesrechten te geven aan een groep?
    Welke parameters worden gebruikt om lees- / schrijfrechten te geven aan de groep en om het schrijven te verwijderen van de gebruiker die eigenaar is van het bestand?
    Welke rechten worden standaard aangemaakt voor bestanden en mappen?
    Welk commando gebruiken we om het te verifiëren?
    Hoe veranderen we het standaardmasker?
    Hoe maken we het gebruikte masker anders? (Gebruik een standaardmasker dat alleen eigenaren alle rechten geeft.)
    Welk commando geeft een overzicht van de processen? Noem verschillende parameters en hun gebruik.
    Wat is het proces dat alles start?
    Maak een lijst van de processen die overeenkomen met de aangemelde gebruiker.
    Maak een lijst van alle processen van het systeem.
    Welke opties gebruik ik om extra informatie te krijgen?
    Maak een lijst van alle processen die in een terminal worden gebruikt
    Welke optie geeft een overzicht van de processen en hun afhankelijkheden?
    Leg uit wat een ouder-kindproces is en hoe u dit kunt identificeren
    Welk commando geeft een overzicht van de processen in de vorm van bomen?
    Welk commando bewaakt de processen in realtime?
    Bewaak slechts één proces
    Welk commando toont geheugengebruik?
    Welke parameter toont het geheugen in megabytes?
    Welke parameter doet het in intervallen?
    Welk commando toont informatie over de tijd dat een team bezig is?
    Welk commando gebruik ik om processen te beëindigen?
    Wat doen deze processen om te worden afgerond?
    Welke soorten signalen komen het meest voor?
    Maak een lijst van de soorten signalen die worden ondersteund.
    Voer in een terminal de vi-test uit en ga dan naar een andere terminal, zoek het proces en schakel het uit met een signaal van 15. Idem maar met een signaal van 9.
    Wat is het verschil tussen signaal 9 en 15?
    Welke werkt standaard?
    Waarom wordt een proces op de achtergrond uitgevoerd? En op de voorgrond?
    Voer vi-test uit en druk vervolgens op ctrl + z, wat is er gebeurd?
    Herhaal vi test, ctr + z, 4 keer, hoe heb ik afgemaakt wat ik niet heb gehaald?
    Geef een van de processen door naar de voorgrond en sluit vi.
    Welke parameter van een commando voeren we uit zodat het de shell niet bezet?
    Welke opdracht wijzigt de prioriteiten van een proces dat al wordt uitgevoerd? Hoe zou u de prioriteit van de actieve terminal wijzigen?
    Welke niveauwaarden zijn er en wat is hun hiërarchie?
    Open het bestand / etc / passwd en kijk welk prioriteitsniveau het heeft.
    Verander het prioriteitsniveau naar 4 en vervolgens naar 25 Kunt u beide toewijzen? Waarom?
    Maak een lijst van de processen met hun prioriteitswaarden.
    Welk commando controleert alle lopende processen?

  20.   ecc zei

    Hallo, ik wil sudo uitschakelen, zoals ik doe. Ik krijg dit:
    [sudo] wachtwoord voor xxx:
    xxx staat niet in het sudoers-bestand. Dit incident wordt gerapporteerd.

    aangezien ik het uitschakel, aangezien ik su in debian gebruik

    1.    laten we linux gebruiken zei

      Hallo ecc!

      Ik denk dat het beter zou zijn als u deze vraag stelt in onze belde vraag- en antwoorddienst Vragen DesdeLinux zodat de hele gemeenschap u kan helpen met uw probleem.

      Een knuffel, Pablo.

  21.   Berthold zei

    Hoi. Ik heb het commando voor de temperatuur van de harde schijf in Linux Mint gebruikt: 'sudo hddtemp / dev / sda', het vraagt ​​me om het wachtwoord en het geeft me het verwachte resultaat.
    maar dan bij het uitvoeren in dezelfde terminal 'hddtemp / dev / sda' vertelt het me dat toestemming geweigerd.
    Dus de uitstelperiode werkt niet bij mij, waarom wel?

  22.   Berthold zei

    Hallo blog.
    Ik ontdekte ook dat wanneer de distro is geïnstalleerd (bijvoorbeeld: ubuntu, linux mint), deze om een ​​beheerderswachtwoord vraagt.
    En in de grafische interface van het controlecentrum heb ik de optie gebruikt om het wachtwoord van mijn gebruiker te wijzigen.
    Dus nu gebruik ik «su -» en het vraagt ​​om een ​​wachtwoord, dat niet het wachtwoord is van mijn huidige gebruiker, maar het wachtwoord dat ik gebruikte toen ik de distro installeerde, dat is nog steeds de root- of administrator-gebruiker.
    Dit zou ertoe leiden dat veel gebruikers het echte beheerderswachtwoord vergeten.

  23.   Kendall Davila zei

    Hallo, uw uitleg is uitstekend, heel duidelijk, beknopt en beknopt. Bedankt voor de input