logo

Linux sudo

Introduktion

Linux sudo-kommandoen står for Superbruger gør . Generelt anvendes det som et præfiks for nogle få kommandoer, som superbrugeren har lov til at udføre.

Hvis vi præfikser kommandoen sammen med andre kommandoer, vil den udføre denne kommando med høje privilegier. Med andre ord vil det tillade brugeren sammen med korrekt autorisation at spise en kommando som andre brugere som superbrugeren.

Det er lig med muligheden 'kør som administrator' i Windows. Sudo-indstillingen giver os mulighed for at have mere end én administrator. De brugere, der kan anvende sudo-kommandoen, skal have indgangen i filen sudoers placeret ved '/etc/sudoers/' .

Bemærk: For at se eller redigere filen skal vi anvende sudo-kommandoen. For at redigere filen, foreslås det at anvende kommandoen 'visudo'.

Sudo-kommandoen kræver som standard, at brugerne bekræfter sig selv sammen med en adgangskode, som er brugerens adgangskode, ikke selve en root-adgangskode.

Syntaks for sudo-kommandoen

Syntaksen for sudo-kommandoen er nævnt nedenfor:

 sudo OPTION... COMMAND 

Mulighed i sudo kommando

Nogle af de vigtige muligheder i sudo-kommando er forklaret nedenfor:

1. -I: Det står for version . Denne mulighed aktiverer sudo-kommandoen til at udskrive nummeret på versionen og afslutte. Valgmuligheden -V ville udskrive standard sudo liste pause blev observeret, hvis den anmodende bruger er root allerede.

Linux sudo

2. -l: Det står for liste . Denne mulighed hjælper med at udskrive de forskellige kommandoer, som brugeren har tilladt over den aktuelle vært.

Det viser, at den nuværende bruger kunne anvende hver kommando som sudo.

sammenføjninger og sammenføjningstyper
Linux sudo

3. -h eller -hjælp: H står for Hjælp i denne mulighed. Denne indstilling aktiverer sudo-kommandoen til at udskrive en meddelelse om brug og afslutning.

Linux sudo

4. -i: Det står for validere . Hvis sudo-kommandoen vil opdatere brugerens tidsstempling, vil valideren bede om brugerens adgangskode, hvis det er nødvendigt. Den forlænger sudo-kommandoens timeout i de øvrige 5 minutter, men udfører ikke en kommando. Det giver ikke noget resultat.

5. -k: Det står for dræbe . Denne indstilling ugyldiggør brugerens tidsstempling til sudo. Derfor kræves der et kodeord, næste gang sudo-kommandoen udføres. Valgmuligheden -k behøver ikke nogen adgangskode, og den blev inkluderet for at give brugerne mulighed for at tilbagekalde tilladelserne til sudo-kommandoen gennem .Log ud fil.

6. -b: Det står for baggrund . Denne mulighed informerer sudo-kommandoen om at udføre de angivne kommandoer i baggrunden.

Bemærk: Hvis vi anvender denne mulighed, kan vi ikke anvende shell-jobkontrol til at manipulere processen.

Linux sudo

7. -K: Denne indstilling er den samme som indstillingen -k. Det står dog for sikkert dræbe . Denne mulighed anvendes til at fjerne tidsstemplet for brugeren helt. Den behøver heller ikke noget password.

8. -p: Det står for hurtig . Denne mulighed giver os mulighed for at tilsidesætte adgangskodeprompten (standard) og anvende en brugerdefineret. Et par procent flugter er tilladt, som er som følger:

  • %u er udviklet til loginnavnet på den påkaldende bruger.
  • %U er udviklet til brugerens login-navn
  • %h er udviklet til værtsnavnet (lokalt) uden noget navn på domænet.
  • %H udvikles til værtsnavnet (lokalt) med navnet på domænet (kun når værtsnavnet på maskinen er fuldstændigt kvalificeret)
  • %% (to på hinanden følgende tegn) kan opdeles i et individuelt %-tegn.
Linux sudo

9. -n: Denne mulighed vil køre kommandoen uden at bede om adgangskoden. Det er meget nyttigt, hvis vi ønsker at udføre nogle få kommandoer som baggrundsopgaver (eller inde i shell-scriptet), hvor vi ikke ønsker sudo-kommandoen til at spørge om adgangskoden. Denne mulighed er en forkortelse for ikke-interaktiv.

java null check

10. -i: Det står for bruger . Denne indstilling gør det muligt for sudo-kommandoen at udføre de beskrevne kommandoer, bortset fra roden som bruger. For at specificere en uid i stedet for brugernavnet kan vi bruge #uid .

11. -H: Det står for HJEM . Denne mulighed kan indstille en HOME miljøvariabel til vores hjemmemappe af root-brugeren som beskrevet i passwd-filen. Sudo-kommandoen ændrer som standard ikke HOME.

12. -s: Det står for skal . Denne mulighed udfører den skal beskrevet gennem en SHELL miljøvariabel når dens sæt eller denne skal som beskrevet inde i passwd fil.

