Linux 101: Introduksjon til sudo

Det er to måter å kjøre administrative programmer i Linux. Du kan enten bytte til superbruker (root) med su kommandoen, eller du kan dra nytte av sudo. Hvordan du gjør dette vil avhenge av hvilken distribusjon du bruker. Noen distribusjoner aktivere root brukeren (som Fedora, Red Hat, opensuse), mens noen ikke (for eksempel Ubuntu og Debian). Det er fordeler og ulemper for hver

Sudo står for enten ". Innbytter bruker gjøre " eller " superbruker gjøre " (avhengig av hvor du ønsker å se på det). Hva sudo gjør er utrolig viktig og avgjørende for mange Linux-distribusjoner. Effektivt, sudo lar brukeren kjøre et program som en annen bruker (oftest root bruker). Det er mange som tror sudo er den beste måten å oppnå " best practice sikkerhet " på Linux. Det er noen, men det føles helt motsatt. Uavhengig av hvor du står, og hva distribusjon du bruker i øyeblikket, vil det komme en tid når du blir nødt til å dra nytte av sudo. Enten du trenger å bare bruke sudo eller du er nødt til å konfigurere sudo vil du ønsker å vite ins og outs av dette kraftige verktøyet.

I denne artikkelen skal jeg introdusere deg til sudo ... en liten historie, en liten nytte, og litt konfigurering. Til slutt bør du føle deg som hjemme med sudo som du gjør med su.

Tidligere sudo

Sudo funnet sin begynnelse i 1980 ved Institutt for informatikk SUNY /Buffalo (opprettet av Bob Coggeshall og Cliff Spencer). Siden det er første begynnelsen har sudo vært gjentok mange tid (legge til nye funksjoner og endre utviklere). På ett punkt, rundt 1994, sudo ble utviklet av Todd Miller ved Colorado-universitetet i Boulder, CO og en uoffisiell " gaffel " av sudo ble utgitt kalt " CU sudo ". Dette " gaffel " lagt til støtte for flere distribusjoner samt en rekke feilrettinger. Dette " CU " prefiks var endelig droppet i 1999, og hva som var " CU sudo " Nå er den versjonen av sudo vi bruker i dag. Den opprinnelige sudo har ikke hatt en utgivelse siden 1991. Så det " gaffel " won og er fortsatt utviklet av Todd Miller.

Nå som du har hatt litt av en historietime, la oss ta en titt og se hvordan sudo brukes.

Forskjellen mellom sudo og su

Hvis du er vant til en mer tradisjonell Linux oppsett, så du er vant til å bruke su kommandoen for å få root-tilgang. Du kan også gi kommandoen su - for effektivt å logge inn som root (root hjem blir ditt hjem). Med disse typer distribusjoner kan du også logge inn som root-bruker. For mange (inkludert meg selv) dette er en dårlig idé. ALDRI logge inn som root-bruker. Hvis du bruker en fordeling som er avhengig av su og lar root brukeren logger inn, kan du logge deg på som din standard bruker og su til root brukeren.

Nå med sudo-baserte distribusjoner vil du mest sannsynlig legge merke til at du kan ikke logge inn som root-bruker. Faktisk, i distribusjoner som Ubuntu har rot brukerkonto vært " deaktivert. &Quot; Du kan ikke logge inn som root, og du kan ikke su å bli root brukeren. Alt du kan gjøre er å gi kommandoer ved hjelp av sudo for å oppnå administrative rettigheter.

Bruk

Ved hjelp av sudo, i sin mest grunnleggende form, er enkel. Si at du må kjøre dpkg
å installere et stykke programvare. Hvis, som din standardbruker, du bare gi kommandoen dpkg -i software.deb
vil du få en feilmelding som varsler deg om at brukeren ikke har rettigheter til å utføre kommandoen. Det er fordi standardbrukere, som standard, kan ikke installere programmer på en Linux-maskin. For å kunne installere et program på en Linux-maskin må du ha superbrukerrettigheter. Så, for å endre den kommandoen, slik at du kan lykkes kjøre installasjonen, ville du i stedet gi kommandoen sudo dpkg -i software.deb.

Konfigurasjons

