Hva er forskjellen mellom sudo og su?

For noen dager siden mottok jeg et spørsmål fra Miguel, en vanlig bloggleser og tvangsmessig kommentator, angående hva er egentlig forskjellen mellom sudo y su. Spesielt var Miguel bekymret for om den ene metoden var tryggere enn den andre. Det hender at jeg hadde lest der ute det sudo var ikke trygg nok og ønsket å vite mer. Dette er et annet innlegg viet til de som ba om flere artikler om terminale mysterier.

Su

Programmet su lar deg bruke skallet til en annen bruker uten å logge av gjeldende økt. Det brukes ofte til å få rottillatelser for administrative operasjoner uten å måtte logge ut og gå inn i systemet på nytt. Noen skrivebordsmiljøer, inkludert GNOME og KDE, har programmer som grafisk ber om et passord før brukeren kan utføre en kommando som vanligvis krever slik tilgang.

Navnet su kommer fra engelsk substitut uvære (erstatningsbruker). Det er også de som får det til å stamme fra superuser (superbruker, det vil si rot- eller administratorbrukeren) siden den vanligvis brukes til å innta rollen som systemadministrator.

Når du løper, su Den ber om passordet til kontoen du vil ha tilgang til, og hvis det godtas, gir det tilgang til den kontoen.

[guy @ localhost] $ ditt passord: [root @ localhost] # avslutte avlogging [guy @ localhost] $

Ved ikke å sette en bruker får du tilgang til det som administrator. Det er imidlertid også mulig å sende et annet brukernavn som parameter.

[fyr @ localhost] $ su mongo Passord: [mongo @ localhost] # avslutte avlogging [fyr @ localhost] $

Når passordet er angitt, kan vi utføre kommandoene som om vi var den andre brukeren. Skriftlig avslutte, kommer vi tilbake til brukeren vår.

En mye brukt variant er å bruke su etterfulgt av en bindestrek. Dermed, for å logge på som rot, må du gå inn hans - og å logge på som en annen bruker din - andre bruker. Forskjellen mellom å bruke skriptet eller ikke? Det anbefales å bruke skriptet fordi det simulerer at du vil logge på med den brukeren; Derfor kjører den alle oppstartsfilene til den brukeren, endrer den nåværende katalogen til brukerens HJEM, endrer verdien på noen systemvariabler som tilpasser dem til den nye brukeren (HJEM, SHELL, TERM, BRUKER, LOGNAVN, blant andre), og andre flere ting.

En sysadmin bør være veldig forsiktig når du velger et passord for rot- / administratorkontoen, for å unngå et angrep fra en privilegert bruker som kjører su. Noen Unix-lignende systemer har en brukergruppe kalt hjul, som består av de eneste som kan henrette su. Dette kan eller ikke redusere sikkerhetsproblemer, ettersom en inntrenger ganske enkelt kan overta en av disse kontoene. Han su GNU støtter imidlertid ikke bruken av den gruppen; dette ble gjort av filosofiske grunner.

sudo

En relatert kommando, kalt sudo, utfører en kommando som en annen bruker, men respekterer en rekke begrensninger som brukere kan utføre hvilke kommandoer på vegne av hvilke andre brukere (vanligvis spesifisert i filen / etc / sudoers).

På den annen side, i motsetning til su, sudo ber brukerne om sitt eget passord i stedet for den nødvendige brukeren; Dette tillater delegering av kommandoer til brukere på andre maskiner uten å måtte dele passord, noe som reduserer risikoen for å la terminaler være uten tilsyn.

Sudo-problemer: nådeperioden

Fordelen med sudo med respekt for su er at den bare utfører den forespurte kommandoen som later til å være den andre brukeren, uten å faktisk endre den nåværende brukeren. Dette innebærer at man kan utføre en kommando som administrator, og neste sekund vil de ha privilegiene til brukeren de brukte før ... eller nesten.

Noen ser på som et sikkerhetsbrudd det faktum at sudo gi en "nådeperiode" som lar brukeren utføre kommandoer som en annen bruker uten behov for å angi sudo gjentatte ganger foran kommandoen og passordet etter å ha utført det. Etter den "nådeperioden", sudo vil be oss om passordet igjen.

Dette er "dårlig", hovedsakelig fordi noen kan ta over datamaskinen vår etter at vi har angitt sudo-passordet, og mens "nådeperioden" er aktiv, gjør en KATOST.

Heldigvis er det mulig å deaktivere "nådeperioden", noe som vil forbedre sikkerheten til systemet ditt. Bare legg til en linje i filen / etc / sudoers:

sudo nano / etc / sudoers

Og legg til følgende linje til slutten av filen:

Standardverdier: ALL timestamp_timeout = 0