13. -S: Det står for stdin . Denne mulighed aktiverer sudo-kommandoen til at læse adgangskoden gennem standardinput i stedet for terminalenheden.

14. -: Denne indstilling illustrerer, at sudo-kommandoen skal stoppe med at behandle argumenterne på kommandolinjen. Det er mest nyttigt i forbindelse med et -s flag.

15. -a: Det står for Godkendelsestype . Denne indstilling aktiverer sudo-kommandoen til at bruge den beskrevne godkendelsestype, hvis en bruger valideres, som tilladt af /etc/login/.config .

Administratoren af ​​systemet kan beskrive listen over metoder til den sudo-specifikke godkendelse ved at inkludere 'auto-sudo' indgang inde i /etc/login/.config .

Linux sudo

Miljøvariabler i sudo Command

Følgende er nogle af miljøvariablerne, der anvendes af sudo-kommandoen:

Ja Nej. Tag Beskrivelse
1. REDAKTØR Det er en standardeditor, der kan bruges i -e-tilstanden (sudoedit), når VISUAL ikke er rettet.
2. HJEM Den indstilles til homedir for brugeren (målet) i -H- eller -s-tilstand (eller når sudo-kommandoen blev dannet med muligheden, dvs. -enable-shell-sets-home).
3. STI Den indstilles til den fornuftige værdi, når indstillingen, dvs. secure_path sudoers, er fast.
4. SKAL Det kan bruges til at bestemme den shell, der skal udføres med -s muligheden.
5. SUDO_COMMAND Den indstilles til en kommando, der udføres af sudo-kommandoen.
6. SUDO_PROMPT Den kan bruges som en adgangskodeprompt (standard).
7. SUDO_USER Den indstiller til brugerens login, der anmoder om sudo-kommandoen.
8. SUDO_UID Den indstiller til brugerens uid, der anmoder om sudo-kommandoen.
9. SUDO_GID Den indstiller til brugerens gid, der anmoder om sudo-kommandoen.
10. SOUTH_PS1 PS1 ville blive fastsat til sin værdi, hvis den er indstillet.
elleve. BRUGER Den indstilles til brugeren (rod, medmindre muligheden, dvs. -u er beskrevet).
12. VISUEL Det er en standardeditor og bruger inde i -e-tilstanden (sudoedit).

Historien om sudo-kommandoen

Cliff Spencer og Robert Coggeshall skrev selve delsystemet i 1980 på SUNY/Buffalo ved Institut for Datalogi. Robert Coggeshall bar sudo til University of Colorado Boulder med sig. I det væsentlige blev funktionerne og koden ændret af IT-medlemmerne fra College of Engineering og University Of Colorado Boulder Computer Science Department og anvendt videnskab med Todd C. Miller mellem 1986-1993.

Offentligt er den seneste version blevet administreret siden 1994 af Todd .C Miller (OpenBSD-udvikler) og er blevet delt siden 1999 på ISC-lignende licens.

Thomas Claburn karakteriserede sådanne usikkerheder som overdrevne i november 2009 som svar på det, at Microsoft havde privilegium sudo. Snævert var påstandene indrammet til en specifik GUI i stedet for sudo-tilgangen.

java scanner klasse

Design af sudo-kommandoen

Brugere kan angive deres adgangskode til sudo, når det er nødvendigt i stedet for en superbruger, i modsætning til su-kommandoen. Det tillader tilgængelige brugere at udøve kvalificerede privilegier uden at handle hemmeligholdelse af adgangskoden til den anden konto.

  • Når konfigurationsfilen giver brugeren adgang, efter godkendelse anmoder systemet om den påståede kommando.
  • Sudo-kommandoen bibeholdt brugerens påkaldelsesrettigheder med en henstandstid (typisk 5 minutter) pr. pseudo-terminal, og den tillader brugeren at udføre forskellige successive kommandoer som den påståede bruger uden at skulle give nogen adgangskode igen.
  • Sudo-kommandoen kan være konfigureret til at logge hver kommando, der køres, som en revisions- og sikkerhedsfunktion.
  • På det tidspunkt skyder en bruger for at påkalde sudo-kommandoen uden at være opført i konfigurationsfilen, en undtagelsesillustration præsenteres for denne bruger, der fortæller, at skuddet er blevet optaget.
  • En post ville blive gemt inde i systemet, og root-brugeren ville blive informeret via mail.

Konfiguration af sudo-kommandoen

Det /etc/sudoers fil inkluderer brugergrupperne eller listen over brugere med tilladelse til at køre et sæt kommandoer, mens den indeholder rettighederne for en rodbruger eller en anden anført bruger. Programmet kan være konfigureret til at have brug for en adgangskode.

heltal til streng java

Virkningen af ​​sudo-kommandoen

I nogle få systemdistributioner har sudo-kommandoen fortrængt brugen (standard) af et andet login for superbrugeren til forskellige administrative operationer, vigtigst af alt i nogle få Apples macOS- såvel som Linux-distributioner.

Det forhindrer et par udnyttelser og tillader også mere beskyttet logning af admin-kommandoer.

