Når du kører administrative applikationer i Linux, kan du bruge kommandoen su ("switch user") til at skifte til superbrugeren (root), eller du kan bruge kommandoen sudo ("super user do").
En måde at vide, hvornår du skal bruge sudo-kommandoen, er, hvis du forsøger at køre kommandoer i terminal kun for at blive mødt med "adgang nægtet" eller "operation kræver superuser privilegium" -fejl. Disse fejl kan opstå, hvis Linux-distributionen - som Ubuntu - ikke muliggør brugen af rodbrugeren. Når du har brugt sudo-kommandoen, kan den specifikke kommando køres med forhøjede rettigheder.
Men hvis du vælger at bruge su-kommandoen i stedet, skifter du hele brugeren over til root, hvilket betyder at selv efter den første kommando, køres hver efterfølgende også med root-legitimationsoplysninger. Dette gør det meget nemt at ved et uheld køre forhøjede kommandoer, hvilket kan gøre masser af skade, hvis du ikke er forsigtig.
At genoprette: sudo fungerer kun for hver kommando, der starter som "sudo", mens su aktiverer hver kommandoen i den prompt for at køre som superbruger uden at skulle skrive sudo eller su før hver enkelt.
Hvordan det virker
Selvom de fungerer forskelligt, kan du sammenligne sudo-kommandoen med den prompte, du muligvis vil se i Windows eller MacOS. Når du bliver spurgt i disse operativsystemer, hvis du vil fortsætte med at udføre denne specifikke handling, er du mødt med en knap, som du har bekræftet, at du vil køre handlingen med forhøjet privilegium, og til tider må du måske indtaste en administrators adgangskode .
Som i disse operativsystemer bruger Linux sudo-kommandoen som en mur mellem normale opgaver og admin-dem, så du skal bekræfte, at du vil gøre, hvad det end er, som kommandoen vil udføre. Endnu mere lignende er runas-kommandoen i Windows; Som i Linux fungerer runas-kommandoen fra kommandolinjen for at starte en fil med legitimationsoplysninger fra en bestemt bruger, ofte en administrator.
Tip: Hvis du ikke er sikker på, om du bruger sudo eller su, skal du se på den efterfølgende karakter på kommandolinjen. Hvis det er et pund tegn (#), er du logget på som root.
Om Sudo Command
I Linux giver sudo (udtalet "saksdeje") en systemadministrator mulighed for at give bestemte brugere eller grupper af brugere mulighed for at køre nogle eller alle kommandoer som root, mens de logger alle kommandoer og argumenter. Det er dog ikke en erstatning for skallen.
Når du sætter "sudo" foran en kommando i terminal, løber følgende med forhøjede rettigheder, hvorfor det er løsningen på privilegerede relaterede fejl. Det er nødvendigt, hvis du ønsker at køre kommandoer, der betragtes som administrative opgaver.
Sudo opererer på en kommando basis. Funktionerne omfatter evnen til at begrænse de kommandoer, en bruger kan køre på en per-vært basis, rigelig logning af hver kommando for at give et klart revisionsspor af hvem gjorde hvad, en konfigurerbar timeout for sudo-kommandoen og evnen til at bruge det samme konfigurationsfil på mange forskellige maskiner.
Sudo Command Eksempel
En standardbruger uden administrative privilegier kan indtaste en kommando i Linux for at installere et stykke software:
dpkg -i software.deb
Kommandoen returnerer en fejl, fordi en person uden administrative rettigheder ikke har lov til at installere software. Men sudo-kommandoen kommer til undsætning. I stedet er den korrekte kommando for denne bruger:
sudo dpkg -i software.deb
Denne gang installeres softwaren. Dette forudsætter, at en person med administrative privilegier tidligere har konfigureret Linux til at give brugeren mulighed for at installere software eller, hvis der anmodes om et kodeord, at adgangskoden blev indtastet korrekt.
Bemærk: Du kan også konfigurere Linux for at forhindre nogle brugere i at kunne bruge sudo-kommandoen.