logo

Linux sudo

Introduksjon

Linux sudo-kommandoen står for Superbruker gjør . Vanligvis brukes det som et prefiks for noen få kommandoer som superbruker har lov til å utføre.

Hvis vi prefikser kommandoen sammen med andre kommandoer, vil den utføre den kommandoen med høye privilegier. Med andre ord, det vil tillate brukeren sammen med riktig autorisasjon å spise en kommando som andre brukere som superbrukeren.

Det er lik alternativet 'Kjør som administrator' i Windows. Sudo-alternativet lar oss ha mer enn én administrator. Brukerne som kan bruke sudo-kommandoen krever at oppføringen er plassert i filen sudoers '/etc/sudoers/' .

Merk: For å se eller redigere filen må vi bruke sudo-kommandoen. For å redigere filen, foreslås det å bruke 'visudo'-kommandoen.

Sudo-kommandoen krever som standard at brukere bekrefter seg selv sammen med et passord som er passordet til brukeren, ikke et root-passord i seg selv.

Syntaks for sudo-kommandoen

Syntaksen til sudo-kommandoen er nevnt nedenfor:

 sudo OPTION... COMMAND 

Alternativ i sudo kommando

Noen av de viktige alternativene i sudo-kommandoen er forklart nedenfor:

1. -I: Det står for versjon . Dette alternativet aktiverer sudo-kommandoen for å skrive ut nummeret på versjonen og avslutte. Alternativet -V ville skrive ut standard sudo-listepause ble observert hvis den forespørrende brukeren allerede er roten.

Linux sudo

2. -l: Det står for liste . Dette alternativet vil hjelpe til med å skrive ut de forskjellige kommandoene som er tillatt brukeren over den gjeldende verten.

Det viser at den nåværende brukeren kan bruke hver kommando som sudo.

sammenføyninger og sammenføyningstyper
Linux sudo

3. -h eller -help: H-en står for hjelp i dette alternativet. Dette alternativet aktiverer sudo-kommandoen for å skrive ut en melding om bruk og avslutning.

Linux sudo

4. -i: Det står for validere . Hvis sudo-kommandoen vil oppdatere tidsstemplet til brukeren, vil valideren be om passordet til brukeren om nødvendig. Den forlenger sudo-kommandoens tidsavbrudd i de andre 5 minuttene, men utfører ikke en kommando. Det gir ikke noe resultat.

5. -k: Det står for drepe . Dette alternativet ugyldiggjør tidsstemplet til brukeren til sudo. Derfor vil det være nødvendig med et passord neste gang sudo-kommandoen utføres. Alternativet -k trenger ikke noe passord, og det ble inkludert for å la brukerne tilbakekalle tillatelsene til sudo-kommandoen gjennom .Logg ut fil.

6. -b: Det står for bakgrunn . Dette alternativet informerer sudo-kommandoen om å utføre de angitte kommandoene i bakgrunnen.

Merk: Hvis vi bruker dette alternativet, kan vi ikke bruke shell-jobbkontroll for å manipulere prosessen.

Linux sudo

7. -K: Dette alternativet er det samme som alternativet -k. Det står imidlertid for sikkert drepe . Dette alternativet brukes for å fjerne tidsstemplet til brukeren helt. Den trenger heller ikke noe passord.

8 poeng: Det står for ledetekst . Dette alternativet tillater oss å overstyre passordforespørselen (standard) og bruke en egendefinert. Noen få prosent rømming er tillatt, som er som følger:

  • %u er utviklet til påloggingsnavnet til brukeren som påkaller.
  • %U er utviklet til brukerens påloggingsnavn
  • %h er utviklet til vertsnavnet (lokalt) uten noe navn på domenet.
  • %H er utviklet til vertsnavnet (lokalt) med navnet på domenet (bare når vertsnavnet til maskinen er fullstendig kvalifisert)
  • %% (to påfølgende tegn) kan deles inn i et individuelt %-tegn.
Linux sudo

9. -n: Dette alternativet vil kjøre kommandoen uten å spørre om passordet. Det er veldig nyttig hvis vi ønsker å utføre noen få kommandoer som bakgrunnsoppgaver (eller inne i shell-skriptet), der vi ikke ønsker sudo-kommandoen for å spørre om passordet. Dette alternativet er forkortelse for ikke-interaktiv.

konverter char til int java

10. -i: Det står for bruker . Dette alternativet gjør det mulig for sudo-kommandoen å utføre de beskrevne kommandoene andre enn roten som bruker. For å spesifisere en uid i stedet for brukernavnet, kan vi bruke #uid .

11. -H: Det står for HJEM . Dette alternativet kan angi en HOME miljøvariabel til vår hjemmekatalog av rotbrukeren som beskrevet i passwd-filen. Sudo-kommandoen endrer som standard ikke HOME.

12. -s: Det står for skall . Dette alternativet utfører skallet beskrevet gjennom a SHELL miljøvariabel når den er satt eller dette skallet som beskrevet inne i passwd fil.

