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 maksimale tillatelser og kan gjøre noe for systemet. Normale 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 vs Sudo
Su-kommandoen bytter til superbruker- eller rotbrukeren - når du kjø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 rotskjellet, 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, ber systemet 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.
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.
En annen fordel er at den fraråder brukere å logge inn som roten brukeren - eller ved hjelp av su for å få et rotskjell - og holde 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 ‘command’
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å en full, interaktiv rot skal med sudo, kjør sudo -i.
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 brukerkonto type fra konfigurasjonsvinduet for brukerkontoer.
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:
user ALL=(ALL:ALL) ALL
trykk Ctrl-X og så Y for å lagre filen. Du kan også 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 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.