Endringen trer i kraft umiddelbart, uten at du trenger å starte systemet på nytt.


Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.

  1.   helk sa

    Faktisk, HVIS du kan gå inn med administratorrettigheter med sudo og bli der som du gjør med su -, for dette må du skrive: sudo -s og dermed endre den nåværende brukeren og etterlate nådetid som en vits (siden du kan være som dette så lenge du vil, som med din)

  2.   Miquel Mayol i Tur sa

    Takk for nevnelsen, men den virkelige æren går til Sabayon-chatten - som jeg ikke lenger bruker fordi harddisken min knakk, og jeg foretrakk å gå tilbake til Ubuntu -.

    Grunnen til at de ga meg var at noen ganger når de gjør sudo visse konfigurasjoner, får de ikke absolutt tillatelse, og de forblir feil konfigurert. Og at ved å "logge på" med su som rot for oppdaterings- og vedlikeholdsoppgaver, forhindrer du at dette skjer.

    Så sendte jeg deg en e-post fordi jeg lovet å dele dette funnet som virket ikke trivielt for meg.

    Siden Ubuntu er installert som standard uten rotbruker, er det bare å kjøre

    "Sudo passwd root"

    skriv inn passordet, bekreft det og deretter
    "Su root"
    for vedlikeholdsoperasjoner, i tillegg til å unngå å legge sudo med hver bestilling.

    I prinsippet fjernes rotkontoen for å ikke alltid logge på med denne kontoen, men siden de ga meg råd nesten i tonen om at bruk av sudo var helligbrød, bare i tilfelle jeg har fulgt det.

  3.   Nill pekeren sa

    Du kan få tilgang til / etc / shadow-filen og endre root-passordet til det vanlige brukerpassordet, og deretter endre et passord for root ??? En annen gang prøver jeg det samme ...

  4.   La oss bruke Linux sa

    Klar. Det er ikke eksklusivt for Fedora.

  5.   mfcollf77 sa

    Kan de da installeres av de to? Jeg trodde at «SU» bare var i FEDORA.

  6.   Diego Kisai Alba Gallart sa

    Veldig god informasjon, med dette vil sikkert tvilen til mange forsvinne, for jeg kjenner flere som har den tvilen.

  7.   Alex sa

    I ubunto tror jeg at jeg husker at du ikke kan bruke su-kommandoen (for å gå inn som rotbruker)

  8.   Hazan Perez sa

    Vel, for å "gjenopprette" rotpassordet (faktisk ethvert annet passord), kan du gjøre et "angrep" på systempassordfilen med John The Ripper. Jeg vil ikke si mer om dette.

    Kanskje det er andre metoder ... Kanskje å endre passordet ved å skrive inn med "sudo su" og deretter kommandoen "passwd". Det ville være interessant å se hva andre svarer ...

  9.   La oss bruke Linux sa

    Nettopp!

  10.   La oss bruke Linux sa

    Det stemmer ... Jeg må takke Miguel Mayol i Tur ... han var den med ideen. 🙂
    Jubel! Paul.

  11.   Boss sa

    Takk, som alltid et flott bidrag. Vi setter pris på det.

  12.   La oss bruke Linux sa

    Takk sjef! En klem! Paul.

  13.   Jerome Navarro sa

    Forskjellen mellom 'su' og 'sudo' er 'gjør'

  14.   Erick sa

    Jeg har glemt root-passordet, heldigvis kan jeg bruke sudo, og for å bruke su bruker jeg 'sudo su' og det ber ikke om pass (?)
    Er det noen som vet hvordan de skal finne ut root-passordet (jeg har tilgang til root via sudo)?

    1.    marvergarab sa

      sudo passwd

  15.   La oss bruke Linux sa

    Ha! Veldig smart!

  16.   Fabians land sa

    den som ønsker å gjenopprette rotpassordet ville være "sudo passwd root" og der vil det be deg om å skrive inn et nytt

  17.   alex-pilloku@hmail.com sa

    hei hvordan er livet ditt

  18.   SynFlag sa

    Beklager, men bruker su kommandoen slik:

    su -c "kommando", er det samme som å bruke sudo uten avdragsfri periode. Jeg ser ikke behovet for sudo.

    Den virkelige bruken av sudo er å gi visse brukere muligheten til å bruke denne eller den andre kommandoen, den brukes mer i bedrifter, for ikke å måtte chroot, noe som ikke kan gjøres med su.

  19.   yacardis sa

    Kjære, jeg må gjøre en Linux TP, og jeg må svare på noen enkle spørsmål. Kanskje de kan hjelpe meg. Takk siden nå:

    Hvilken kommando er det som lar oss installere / slette / endre debian-pakker?
    Hva er kommandoen som lar oss lettere administrere installasjonen
    pakker i debian?
    Hva er kommandoen for å kunne installere rpm-pakkene?
    Hvilket alternativ bruker vi for å avinstallere en pakke?
    Hva er katalogen der yum-arkivene ligger?
    Hva er nam for?
    Hvilket alternativ bruker vi for å søke etter en pakke med yum?
    Hvilket alternativ bruker vi for å slette en pakke?
    Hvilket alternativ kan vi bruke til å oppdatere systemet?
    Hvilke bokstaver identifiserer tillatelsene?
    Hva betyr hver av dem?
    Hvilke kommandoer viser tillatelsene til en fil?
    Hva er de tre gruppene hvor tillatelsene er delt?
    Hvilke to måter er det å implementere tillatelser på?
    Hvilket tallsystem bruker tillatelsene?
    Hvilken vekt har disse bokstavene?
    Hva er spesielle tillatelser?
    Hva er de eksisterende spesialtillatelsene og hva er brukerne til?
    Hvilke kommandoer bruker jeg for å endre tillatelsene?
    Hvilke parametere bruker jeg for å utføre tillatelser til en fil?
    Hvilke parametere brukes bare til å gi lesetillatelser til en gruppe?
    Hvilke parametere brukes til å gi lese- / skrivetillatelser til gruppen andre og fjerne skriving fra brukeren som eier filen?
    Hvilke tillatelser opprettes som standard for filer og kataloger?
    Hvilken kommando bruker vi for å bekrefte den?
    Hvordan endrer vi standardmasken?
    Hvordan gjør vi masken som brukes annerledes? (Bruk en standardmaske som bare gir eiere med alle tillatelser.)
    Hvilken kommando viser prosessene? Nevn forskjellige parametere og deres bruk.
    Hva er prosessen som starter alt?
    Oppgi prosessene som tilsvarer den innloggede brukeren.
    Liste opp alle prosessene i systemet.
    Hvilke alternativer bruker jeg for å få ekstra informasjon?
    Liste over alle prosesser som brukes i en terminal
    Hvilket alternativ viser prosessene og deres avhengighet?
    Forklar hva en foreldre-barn-prosess er og hvordan du kan identifisere den
    Hvilken kommando viser prosessene i form av trær?
    Hvilken kommando overvåker prosessene i sanntid?
    Overvåk bare en prosess
    Hvilken kommando viser minnebruk?
    Hvilken parameter viser minnet i megabyte?
    Hvilken parameter gjør den i intervaller?
    Hvilken kommando viser informasjon om tidspunktet et team er oppe?
    Hvilken kommando bruker jeg for å drepe prosesser?
    Hva håndterer disse prosessene for å bli ferdig?
    Hvilke typer signaler er de vanligste?
    Oppgi hvilke typer signaler som støttes.
    Gjør vi-testen i en terminal, og gå deretter til en annen terminal, se etter prosessen og drep den med et signal 15. Ditto men med et 9-signal.
    Hva er forskjellen mellom signal 9 og 15?
    Hvilken fungerer som standard?
    Hvorfor kjøres en prosess i bakgrunnen? Og i forgrunnen?
    Kjør vi-test og trykk deretter på ctrl + z, hva skjedde?
    Gjenta vi test, ctr + z, 4 ganger, hvordan avslutter jeg det jeg mislyktes?
    Gi en av prosessene til forgrunnen og lukk vi.
    Hvilken parameter for en kommando utfører vi slik at den ikke okkuperer skallet?
    Hvilken kommando endrer prioriteringene til en prosess som allerede kjører? Hvordan vil du endre prioriteten til terminalen som kjører?
    Hvilke nivåverdier er det, og hva er hierarkiet deres?
    Åpne / etc / passwd filen og se hvilket prioritetsnivå den har.
    Endre prioritetsnivå til 4 og deretter til 25 Kan du tilordne begge deler? Hvorfor?
    Oppgi prosessene med prioriterte verdier.
    Hvilken kommando overvåker alle kjørende prosesser?

  20.   etc sa

    Hei, jeg vil deaktivere sudo, som jeg gjør. Jeg får dette:
    [sudo] passord for xxx:
    xxx er ikke i sudoers-filen. Denne hendelsen vil bli rapportert.

    som jeg deaktiverer det, siden jeg bruker su i debian

    1.    la oss bruke linux sa

      Hei ecc!

      Jeg tror det ville være bedre om du reiser dette spørsmålet i vår spørsmålstjeneste Spørre DesdeLinux slik at hele samfunnet kan hjelpe deg med problemet ditt.

      En klem, Pablo.

  21.   Berthold sa

    Hei. Jeg har brukt harddiskens temperaturkommando i Linux Mint: 'sudo hddtemp / dev / sda', den ber meg om passordet, og det gir meg det forventede resultatet.
    men når jeg kjører i den samme terminalen 'hddtemp / dev / sda', forteller det meg at tillatelse nektet.
    Så, nådeperioden fungerer ikke på meg, hvorfor er det?

  22.   Berthold sa

    Hei blogg.
    Jeg fant også ut at når distro er installert (f.eks: ubuntu, linux mint), ber den om et administratorpassord.
    Og i kontrollsentrets grafiske grensesnitt brukte jeg muligheten til å endre brukerens passord.
    Så nå bruker du "su -" det ber om et passord, som ikke er det som er av min nåværende bruker, men det jeg brukte da jeg installerte distro, som fortsatt er rot- eller administratorbrukeren.
    Dette vil føre til at mange brukere glemmer det sanne administratorpassordet.

  23.   Kendall Davila sa

    Hei, forklaringen din er utmerket, veldig klar, kort og kortfattet. Takk for innspillet