13. -S: Det står for stdin . Dette alternativet aktiverer sudo-kommandoen for å lese passordet gjennom standardinndata i stedet for terminalenheten.

14. -: Dette alternativet illustrerer at sudo-kommandoen må slutte å behandle argumentene til kommandolinjen. Det er mest nyttig i forbindelse med et -s-flagg.

15. -a: Det står for autentiseringstype . Dette alternativet aktiverer sudo-kommandoen for å bruke den beskrevne autentiseringstypen ved validering av en bruker, som tillatt av /etc/login/.config .

Administratoren av systemet kan beskrive listen over metoder for sudo-spesifikk autentisering ved å inkludere 'auto-sudo' inngang inne i /etc/login/.config .

Linux sudo

Miljøvariabler i sudo Command

Følgende er noen av miljøvariablene som brukes av sudo-kommandoen:

Ja Nei. stikkord Beskrivelse
1. REDAKTØR Det er en standardredigerer som kan brukes i -e-modusen (sudoedit) når VISUAL ikke er fikset.
2. HJEM Den vil settes til hjemmekatalogen til brukeren (målet) i -H eller -s-modus (eller når sudo-kommandoen ble dannet med alternativet, dvs. -enable-shell-sets-home).
3. STI Den settes til fornuftig verdi når alternativet, dvs. secure_path sudoers er løst.
4. SKALL Den kan brukes til å bestemme skallet som skal utføres med -s-alternativet.
5. SUDO_COMMAND Den stiller til en kommando utført av sudo-kommandoen.
6. SUDO_PROMPT Den kan brukes som en passordforespørsel (standard).
7. SUDO_USER Den stiller til brukerens pålogging som ber om sudo-kommandoen.
8. SUDO_UID Den stiller til brukerens uid som ber om sudo-kommandoen.
9. SUDO_GID Den stiller til brukerens gid som ber om sudo-kommandoen.
10. SOUTH_PS1 PS1 vil bli fastsatt til verdien hvis den er satt.
elleve. BRUKER Den settes til brukeren (root med mindre alternativet, dvs. -u er beskrevet).
12. VISUELL Det er en standard editor og bruker inne -e-modus (sudoedit).

Historien om sudo-kommandoen

Cliff Spencer og Robert Coggeshall skrev selve delsystemet i 1980 ved SUNY/Buffalo ved Institutt for informatikk. Robert Coggeshall tok med seg sudo til University of Colorado Boulder. I hovedsak ble funksjonene og koden endret av IT-medlemmene ved College of Engineering og University of Colorado Boulder Computer Science Department og anvendt vitenskap med Todd C. Miller mellom 1986-1993.

Offentlig har den siste versjonen blitt administrert siden 1994 av Todd .C Miller (OpenBSD-utvikler) og har blitt delt siden 1999 på ISC-lignende lisens.

Thomas Claburn karakteriserte slike usikkerhetsmomenter som overdreven i november 2009 som svar på det som Microsoft hadde privilegium sudo. Påstandene var smalt innrammet til en spesifikk GUI i stedet for sudo-tilnærmingen.

java skanner klasse

Design av sudo-kommandoen

Brukere kan oppgi passordet sitt til sudo når det er nødvendig i stedet for en superbruker, i motsetning til su-kommandoen. Den tillater tilgjengelige brukere å utøve kvalifiserte privilegier uten å håndtere hemmelighold av passordet til den andre kontoen.

  • Når konfigurasjonsfilen gir brukeren tilgang, etter autentisering ber systemet om den påståtte kommandoen.
  • Sudo-kommandoen beholdt påkallingsrettighetene til brukeren med en frist (vanligvis 5 minutter) per pseudoterminal, og den tillater brukeren å utføre forskjellige påfølgende kommandoer som den påståtte brukeren uten å måtte gi noe passord igjen.
  • Sudo-kommandoen kan være konfigurert for å logge hver kommando som kjøres som en revisjons- og sikkerhetsfunksjon.
  • På det tidspunktet, en bruker skudd for å påkalle sudo-kommandoen uten å være oppført i konfigurasjonsfilen, blir en unntaksillustrasjon presentert for den brukeren som forteller at skuddet er tatt opp.
  • En oppføring vil bli lagret inne i systemet og root-brukeren vil bli informert via e-post.

Konfigurasjon av sudo-kommandoen

De /etc/sudoers filen inkluderer brukergruppene eller listen over brukere med tillatelse til å kjøre et sett med kommandoer mens den inneholder rettighetene til en rotbruker eller annen oppført bruker. Programmet kan være konfigurert til å trenge et passord.

heltall til streng java

Virkningen av sudo-kommandoen

I noen få systemdistribusjoner har sudo-kommandoen erstattet bruken (standard) av en annen pålogging til superbrukeren for ulike administrative operasjoner, viktigst av alt i noen få Apples macOS- så vel som Linux-distribusjoner.

Det forhindrer noen få utnyttelser og tillater også mer beskyttet logging av admin-kommandoene.

RBAC