RBAC

Sudo-kommandoen kunne bruges til transit mellem forskellige typer roller inden for den rollebaserede adgangskontrol i samarbejde med SELinux.

Lignende programmer og værktøjer

Visudo er et værktøj på kommandolinjen, der tillader redigering af konfigurationsfilen for sudo på en fejlsikker måde. Det udfører syntaks- og fornuftstjek og forhindrer også mere end én samtidig redigering sammen med låse.

Runas-programmet letter den samme ydeevne i Microsoft Windows; den kan dog ikke videregive aktuelle lange kommandolinjer til et barn, miljøvariabler eller mapper.

Det understøtter ikke generel elevation, mens det hjælper med at henrette barnet som enhver anden bruger. For Windows tilføjes en ægte sudo og su, der kan overføre hver af disse tilstandsdetaljer og begynde barnet som en anden bruger eller forhøjet med Hamilton C-skal .

GUI'en er tilgængelig for sudo ( gksudo især), men det er forældet i Debian og heller ikke længere i Ubuntu. Forskellige andre typer brugergrænseflader er ikke designet direkte på sudo, men letter den samme privilegieforhøjelse (midlertidigt) for administrative mål som f.eks. Autorisationstjenester i Mac OS X, brugerkontokontrol i Microsoft Windows , og pkexec inde i de Unix-lignende operativsystemer .

Siden 5.8-versionen af ​​OpenBSD (oktober 2015), donere er tilgængelig. Det er blevet specificeret til at erstatte sudo-kommandoen inde i basissystemet af OpenBSD.

hans vs. sudo

Hvis vi er vant til en mere klassisk Linux-opsætning, så er vi vant til at anvende su-kommandoen for at få root-privilegier. Vi kan også udstede su-kommandoen for effektivt at logge ind som roden (hjemmet for roden bliver vores hjem).

sammenligne med streng

Ved at bruge denne slags distributioner kan vi også logge ind som rutebruger. Men det er ikke en god idé at logge ind som root-bruger. Hvis vi anvender en distribution, der afhænger af su-kommandoen og tillader root-bruger-login, så log på som vores standardbruger og su-kommandoen til root-brugeren.

Mest sandsynligt vil vi bemærke, at vi ikke kan logge ind som root-bruger ved hjælp af sudo-baserede distributioner. Faktisk er root-brugerens konto blevet deaktiveret i nogle distributioner som Ubuntu.

Vi kan ikke logge ind som root-bruger og bruge su-kommandoen til at blive root-bruger. Vi kunne gøre er at udstede disse kommandoer ved at bruge sudo-kommandoen for at opnå administrative privilegier.

Brug af sudo-kommando

Der er to forskellige måder at udføre administrative applikationer på med Linux. Enten kan vi ændre superbrugeren eller root-brugeren ved at bruge su-kommandoen, eller vi kan drage fordel af sudo-kommandoen.

Når vi bruger vores tid på terminalen, er sudo en af ​​de vigtige kommandoer, som vi ret ofte vil bruge. Brug af sudo-kommandoen i stedet for at logge ind som root-bruger er mere beskyttet, fordi vi kun kan give nogle få administrative privilegier til en enkelt bruger uden hans/hendes viden om root-adgangskoden.

Hvordan vi implementerer det afhænger af, hvilken distro vi bruger. Nogle få distributioner tillader root-brugeren (som OpenSUSE, Red Hat , eller Fedora ), mens nogle få ikke kan (synes godt om Debian og Ubuntu ).

Brug af sudo-kommandoen er enkel i sin meget grundlæggende form. For eksempel skal vi udføre dpkg'en for at installere et softwarestykke. Hvis vi bare kører dpkg -i software.deb kommando som standardbruger får vi en fejlmeddelelse om, at brugeren ikke har tilladelse til at køre kommandoen.

Det er derfor som standard standardbrugere ikke kan installere forskellige applikationer over en Linux-maskine. Hvis vi ønsker at installere en applikation på Linux-maskinen, skal vi have privilegierne som en superbruger.

Vi vil i stedet køre sudo dpkg -i software.deb kommando, så vi kan udføre installationen med succes.

Installation af sudo-kommandoen

Pakken med sudo-kommando er forudinstalleret over de fleste af Linux-distributionerne. For at bekræfte, at pakken er installeret på vores system, skal nedenstående trin følges:

  • Først og fremmest skal du åbne vores terminal.
  • Skriv sudo og klik på Enter-knappen.
  • Hvis vi har sudo-pakken installeret på vores system, vil den vise en kort besked.
  • Ellers giver vi besked via en besked, dvs. sudo-kommandoen blev ikke fundet.
  • Hvis pakken ikke er installeret, kan vi nemt installere denne pakke ved at anvende pakkehåndteringen for overdistribution.

Installer Sudo på Fedora og CentOS

 $ yum install sudo 

Installer Sudo på Debian og Ubuntu

 $ apt install sudo 

Linux sudo

Kommando til opdatering af sudo

Linux sudo