La oss nå ta en titt på konfigurasjonen av sudo. Jeg vil gi deg en liten advarsel: Hvis du mis-konfigurere din /etc /sudoers fil, du kan skade installasjonen din (slik at du er nødt til å logge boot i redningsmodus). Sudo er veldig spesielt om syntaks i konfigurasjonsfilen. Så alltid dobbeltsjekke dine konfigurasjoner før du lagrer filen. Heldigvis er det bare en fil du trenger å bekymre deg med, og som er /etc /sudoers. Du kan legge merke til at selv for å se /etc /sudoers fil du må bruke sudo kommandoen. Denne filen vil virke veldig enkelt ... det er når du forstår layout og funksjon

For å gjøre endringer i sudo konfigurasjonsfilen du trenger å bruke en bestemt kommando -. Sudo visudo. Når du åpner opp denne filen vil du legge merke til at sudoers filen er ganske liten i størrelse. Det er virkelig ikke mye til det, men hva det er til det er nøkkelen. . La oss ta en titt på hvordan du legger til en bruker i sudoers filen

Den grunnleggende oppføring for en bruker ser slik ut:

user hostlist = (aksessliste) commandlist Anmeldelser

Vanligvis vil du finne en oppføring som denne:

root ALL = (ALL) ALL

Som indikerer at brukeren root på alle verter hjelp alle brukere kan kjøre alle kommandoer. Ganske rett fram. Men la oss si at du ønsker å tillate en enkelt bruker tilgang til en administrativ lede uten å angi et passord. La oss bruke kommandoen dpkg (ikke lurt, men en enkel måte å illustrasjon) og lar brukeren mary å utstede disse kommandoene uten å utstede et passord. For å gjøre dette vil du legge til en linje som ligner på dette:

mary ALL = NOPASSWD: /usr /sbin /synaptic

til /etc /sudoers fil. Nå brukeren mary kan kjøre synaptiske ved å skrive sudo synaptic
men vil ikke bli spurt om passord. Dette er nyttig på en enbruker-system, men bør brukes med forsiktighet. Du ønsker ikke å tillate bare en kommando som skal kjøres sans passord, eller du åpner deg for alle slags sårbarheter.

Nå, la oss si at du ønsker å forhindre at noen brukere fra å bruke sudo. Du kan gjøre dette også. Hvis du har en bruker som er å være administrator av en maskin, sier Betania, og alle andre brukere skal være bruk uten administratorrettigheter, kan du gjøre dette et par måter. Den første (og mindre ønskelig metoden) er å gjøre følgende:

Legg til en oppføring for Bethany som så:

Bethany ALL = (ALL) ALL

Og nå kommentere ut oppføring:

% admin ALL = (ALL) ALL

ved å legge til en " # " tegn på begynnelsen av linjen.

På dette punktet den eneste brukeren på systemet som vil være i stand til å kjøre administrative kommandoer er Betania. Nå kan dette føre til problemer hvis du har visse programmer som må kjøres med administratorrettigheter, og får lov til slike privilegier ved å være medlem av admin-gruppen. Du kan unngå dette problemet ved å åpne opp Brukere administrative verktøyet og fjerne alle brukere, bortsett fra de du ønsker å få lov til å ha admin rettigheter fra admin-gruppen. La oss holde fast med vårt eksempel. Du vil at alle andre enn Bethany brukere å ha begrenset tilgang til å kjøre administrative kommandoer og verktøy. For å gjøre dette, gjør du følgende:..


    Åpne opp bruker administrator

    Gå til Grupper leder

    Velg admin gruppen.

    Klikk egenskaper.

    kryssene alle brukere, men Bethany fra listen.


    Lukk Grupper leder og bruker administrator.

    Nå bare brukeren Bethany vil ha administratorrettigheter på maskinen.

    Final Tanker

    Selv om dette har stort sett vært en innledende titt på sudo, bør du ha en god forståelse av hvordan dette verktøyet fungerer og hvor kraftig den er. For ytterligere lesing på sudo, utstede kommandoen man sudo, som vil åpne opp manualen side for sudo kommandoen. Bare husk, vær forsiktig når du redigerer /etc /sudoers fil eller du kan ende opp med å måtte starte på nytt i redningsmodus for å spare systemet.