Sudo-kommandoen kan brukes for transitt mellom ulike typer roller innenfor den rollebaserte tilgangskontrollen i samarbeid med SELinux.

Lignende programmer og verktøy

Visudo er et verktøy på kommandolinjen som tillater redigering av konfigurasjonsfilen til sudo på en feilsikker måte. Den utfører syntaks- og fornuftskontroller og forhindrer også mer enn én samtidig redigering sammen med låser.

Runas-programmet legger til rette for samme ytelse i Microsoft Windows; den kan imidlertid ikke sende gjeldende lange kommandolinjer til et barn, miljøvariabler eller kataloger.

Den støtter ikke generell høyde, mens den hjelper til med å henrette barnet som enhver annen bruker. For Windows legges en ekte sudo og su som kan overføre hver av disse tilstandsdetaljene og starte barnet som en annen bruker eller forhøyet med Hamilton C-skall .

GUI er tilgjengelig for sudo ( gksudo spesielt), men det er avviklet i Debian og heller ikke lenger i Ubuntu. Ulike andre typer brukergrensesnitt er ikke designet på sudo direkte, men legger til rette for samme rettighetsheving (midlertidig) for administrative mål som Autorisasjonstjenester for Mac OS X, brukerkontokontroll i Microsoft Windows , og pkexec inne i Unix-lignende operativsystemer .

Siden 5.8-versjonen av OpenBSD (oktober 2015), donere er tilgjengelig. Det er spesifisert for å erstatte sudo-kommandoen inne i basissystemet til OpenBSD.

hans vs. sudo

Hvis vi er vant til et mer klassisk Linux-oppsett, er vi vant til å bruke su-kommandoen for å få root-privilegier. Vi kan også gi su-kommandoen for å effektivt logge på som roten (hjemmet til roten blir vårt hjem).

java understreng inneholder

Ved å bruke denne typen distribusjoner kan vi også logge inn som rutebruker. Men det er ikke en god idé å logge på som root-bruker. Hvis vi bruker en distribusjon som avhenger av su-kommandoen og tillater root-brukerpålogging, logg inn som vår standardbruker og su-kommandoen til root-brukeren.

Mest sannsynlig vil vi legge merke til at vi ikke kan logge på som root-bruker ved å bruke sudo-baserte distribusjoner. Faktisk, i noen distribusjoner som Ubuntu, har kontoen til root-brukeren blitt deaktivert.

Vi kan ikke logge inn som en root-bruker og bruke su-kommandoen for å bli en root-bruker. Vi kan gjøre er å utstede disse kommandoene ved å bruke sudo-kommandoen for å få administrative privilegier.

Bruk av sudo-kommando

Det er to forskjellige måter å kjøre administrative applikasjoner på med Linux. Enten kan vi endre superbruker eller root-bruker ved å bruke su-kommandoen, eller vi kan dra nytte av sudo-kommandoen.

Når vi bruker tiden vår på terminalen, er sudo en av de viktige kommandoene vi vil bruke ganske ofte. Å bruke sudo-kommandoen i stedet for å logge på som root-bruker er mer beskyttet fordi vi bare kan gi noen få administrative privilegier til en enkelt bruker uten hans/hennes kunnskap om root-passordet.

Hvordan vi implementerer det avhenger av hvilken distro vi bruker. Noen få distribusjoner lar rotbrukeren (som OpenSUSE, Red Hat , eller Fedora ), mens noen få ikke gjør det (liker Debian og Ubuntu ).

Å bruke sudo-kommandoen er enkel i sin helt grunnleggende form. For eksempel må vi kjøre dpkg for å installere en programvaredel. Hvis vi bare kjører dpkg -i software.deb kommando som standardbruker vil vi få en feilmelding om at brukeren ikke har tillatelser til å kjøre kommandoen.

Det er grunnen til at standardbrukere som standard ikke kan installere ulike applikasjoner over en Linux-maskin. Hvis vi vil installere en applikasjon på Linux-maskinen, må vi ha rettighetene til en superbruker.

Vi vil i stedet kjøre sudo dpkg -i software.deb kommando slik at vi kan utføre installasjonen vellykket.

Installerer sudo-kommandoen

Pakken med sudo-kommando er forhåndsinstallert over de fleste Linux-distribusjoner. For å bekrefte at pakken er installert på systemet vårt, må trinnene nedenfor følges:

  • Først av alt, åpne opp terminalen vår.
  • Skriv sudo og klikk på enter-knappen.
  • Hvis vi har sudo-pakken installert på systemet vårt, vil det vise en kort melding.
  • Ellers vil vi varsle med en melding, dvs. sudo-kommandoen ble ikke funnet.
  • Hvis pakken ikke er installert, kan vi enkelt installere denne pakken ved å bruke pakkebehandlingen for overdistribusjon.

Installer Sudo på Fedora og CentOS

 $ yum install sudo 

Installer Sudo på Debian og Ubuntu

 $ apt install sudo 

Linux sudo

Kommando for oppdatering av sudo

Linux sudo