Hvad er Sudo i Linux, og hvordan man bruger det

Overvej ovenstående tegneserie fra den fremragende XKCD webcomic. Den dovne fyr i stolen vil have deres ven til at lave en sandwich til dem, men de mangler autoriteten til at få dem til at gøre det. Det vil sige, indtil han påkalder sig den mægtige sudo-kommando. Hvorefter der bliver lavet en sandwich på den ene eller anden måde. 

Selvom det sandsynligvis ikke vil være så effektivt at prøve sudo på en person i det virkelige liv, er det den magiske kommando, der kommer forbi enhver vejspærring i Linux -verdenen . Hvad er sudo? Hvorfor eksisterer det overhovedet? Svaret ligger i, hvordan Linux håndterer tilladelser.

Forstå Linux-brugertilladelser(Linux User Permissions)

Linux betragtes som et sikkert operativsystem på grund af, hvordan det håndterer tilladelser. Mens operativsystemer som macOS (som delte en forfader med Linux ) og Windows nu er mere som Linux i denne henseende, er Open Source -operativsystemet stadig noget unikt.

At forstå, hvordan Linux håndterer tilladelser, gør det meget nemmere at få styr på sudo-kommandoen. Alle moderne operativsystemer har et "administrator" eller "root" brugertilladelsesniveau. Hvis du har en admin- eller root-konto, kan du ændre enhver indstilling, slette alle data og generelt gøre, hvad du vil med computeren. 

Det inkluderer ting, du sandsynligvis ikke bør gøre, som kan føre til tab af data eller behovet for en fuldstændig sletning og geninstallation.

Linux gør ikke tilladelser på root-brugerniveau til standard. I stedet kan din konto ikke komme til de virkelig følsomme dele af systemet uden at hæve dit tilladelsesniveau. Det betyder, at systemet vil bede dig om at indtaste administratoradgangskoden, når du vil gøre noget ud over det sædvanlige ved hjælp af en grafisk grænseflade. 

Men når du vil bruge Terminal -kommandolinjen til at få tingene gjort, er sudo den sikreste og mest effektive måde at gøre det på.

Sudo og terminalen

Der er to måder at give dig selv forhøjede tilladelser i Linux . Den ene er at logge på som root-bruger permanent. Problemet med dette er, at alle andre, der kan få adgang til computeren, kan skabe kaos, og selv du kan gøre det ved et uheld. Sudo hæver dine tilladelser kun i kort tid for at udføre de specifikke kommandoer, der følger efter den.

Sudo syntaks

Sudos syntaks (kommandoens format) er enkel. Du skal blot(Simply) skrive "sudo" efterfulgt af den kommando, du vil udføre.

For eksempel vil "sudo apt-get update" opdatere alle de applagre, der er angivet i den relevante fil. Hvis du prøvede at køre det uden sudo, ville du få en fejlmeddelelse, der fortæller dig, at du ikke har tilladelse. Dette er i øvrigt generelt den første sudo-kommando, du vil køre efter en ny installation af din foretrukne Linux -distro. 

"Su" i Sudo

"su" i sudo er en forkortelse for "superbruger", og det er en selvstændig kommando. Kommandoen "su" lader dig ændre, hvilke brugerrettigheder sudo ophøjer dig til. 

Selvom sudo hæver dig til root midlertidigt, ændrer su dig til en anden bruger med passende privilegier. Det kan virke som en uvigtig forskel, men der er gode grunde til at ændre den konto, som sudo ophøjer en bruger til. 

Først(First) og fremmest betyder ændring af kontoen, at almindelige brugere ikke kender root-adgangskoden. For det andet er der en log over alle sudo-kommandoer, hvilket betyder, at systemadministratoren (root) kan slå op, hvem der har udstedt su-kommandoer.

Syntaksen for su er stort set den samme som sudo:

Su BRUGERNAVN -c KOMMANDO(Su USERNAME -c COMMAND)

Erstat USERNAME(Replace USERNAME) med den ønskede bruger for at køre kommandoen og COMMAND med den Linux - kommando, du vil udføre.

Hvis du vil køre flere kommandoer som en anden bruger, skal du blot bruge:

Su BRUGER(Su USER)

Erstat USER(Replace USER) med den ønskede brugerkontoidentitet.

Hvis du bruger su af sig selv, skifter Linux til den anden brugerkonto, indtil du bruger kommandoen "exit." Det er vigtigt at huske, at denne eller den næste bruger, der får adgang til terminalen i den session, stadig vil have forhøjede tilladelser. Det er derfor, det generelt er bedre at bruge sudo frem for su.

Sudo-tidsgrænsen

Første gang du bruger en sudo-kommando, skal du indtaste en adgangskode. Derefter forbliver denne adgangskode gyldig i 15 minutter. Du kan ændre denne standard ved at køre kommandoen sudo visudo og ændre "timestamp_timeout=" til en længere eller kortere værdi. Vi anbefaler dog ikke, at du gør dette, medmindre du har en god grund til at forlænge eller forkorte, hvor længe en sudo-adgangskode forbliver gyldig.

Sudo Option Switches

Selvom sudo-syntaksen er enkel, er flere switches værd at kende til. Disse kommandoer åbner yderligere information eller hjælper dig med at styre sudo-sessionen:

  • -h viser dig syntaks og kommandooplysninger for sudo.
  • -V viser den aktuelle version af sudo på din maskine.
  • -v opdaterer sudo-tidsgrænsen, genstarter uret.
  • -l viser brugerrettigheder.
  • -k dræber den aktuelle sudo-session med det samme og fjerner forhøjede privilegier.

Der er mange flere muligheder indbygget i sudo, og du kan se dem alle ved at bruge den første -h-switch, der er angivet ovenfor.

Ovenstående skærmbillede er det, der resulterer, når du bruger hjælpemuligheden.

Nyttige Sudo-kommandoer

Så hvilke kommandoer bemyndiget af sudo bør enhver Linux -bruger vide? Vi har allerede dækket sudo apt-get update, men noter også disse:

  • Sudo apt-get upgrade vil opgradere alle installerede pakker.
  • Sudo apt-get install <package-name> installerer software efter eget valg; skift blot pakkenavnet til det du vil installere.
  • Hvis du ikke kender pakkenavnet, skal du bruge dpkg –list .
  • Hvis du vil fjerne en installeret pakke fra terminalen, skal du bruge sudo apt-get remove <package-name (igen i stedet for det pågældende specifikke pakkenavn).

Dette er sandsynligvis de første sudo-kommandoer, du bliver nødt til at bruge, men som du har lært ovenfor kan enhver kommando følge sudo, men du bør kun bruge dem, der har brug for højere privilegier med den.



About the author

Jeg er professionel computertekniker og har over 10 års erfaring inden for området. Jeg har specialiseret mig i Windows 7 og Windows Apps udvikling, samt Cool Websites design. Jeg er ekstremt vidende og erfaren på området, og vil være et værdifuldt aktiv for enhver organisation, der ønsker at vokse deres forretning.



Related posts