Hjemmeside » hvordan » Hva er forskjellen mellom Sudo og Su i Linux?

    Hva er forskjellen mellom Sudo og Su i Linux?

    Hvis du er en Linux-bruker, har du sannsynligvis sett referanser til både sudo og su. Artikler her på How-To Geek og andre steder instruerer Ubuntu-brukere om å bruke sudo og andre Linux-distribusjonsbrukere til å bruke su, men hva er forskjellen?

    Sudo og su er to forskjellige måter å få root-privilegier på. Hver funksjon på en annen måte, og forskjellige Linux-distribusjoner, bruker forskjellige konfigurasjoner som standard.

    Root User

    Både su og sudo brukes til å kjøre kommandoer med root-tillatelser. Roten brukeren er i utgangspunktet ekvivalent med administratorbrukeren på Windows - roten brukeren har maksimalt tillatelser og kan gjøre noe for systemet. Normale brukere på Linux kjøre med reduserte tillatelser - for eksempel kan de ikke installere programvare eller skrive til systemkataloger.

    For å gjøre noe som krever disse tillatelsene, må du skaffe dem med su eller sudo.

    Su vs Sudo

    Su-kommandoen bytter til superbruker- eller rotbrukeren - når du utfører den uten ekstra alternativer. Du må legge inn passordet til rotkontoen. Dette er ikke alt su-kommandoen gjør, skjønt - du kan bruke den til å bytte til hvilken som helst brukerkonto. Hvis du utfører su bob kommando, blir du bedt om å skrive inn Bobs passord, og skallet vil bytte til Bobs brukerkonto.

    Når du er ferdig med å kjøre kommandoer i rotskallet, bør du skrive exit å forlate rotskjellet og gå tilbake til begrenset tilgangsmodus.

    Sudo kjører en enkelt kommando med root privilegier. Når du kjører sudo kommando, systemet ber deg om ditt nåværende brukerkonto passord før du kjører kommando som roten brukeren. Som standard husker Ubuntu passordet i femten minutter og vil ikke be om et passord igjen til de femten minuttene er oppe.

    Dette er en viktig forskjell mellom su og sudo. Su bytter deg til root-brukerkontoen og krever root-kontoens passord. Sudo kjører en enkelt kommando med root privilegier - den bytter ikke til roten brukeren eller krever et eget root brukerpassord.

    Ubuntu vs andre Linux-distribusjoner

    Su-kommandoen er den tradisjonelle måten å skaffe rotrettigheter på Linux på. Sudo-kommandoen har eksistert i lang tid, men Ubuntu var den første populære Linux-distribusjonen for å gå sudo-only som standard. Når du installerer Ubuntu, blir standard rotorkonto opprettet, men det er ikke gitt noe passord. Du kan ikke logge på som root før du tilordner et passord til rotkontoen.

    Det er flere fordeler med å bruke sudo i stedet for su som standard. Ubuntu-brukere må bare gi og huske et enkelt passord, mens Fedora og andre distribusjoner krever at du oppretter separate root- og brukerkonto passord under installasjonen.

    En annen fordel er at det motvirker at brukerne logger seg inn som roten bruker - eller bruker su for å få et rotskjell - og holder rotskjellet åpent for å gjøre sitt normale arbeid. Kjører færre kommandoer som rot øker sikkerheten og forhindrer utilsiktede systemovergripende endringer.

    Distribusjoner basert på Ubuntu, inkludert Linux Mint, bruker også sudo i stedet for su som standard.

    Et par triks

    Linux er fleksibelt, så det tar ikke mye arbeid å gjøre det samme som sudo - eller vice versa.

    For å kjøre en enkelt kommando som roten bruker med su, kjør følgende kommando:

    su -c 'kommando'

    Dette ligner på å kjøre en kommando med sudo, men du trenger root-kontoens passord i stedet for ditt nåværende brukerkontoens passord.

    For å få et fullt, interaktivt rotskjell med sudo, kjør sudo -i.

    Du må oppgi ditt nåværende brukerkontoens passord i stedet for rotkontoens passord.

    Aktiverer roten brukeren i Ubuntu

    For å aktivere rotbrukerkontoen på Ubuntu, bruk følgende kommando for å angi et passord for det. Husk at Ubuntu anbefaler dette.

    sudo passwd root

    Sudo vil spørre deg om ditt nåværende brukerkonto passord før du kan angi et nytt passord. Bruk ditt nye passord for å logge på som root fra en terminal påloggingsprompt eller med su-kommandoen. Du bør aldri kjøre et fullt grafisk miljø som roten bruker - dette er en svært dårlig sikkerhetspraksis, og mange programmer vil nekte å jobbe.

    Legge til brukere til Sudoers-filen

    Bare administrator-type kontoer i Ubuntu kan kjøre kommandoer med sudo. Du kan endre en type brukerkonto fra konfigurasjonsvinduet for brukerkontoer.

    Ubuntu betegner automatisk brukerkontoen som ble opprettet under installasjonen som en administratorkonto.

    Hvis du bruker en annen Linux-distribusjon, kan du gi brukeren tillatelse til å bruke sudo ved å kjøre visudo kommandoen med root privilegier (så kjøre su første eller bruk su-c).

    Legg til følgende linje i filen, erstatt bruker med navnet på brukerkontoen:

    bruker ALLE = (ALLE: ALL) ALLE

    trykk Ctrl-X og så Y for å lagre filen. Du kan også være i stand til å legge til en bruker i en gruppe som er angitt i filen. Brukere i gruppene som er angitt i filen, vil automatisk ha sudo-privilegier.

    Grafiske versjoner av Su

    Linux støtter også grafiske versjoner av su, som ber om passordet ditt i et grafisk miljø. For eksempel kan du kjøre følgende kommando for å få en grafisk passordprompt og kjør Nautilus-filleseren med root-tillatelser. trykk Alt-F2 å kjøre kommandoen fra en grafisk kjøre dialog uten å starte en terminal.

    gksu nautilus

    Gksu-kommandoen har også noen få andre triks opp på ermet - det beholder dine nåværende skrivebordsinnstillinger, slik at grafiske programmer ikke ser ut på plass når du starter dem som en annen bruker. Programmer som gksu er den foretrukne måten å starte grafiske applikasjoner med root privilegier.

    Gksu bruker enten en su eller sudo-basert backend, avhengig av Linux-distribusjonen du bruker.


    Du bør nå være forberedt på å møte både su og sudo! Du vil møte både hvis du bruker forskjellige Linux-distribusjoner.