logo

Linux sudo

Introduktion

Linux sudo-kommandot står för Super User Do . Generellt tillämpas det som ett prefix för ett fåtal kommandon som superanvändare får utföra.

Om vi ​​prefixar kommandot tillsammans med andra kommandon, skulle det utföra det kommandot med höga privilegier. Med andra ord kommer det att tillåta användaren tillsammans med korrekt auktorisering att äta ett kommando som andra användare som superanvändaren.

Det är lika med alternativet 'Kör som administratör' i Windows. Alternativet sudo tillåter oss att ha mer än en administratör. De användare som kan tillämpa sudo-kommandot måste ha posten i filen sudoers placerad vid '/etc/sudoers/' .

Obs: För att visa eller redigera filen måste vi använda kommandot sudo. För att redigera filen föreslås det att du använder kommandot 'visudo'.

Som standard kräver sudo-kommandot att användare verifierar sig själva tillsammans med ett lösenord som är användarens lösenord, inte ett root-lösenord i sig.

Syntax för sudo-kommandot

Syntaxen för sudo-kommandot nämns nedan:

 sudo OPTION... COMMAND 

Alternativ i sudo-kommandot

Några av de viktiga alternativen i sudo-kommandot förklaras nedan:

1. -I: Det står för version . Det här alternativet aktiverar kommandot sudo för att skriva ut versionsnumret och avsluta. Alternativet -V skulle skriva ut standardinställningarna för sudo-listans paus observerades om den begärande användaren redan är roten.

Linux sudo

2. -l: Det står för lista . Det här alternativet hjälper till att skriva ut de olika kommandon som användaren tillåter över den aktuella värden.

Det visar att den nuvarande användaren kan tillämpa varje kommando som sudo.

pandor iterrows
Linux sudo

3. -h eller -hjälp: H:et står för hjälp i detta alternativ. Detta alternativ aktiverar sudo-kommandot för att skriva ut ett meddelande om användning och utgång.

Linux sudo

4. -in: Det står för bekräfta . Om sudo-kommandot skulle uppdatera användarens tidsstämpel, kommer valideringen att fråga efter användarens lösenord vid behov. Det förlänger sudo-kommandots timeout för de andra 5 minuterna men exekverar inte ett kommando. Det ger inget resultat.

5. -k: Det står för döda . Detta alternativ ogiltigförklarar användarens tidsstämpel till sudo. Följaktligen skulle ett lösenord krävas nästa gång sudo-kommandot körs. Alternativet -k behöver inget lösenord och det inkluderades för att tillåta användarna att återkalla behörigheterna för sudo-kommandot genom .logga ut fil.

6. -b: Det står för bakgrund . Det här alternativet informerar sudo-kommandot om att utföra de angivna kommandona i bakgrunden.

Obs: Om vi ​​använder det här alternativet kan vi inte tillämpa skaljobbkontroll för att manipulera processen.

Linux sudo

7. -K: Detta alternativ är samma som alternativet -k. Det står dock för säkert döda . Detta alternativ används för att ta bort användarens tidsstämpel helt. Den behöver inte heller något lösenord.

8. -p: Det står för prompt . Det här alternativet tillåter oss att åsidosätta lösenordsprompten (standard) och använda en anpassad. Några få procents rymningar är tillåtna som är följande:

  • %u utvecklas till inloggningsnamnet för den anropande användaren.
  • %U utvecklas till användarens inloggningsnamn
  • %h utvecklas till värdnamnet (lokalt) utan något namn på domänen.
  • %H utvecklas till värdnamnet (lokalt) med namnet på domänen (endast när värdnamnet på maskinen är helt kvalificerat)
  • %% (två på varandra följande tecken) kan delas upp i ett individuellt %-tecken.
Linux sudo

9. -n: Detta alternativ kommer att köra kommandot utan att fråga efter lösenordet. Det är mycket användbart om vi vill utföra några kommandon som bakgrundsuppgifter (eller inuti skalskriptet), där vi inte vill ha kommandot sudo för att fråga om lösenordet. Det här alternativet är en förkortning för icke-interaktiv.

ladda ner youtube-videor vlc

10. -in: Det står för användare . Detta alternativ gör det möjligt för sudo-kommandot att utföra de beskrivna kommandona andra än roten som användaren. För att specificera a uid snarare än användarnamnet kan vi använda #uid .

11. -H: Det står för HEM . Detta alternativ kan ställa in en HOME miljövariabel till vår hemkatalog för rotanvändaren enligt beskrivningen i passwd-filen. Som standard ändrar inte kommandot sudo HOME.

12. -s: Det står för skal . Detta alternativ kör skalet som beskrivs genom a SHELL miljövariabel när det är satt eller detta skal som beskrivs inuti passwd fil.

