/ / Hvad er forskellen mellem Sudo og Su i Linux?

Hvad er forskellen mellem Sudo og Su i Linux?

billede

Hvis du er en Linux-bruger, har du sandsynligvis set dethenvisninger til både sudo og su. Artikler her om How-To Geek og andre steder instruerer Ubuntu-brugere til at bruge sudo og andre Linux-distributioners brugere til at bruge su, men hvad er forskellen?

Sudo og su er to forskellige måder at få rodprivilegier på. Hver funktion på en anden måde, og forskellige Linux-distributioner bruger som standard forskellige konfigurationer.

Rootbrugeren

Både su og sudo bruges til at køre kommandoer medrodtilladelser. Rødbrugeren svarer stort set til administratorbrugeren på Windows - rodbrugeren har maksimale tilladelser og kan gøre alt for systemet. Normale brugere på Linux kører med reducerede tilladelser - de kan for eksempel ikke installere software eller skrive til systemkataloger.

For at gøre noget, der kræver disse tilladelser, bliver du nødt til at erhverve dem med su eller sudo.

Su mod Sudo

Su-kommandoen skifter til superbrugeren - ellerrodbruger - når du udfører det uden yderligere indstillinger. Du skal indtaste root-kontoens adgangskode. Dette er dog ikke alt, hvad su-kommandoen gør - du kan bruge den til at skifte til en hvilken som helst brugerkonto. Hvis du udfører su bob kommandoen, bliver du bedt om at indtaste Bob's adgangskode, og skallen skifter til Bob's brugerkonto.

Når du er færdig med at køre kommandoer i rodskallen, skal du indtaste Afslut at forlade rodskallen og gå tilbage til tilstanden med begrænsede privilegier.

Sudo kører en enkelt kommando med rodrettigheder. Når du udfører sudo kommando, beder systemet dig om din nuværende brugerkontos adgangskode, før den kører kommando som rodbruger. Som standard husker Ubuntu adgangskoden i femten minutter og beder ikke om en adgangskode igen, før de femten minutter er gået.

billede

Dette er en nøgleforskel mellem su og sudo. Su skifter dig til root-brugerkontoen og kræver root-kontoens adgangskode. Sudo kører en enkelt kommando med root-privilegier - den skifter ikke til root-brugeren eller kræver en separat root-brugeradgangskode.

Ubuntu vs. andre Linux-distributioner

Su-kommandoen er den traditionelle måde at gøre det påerhverve rodtilladelser på Linux. Sudo-kommandoen har eksisteret i lang tid, men Ubuntu var den første populære Linux-distribution, der som standard kun gik sudo. Når du installerer Ubuntu, oprettes standard root-kontoen, men der er ikke tildelt nogen adgangskode til den. Du kan ikke logge ind som root, før du tildeler en adgangskode til rodkontoen.

billede

Der er flere fordele ved at bruge sudoi stedet for su som standard. Ubuntu-brugere skal kun angive og huske en enkelt adgangskode, hvorimod Fedora og andre distributioner kræver, at du opretter separate root- og brugerkonto-adgangskoder under installationen.

En anden fordel er, at det fraråder brugerefra at logge ind som rodbruger - eller bruge su til at få en rodskal - og holde rodskallen åben for at udføre deres normale arbejde. Kørsel af færre kommandoer, når rod øger sikkerheden og forhindrer utilsigtede systemdækkende ændringer.

Distributioner baseret på Ubuntu, inklusive Linux Mint, bruger også sudo i stedet for su som standard.

Et par tricks

Linux er fleksibel, så det kræver ikke meget arbejde at få su arbejde på lignende måde som sudo - eller omvendt.

Hvis du vil køre en enkelt kommando som root-bruger med su, skal du køre følgende kommando:

su -c 'kommando'

Dette svarer til at køre en kommando med sudo, men du har brug for rodkontoens adgangskode i stedet for din nuværende brugerkontos adgangskode.

For at få en fuld, interaktiv rodskal med sudo skal du køre sudo –i.

billede

Du skal angive din nuværende brugerkontos adgangskode i stedet for rodkontoens adgangskode.

Aktivering af rodbrugeren i Ubuntu

For at aktivere rodbrugerkontoen på Ubuntu skal du bruge følgende kommando til at indstille en adgangskode til den. Husk, at Ubuntu anbefaler imod dette.

sudo passwd rod

Sudo beder dig om din nuværende brugerkontos adgangskode, før du kan indstille en ny adgangskode. Brug din nye adgangskode til at logge ind som root fra en terminal login-prompt eller med su-kommandoen. Du bør aldrig køre et komplet grafisk miljø som rodbrugeren - dette er en meget dårlig sikkerhedspraksis, og mange programmer vil nægte at arbejde.

billede

Føjelse af brugere til Sudoers-filen

Kun administratortypekonti i Ubuntu kan køre kommandoer med sudo. Du kan ændre en brugerkontokstype fra vinduet Brugerkonti-konfiguration.

billede

Ubuntu udpeger automatisk den brugerkonto, der blev oprettet under installationen, som en administratorkonto.

billede

Hvis du bruger en anden Linux-distribution, kan du give en bruger tilladelse til at bruge sudo ved at køre visudo kommando med rodrettigheder (så kør su først eller brug su-c).

Føj følgende linje til filen med udskiftning bruger med navnet på brugerkontoen:

bruger ALLE = (ALLE: ALLE) ALLE

Trykke Ctrl-X og så Y for at gemme filen. Du kan muligvis også føje en bruger til en gruppe, der er specificeret i filen. Brugere i de grupper, der er specificeret i filen, har automatisk sudo-privilegier.

billede

Grafiske versioner af Su

Linux understøtter også grafiske versioner af su,som beder om dit kodeord i et grafisk miljø. For eksempel kan du køre følgende kommando for at få en grafisk adgangskodeprompt og køre Nautilus-filbrowser med rodtilladelser. Trykke Alt-F2 at køre kommandoen fra en grafisk køredialog uden at starte en terminal.

gksu nautilus

billede

Gksu-kommandoen har også et par andre tricksdens ærme - det bevarer dine nuværende desktopindstillinger, så grafiske programmer ser ikke ud af sted, når du starter dem som en anden bruger. Programmer som gksu er den foretrukne måde at starte grafiske applikationer med root-privilegier på.

Gksu bruger enten en su- eller sudo-baseret backend, afhængigt af den Linux-distribution, du bruger.


Du skal nu være parat til at møde både su og sudo! Du møder begge, hvis du bruger forskellige Linux-distributioner.