MTE forklarer: Forskjellene mellom Su, Sudo Su, Sudo-s og Sudo -i
På Linux-kommandolinjen er det mange forskjellige måter å få en rotøkt på terminalen. Dette kan skape forvirring, da de fleste nybegynnere som ser på å få roten kanskje ikke er kjent med hvordan hver kommando kan få root-tilgang, hvordan de er forskjellige og når disse forskjellene er viktige.
Det er på grunn av dette, vil vi ta fra hverandre de mange forskjellige kommandoene som brukes til å få tilgang til root i en terminal. Vi forklarer nøyaktig hvordan de får rot, når de skal bruke dem og alt i mellom.
su
su
kommandoen erstatter den nåværende brukeren som brukes av systemet i skallet. Du kan bytte til hvilken som helst bruker ved å ta su
og legge til et brukernavn av det. Dette vil fortelle systemet å bytte (og i hovedsak logge ut av) den nåværende brukeren til den spesifiserte. Alternativt kan su
kommandoen få tilgang til root ved å skrive inn su
uten å spesifisere noe etter kommandoen.
"Su" brukes best når en bruker ønsker direkte tilgang til rotkontoen på systemet. Det går ikke gjennom sudo
eller noe sånt. I stedet må rotbrukerens passord være kjent og brukes til å logge inn med. Videre har andre måter å skaffe rot ikke fordelene ved å få tilgang til rotkatalogen og rotmiljøet.
sudo su
Denne kommandoen er i det vesentlige den samme som bare å løpe su
i skallet. I stedet for å fortelle systemet å "bytte brukere" direkte, forteller du det å kjøre "su" -kommandoen som root. Når sudo su
kjøres, startes ".profile", ".bashrc" og "/ etc / profile", omtrent som å løpe su
(eller su root
). Dette skyldes at hvis en kommando kjøres med sudo
foran den, er det en kommando som gis rotasjonsrettigheter.
Selv om det ikke er så mye forskjell fra «su», er sudo su
fortsatt en veldig nyttig kommando av en viktig grunn: Når en bruker kjører "su" for å få root-tilgang på et system, må de kjenne root-passordet. Veien rot er gitt med sudo su
er ved å be om den nåværende brukerens passord. Dette gjør det mulig å få roten uten rotenavnet som øker sikkerheten.
sudo -i
Bruke sudo -i
er nesten det samme som sudo su
kommandoen. Brukere kan få root ved "sudo" og ikke ved å bytte til rotbrukeren. I likhet med sudo su
, tillater -i
flagg en bruker å få et rotmiljø uten å måtte kjenne til rotkonto-passordet. sudo -i
ligner også på å bruke sudo su
i at den vil lese alle miljøfiler (.profile etc.) og sette miljøet inne i skallet med det.
Hvor det er forskjellig fra "sudo su", er det sudo -i
er en mye renere måte å skaffe rot og rotmiljø uten direkte samhandling med rotbrukeren. Hvordan? Med sudo su
bruker du mer enn én root setuid
kommandoer. Dette faktum gjør det mye mer utfordrende å finne ut hvilke miljøvariabler som skal holdes og hvilke som vil bli forandret (når de svømmer til rotmiljøet). Dette er ikke sant med sudo -i
, og det er på grunn av at de fleste ser det som den foretrukne metoden for å få roten uten å logge inn direkte.
sudo-s
S-bryteren for "sudo" -kommandoen leser $ SHELL-variabelen av de nåværende brukerutførende kommandoene. Denne kommandoen virker som om brukeren kjører sudo /bin/bash
. Sudo -s
er et "ikke-pålogget" stilskall. Dette betyr at i motsetning til en kommando som sudo -i
eller sudo su
, vil systemet ikke lese noen miljøfiler. Dette betyr at når en bruker forteller at skallet skal kjøre sudo -s
, blir det rot, men vil ikke endre brukeren eller brukermiljøet. Ditt hjem vil ikke være roten hjemme, etc.
Denne kommandoen brukes best når brukeren ikke vil røre roten i det hele tatt, og bare vil ha et rotskjell for enkel kommandoen. Andre kommandoer som snakkes om ovenfor, får tilgang til roten, men berør rotenes miljøfiler, og tillater brukere mer fullstendig tilgang til rot (som kan være et sikkerhetsproblem).
Konklusjon: Hvilken kommando skal jeg bruke?
Hver kommando har sitt brukstilfelle. Det viktigste her er å forstå hva hver kommando gjør og når de skal bruke dem. Som det står, er sudo -i
den mest praktiske, rene måten å få et rotmiljø på. På den annen side vil de som bruker sudo -s
, finne at de kan få et rotskall uten evne til å berøre rotmiljøet, noe som har lagt til sikkerhetsfordeler.
Det er egentlig ikke en kommando på denne listen som er 100% best. Som brukere blir mer komfortable med kommandolinjen, må de ta hensyn til hver vei for å få roten (og det er mange), og veie fordeler og ulemper og handle i henhold til dette. Jeg håper at ved hjelp av denne artikkelen vil disse beslutningene bli enklere å lage.
På hvilken måte foretrekker du å få root-tilgang i Linux? Fortell oss nedenfor!
Bildekreditt: blog.david-jensen.com