13. -S: Det står för stdin . Det här alternativet aktiverar sudo-kommandot för att läsa lösenordet via standardingång snarare än terminalenheten.

14. -: Det här alternativet illustrerar att kommandot sudo måste sluta bearbeta argumenten för kommandoraden. Det är mest användbart i samband med en -s-flagga.

15. -a: Det står för Autentiseringstyp . Det här alternativet aktiverar kommandot sudo för att använda den beskrivna autentiseringstypen vid validering av en användare, som tillåts av /etc/login/.config .

Systemadministratören kan beskriva listan över metoder för sudo-specifik autentisering genom att inkludera 'auto-sudo' ingång inuti /etc/login/.config .

Linux sudo

Miljövariabler i sudo Command

Följande är några av miljövariablerna som tillämpas av kommandot sudo:

hink sortering
Ja Nej. Märka Beskrivning
1. REDAKTÖR Det är en standardredigerare som kan användas i -e-läget (sudoedit) när VISUAL inte är fixat.
2. HEM Den kommer att ställas in på hemkatalogen för användaren (målet) i -H- eller -s-läge (eller när sudo-kommandot skapades med alternativet, d.v.s. -enable-shell-sets-home).
3. VÄG Den ställs in på sunt värde när alternativet, dvs secure_path sudoers är fixat.
4. SKAL Den kan användas för att bestämma skalet som ska köras med alternativet -s.
5. SUDO_COMMAND Den ställs in på ett kommando som utförs av kommandot sudo.
6. SUDO_PROMPT Det kan användas som en lösenordsprompt (standard).
7. SUDO_USER Den ställer in på användarens inloggning som begär sudo-kommandot.
8. SUDO_UID Den ställer in på användarens uid som begär sudo-kommandot.
9. SUDO_GID Den ställer in på användarens gid som begär sudo-kommandot.
10. SOUTH_PS1 PS1 skulle vara fixerat till sitt värde om det ställs in.
elva. ANVÄNDARE Den ställs in på användaren (root såvida inte alternativet, d.v.s. -u beskrivs).
12. VISUELL Det är en standardredigerare och använder inuti -e-läget (sudoedit).

Historik för sudo-kommandot

Cliff Spencer och Robert Coggeshall skrev själva delsystemet 1980 på SUNY/Buffalo vid institutionen för datavetenskap. Robert Coggeshall bar med sig sudo till University of Colorado Boulder. Funktionerna och koden ändrades väsentligt av IT-medlemmarna vid College of Engineering och University of Colorado Boulder Computer Science Department och tillämpad vetenskap med Todd C. Miller mellan 1986-1993.

Offentligt har den senaste versionen hanterats sedan 1994 av Todd .C Miller (OpenBSD-utvecklare) och har delats sedan 1999 på ISC-liknande licens.

Thomas Claburn karakteriserade sådana osäkerheter som överdrivna i november 2009 som svar på det som Microsoft hade privilegiet sudo. Snävt var påståendena inramade till ett specifikt GUI istället för sudo-metoden.

Design av sudo-kommandot

Användare kan ange sitt lösenord till sudo när det behövs istället för en superanvändare, till skillnad från su-kommandot. Det tillåter tillgängliga användare att utöva kvalificerade privilegier utan att handla hemlighet av lösenordet för det andra kontot.

  • När konfigurationsfilen tillåter användaren åtkomst, efter autentisering begär systemet det begärda kommandot.
  • Sudo-kommandot behöll användarens anropsrättigheter med en respittid (typiskt 5 minuter) per pseudoterminal och det tillåter användaren att utföra olika på varandra följande kommandon som den påstådda användaren utan att behöva ge något lösenord igen.
  • Kommandot sudo kan vara konfigurerat för att logga varje kommando som körs som en gransknings- och säkerhetsfunktion.
  • Vid den tidpunkten, en användare skjuter för att anropa sudo-kommandot utan att vara listad i konfigurationsfilen, visas en undantagsillustration för den användaren som berättar att bilden har spelats in.
  • En post skulle sparas i systemet och root-användaren skulle informeras via e-post.

Konfiguration av sudo-kommandot

De /etc/sudoers filen innehåller användargrupperna eller listan över användare med behörighet att köra en uppsättning kommandon samtidigt som den innehåller rättigheterna för en rotanvändare eller annan listad användare. Programmet kan vara konfigurerat för att behöva ett lösenord.

Effekten av sudo-kommandot

I några systemdistributioner har sudo-kommandot ersatt användningen (standard) av en annan inloggning för superanvändaren för olika administrativa operationer, viktigast av allt i några Apples macOS- såväl som Linux-distributioner.

Det förhindrar ett fåtal utnyttjande och tillåter även mer skyddad loggning av administratörskommandona.

RBAC

