Hjemmeside » hvordan » Hvad er forskellen mellem Sudo og Su i Linux?

    Hvad er forskellen mellem Sudo og Su i Linux?

    Hvis du er en Linux-bruger, har du sikkert set henvisninger til både sudo og su. Artikler her om How-To Geek og andre steder instruerer Ubuntu-brugere om 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 opnå root privilegier. Hver funktion på en anden måde, og forskellige Linux-distributioner bruger som standard forskellige konfigurationer.

    Root User

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

    At gøre noget, der kræver disse tilladelser, skal du erhverve dem med su eller sudo.

    Su vs Sudo

    Su-kommandoen skifter til superbrugeren eller root-brugeren - når du udfører den uden yderligere muligheder. Du skal indtaste root-kontoens adgangskode. Dette er ikke alt, hvad su-kommandoen gør, men du kan bruge det til at skifte til enhver brugerkonto. Hvis du udfører su bob kommando, bliver du bedt om at indtaste Bobs adgangskode, og skallen skifter til Bobs brugerkonto.

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

    Sudo kører en enkelt kommando med root privilegier. Når du udfører sudo kommando, systemet beder dig om din nuværende brugerkontos adgangskode, før du kører kommando som rodbrugeren. Som standard husker Ubuntu adgangskoden i femten minutter og vil ikke bede om adgangskode igen, indtil de femten minutter er op.

    Dette er en vigtig forskel 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 rodbrugeren eller kræver en separat root brugeradgangskode.

    Ubuntu vs andre Linux-distributioner

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

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

    En anden fordel er, at det afskrækker brugere fra at logge ind som rootbrugeren - eller ved hjælp af su for at få en rodskal - og holde rodskallen åben for at gøre deres normale arbejde. At køre færre kommandoer som rod øger sikkerheden og forhindrer utilsigtede ændringer i systemet.

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

    Et par tricks

    Linux er fleksibelt, så det tager ikke meget arbejde at gøre su arbejde på samme måde som sudo - eller omvendt.

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

    su -c 'kommando'

    Dette ligner at køre en kommando med sudo, men du skal bruge root-kontoens adgangskode i stedet for din nuværende brugerkontos adgangskode.

    For at få en fuld, interaktiv root shell med sudo, kør sudo -i.

    Du skal give din nuværende brugerkonto adgangskode i stedet for root-kontoens adgangskode.

    Aktivering af Root User i Ubuntu

    Hvis du vil aktivere root-brugerkontoen på Ubuntu, skal du bruge følgende kommando til at angive et kodeord for det. Husk på, at Ubuntu anbefaler imod dette.

    sudo passwd root

    Sudo vil bede dig om din nuværende brugerkontos adgangskode, før du kan angive 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 fuldt grafisk miljø som rootbrugeren - dette er en meget dårlig sikkerhedspraksis, og mange programmer vil nægte at arbejde.

    Tilføjelse af brugere til Sudoers-filen

    Kun administrator-type konti i Ubuntu kan køre kommandoer med sudo. Du kan ændre en brugerkonto type i konfigurationsvinduet Brugerkonti.

    Ubuntu angiver automatisk brugerkontoen, der oprettes under installationen som en administratorkonto.

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

    Tilføj følgende linje til filen, udskift bruger med navnet på brugerkontoen:

    bruger ALLE = (ALLE: ALLE) ALLE

    Trykke Ctrl-X og så Y for at gemme filen. Du kan også være i stand til at tilføje en bruger til en gruppe, der er angivet i filen. Brugere i de grupper, der er angivet i filen, har automatisk sudo-rettigheder.

    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 adgangskode prompt og køre Nautilus fil browser med root tilladelser. Trykke Alt-F2 at køre kommandoen fra en grafisk runde dialog uden at starte en terminal.

    gksu nautilus

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

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


    Du bør nu være parat til at støde på både su og sudo! Du vil støde på begge, hvis du bruger forskellige Linux-distributioner.