/ / Hva er forskjellen mellom Sudo og Su i Linux?

Hva er forskjellen mellom Sudo og Su i Linux?

bilde

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

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

Rotbrukeren

Både su og sudo brukes til å kjøre kommandoer medrottillatelser. Rotbrukeren tilsvarer i utgangspunktet administratorbrukeren på Windows - rotbrukeren har maksimale tillatelser og kan gjøre hva som helst med systemet. Vanlige brukere på Linux kjører 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 mot Sudo

Kommandoen su bytter til superbrukeren - ellerrotbruker - når du kjører det uten ekstra alternativer. Du må oppgi root-kontoens passord. Dette er imidlertid ikke alt su-kommandoen gjør - du kan bruke den til å bytte til hvilken som helst brukerkonto. Hvis du kjører su bob kommandoen, blir du bedt om å oppgi Bobs passord, og skallet vil bytte til Bobs brukerkonto.

Når du har kjørt kommandoer i rotskallet, bør du skrive inn exit å forlate rotskallet og gå tilbake til modus med begrensede rettigheter.

Sudo kjører en enkelt kommando med rotprivilegier. Når du henfører sudo kommando, ber systemet deg om passordet til den nåværende brukerkontoen din før du kjører kommando som rotbruker. Som standard husker Ubuntu passordet i femten minutter og vil ikke be om passord igjen før de femten minuttene er oppe.

bilde

Dette er en viktig forskjell mellom su og sudo. Su bytter deg til root-brukerkontoen og krever passordet til root-kontoen. Sudo kjører en enkelt kommando med root-rettigheter - den bytter ikke til rotbrukeren eller krever et eget root-brukerpassord.

Ubuntu vs. Andre Linux-distribusjoner

Su-kommandoen er den tradisjonelle måtenanskaffe rotstillatelser på Linux. Sudo-kommandoen har eksistert i lang tid, men Ubuntu var den første populære Linux-distribusjonen som bare gikk som sudo. Når du installerer Ubuntu, opprettes standard root-kontoen, men det er ikke tilordnet noe passord til den. Du kan ikke logge deg på som root før du tilordner et passord til root-kontoen.

bilde

Det er flere fordeler med å bruke sudoi stedet for su som standard. Ubuntu-brukere trenger bare å oppgi og huske et enkelt passord, mens Fedora og andre distribusjoner krever at du oppretter separate root- og brukerkontopassord under installasjonen.

En annen fordel er at det fraråder brukerefra å logge seg inn som rotbruker - eller bruke su for å få et rotskall - og holde rotskallet åpent for å utføre sitt normale arbeid. Hvis du kjører færre kommandoer når root øker sikkerheten og forhindrer utilsiktede endringer i hele systemet.

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

Noen få triks

Linux er fleksibel, så det krever ikke mye arbeid å få su til å fungere på samme måte som sudo - eller omvendt.

For å kjøre en enkelt kommando som rotbruker med su, kjører du følgende kommando:

su -c ‘kommando’

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

For å få et fullstendig, interaktivt rotskall med sudo, løp sudo –i.

bilde

Du må oppgi passordet til den nåværende brukerkontoen din i stedet for root-kontoens passord.

Aktivere rotbrukeren i Ubuntu

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

sudo passwd root

Sudo ber deg om den nåværende brukeren dinkontoens passord før du kan angi et nytt passord. Bruk det nye passordet ditt for å logge inn som root fra en terminal påloggingsprompt eller med su-kommandoen. Du bør aldri kjøre et fullt grafisk miljø som rotbruker - dette er en veldig dårlig sikkerhetspraksis, og mange programmer vil nekte å fungere.

bilde

Legge til brukere i Sudoers-filen

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

bilde

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

bilde

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

Legg til følgende linje i filen ved å erstatte den bruker med navnet på brukerkontoen:

bruker ALLE = (ALLE: ALLE) 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 spesifisert i filen. Brukere i gruppene som er spesifisert i filen, vil automatisk ha sudo-rettigheter.

bilde

Grafiske versjoner av Su

Linux støtter også grafiske versjoner av su,som ber om passordet ditt i et grafisk miljø. Du kan for eksempel kjøre følgende kommando for å få en grafisk passord-ledetekst og kjøre Nautilus-filleseren med rottillatelser. trykk Alt-F2 å kjøre kommandoen fra en grafisk kjøredialog uten å starte en terminal.

gksu nautilus

bilde

Gksu-kommandoen har også noen få andre triks oppermet - det bevarer de gjeldende desktopinnstillingene, slik at grafiske programmer ikke ser malplassert når du starter dem som en annen bruker. Programmer som gksu er den foretrukne måten å starte grafiske applikasjoner med rotprivilegier på.

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 begge deler hvis du bruker forskjellige Linux-distribusjoner.