Kommandot sudo skulle kunna användas för transitering mellan olika typer av roller inom den rollbaserade åtkomstkontrollen i samarbete med SELinux.

Liknande program och verktyg

Visudo är ett verktyg för kommandoraden som tillåter redigering av konfigurationsfilen för sudo på ett felsäkert sätt. Den utför syntax- och förnuftskontroller och förhindrar också mer än en samtidig redigering tillsammans med lås.

Runas-programmet underlättar samma prestanda i Microsoft Windows; den kan dock inte skicka nuvarande långa kommandorader till ett barn, miljövariabler eller kataloger.

Den stöder inte allmän höjd medan den hjälper till att avrätta barnet som vilken annan användare som helst. För Windows läggs en äkta sudo och su som kan överföra var och en av dessa tillståndsdetaljer och börja barnet som en annan användare eller förhöjd med Hamilton C-skal .

mylivericket

GUI är tillgängligt för sudo ( gksudo särskilt) men den är utfasad i Debian och inte längre i Ubuntu. Olika andra typer av användargränssnitt är inte designade på sudo direkt, men underlättar samma behörighetshöjning (tillfälligt) för administrativa mål som Auktoriseringstjänster för Mac OS X, användarkontokontroll i Microsoft Windows , och pkexec inuti de Unix-liknande operativsystemen .

Sedan 5.8-versionen av OpenBSD (oktober 2015), donera är tillgänglig. Det har specificerats att ersätta sudo-kommandot i OpenBSDs bassystem.

hans vs. sudo

Om vi ​​är vana vid en mer klassisk Linux-installation är vi vana vid att använda kommandot su för att få root-privilegier. Vi kan också utfärda su-kommandot för att effektivt logga in som roten (hemmet för roten blir vårt hem).

Genom att använda den här typen av distributioner kan vi också logga in som ruttanvändare. Men det är inte en bra idé att logga in som root-användare. Om vi ​​tillämpar en distribution som är beroende av su-kommandot och tillåter root-användarinloggning, logga in som vår standardanvändare och su-kommandot till root-användaren.

Troligtvis kommer vi att märka att vi inte kan logga in som root-användare med sudo-baserade distributioner. Faktum är att i vissa distributioner som Ubuntu har rotanvändarens konto inaktiverats.

Vi kan inte logga in som root-användare och använda kommandot su för att bli en root-användare. Vi skulle kunna göra är att utfärda dessa kommandon med hjälp av kommandot sudo för att få administrativa privilegier.

np betyder

Användning av sudo-kommandot

Det finns två olika sätt att köra administrativa applikationer med Linux. Antingen kan vi ändra superanvändaren eller rootanvändaren med hjälp av su-kommandot eller så kan vi dra nytta av sudo-kommandot.

När vi använder vår tid på terminalen är sudo ett av de viktiga kommandona som vi kommer att använda ganska ofta. Att använda sudo-kommandot istället för att logga in som root-användare är mer skyddat eftersom vi bara kan ge några få administrativa privilegier till en enskild användare utan hans/hennes kunskap om root-lösenordet.

Hur vi implementerar det beror på vilken distro vi använder. Ett fåtal distributioner tillåter root-användaren (som OpenSUSE, Red Hat , eller Fedora ), medan ett fåtal inte gör det (gillar Debian och Ubuntu ).

Att använda kommandot sudo är enkelt i sin mycket grundläggande form. Till exempel måste vi köra dpkg för att installera en mjukvara. Om vi ​​bara kör dpkg -i software.deb kommando som standardanvändare får vi ett felmeddelande om att användaren inte har behörighet att köra kommandot.

Det är därför som standardanvändare inte kan installera olika applikationer över en Linux-maskin. Om vi ​​vill installera någon applikation på Linux-maskinen måste vi ha en superanvändares privilegier.

Vi kommer istället att köra sudo dpkg -i software.deb kommandot så att vi kan utföra installationen framgångsrikt.

Installerar sudo-kommandot

Paketet med sudo-kommandot är förinstallerat över de flesta Linux-distributioner. För att bekräfta att paketet är installerat på vårt system måste stegen nedan följas:

  • Först av allt, öppna upp vår terminal.
  • Skriv sudo och klicka på enter-knappen.
  • Om vi ​​har sudo-paketet installerat på vårt system kommer det att visa ett kort meddelande.
  • Annars kommer vi att meddela med ett meddelande, dvs. sudo-kommandot hittades inte.
  • Om paketet inte är installerat kan vi enkelt installera det här paketet genom att använda pakethanteraren för överdistribution.

Installera Sudo på Fedora och CentOS

 $ yum install sudo 

Installera Sudo på Debian och Ubuntu

 $ apt install sudo 

Linux sudo

Kommando för att uppdatera sudo

Linux sudo