Før vi går inn på hvordan man gir brukere sudo-rettigheter i Ubuntu, er det nyttig å forstå hvorfor behovet oppstår. Dette kan for eksempel være når du skal administrere tjenester, installere ny programvare eller oppdatere eksisterende programvare på Ubuntu-systemet. Har du opplevd å få meldingen «Tilgang nektet» når du har prøvd å utføre en kommando i disse situasjonene?
Slike tilfeller krever at kommandoer kjøres som superbruker, også kjent som root. Men av sikkerhetshensyn er dette ikke en ideell løsning. Hvis en bruker tukler med systeminnstillingene som root, kan det føre til alvorlige problemer med systemet.
Ubuntu, en av de mest populære Linux-distribusjonene, tilbyr en funksjon kalt sudo. Denne funksjonen lar brukere utføre kommandoer med utvidede rettigheter uten å måtte logge inn som root.
I denne artikkelen forklarer vi hva sudo-brukere er, hvorfor du kan trenge dem, og hvordan du legger til sudo-brukere i Ubuntu.
Hva er Sudo/Sudoere?
Hvorfor ikke bare bruke kommandoene `su` eller `switch user`? Kommandoen `switch user` lar deg logge inn som root. Når du bruker denne kommandoen, blir du bedt om root-passordet, og deretter kan du gjøre endringer. Det er mulig å legge til ny programvare og filer og gjøre alle ønskede justeringer. Problemet er at du kan glemme å logge ut som root, og en enkel skrivefeil kan føre til at viktige filer eller hele harddisken slettes.
Sudo er en forkortelse for «superbruker gjør». Slike brukere har tillatelse til å utføre kommandoer med forhøyede rettigheter, noe som gir dem muligheten til å installere og oppdatere programvare og endre systeminnstillinger. En sudo-bruker er en bruker med disse rettighetene. Sudo-brukere må alltid skrive inn «sudo» før de utfører en kommando i Ubuntu. Fordelen er at du ikke trenger å logge ut etter at kommandoen er utført.
Hvis det er flere brukere på Ubuntu-systemet ditt, vil ikke alle ha sudo-rettigheter. Den første brukeren som opprettes under installasjonen, vil imidlertid ha sudo-rettigheter som standard. Det er kun brukere som er definert i sudoers-filen eller i sudoers-gruppen som kan utføre sudo-kommandoer.
- Sudoers-filen er en konfigurasjonsfil som bestemmer hvilke brukere som kan bruke sudo, og hvordan.
- Sudoers-gruppen er en spesiell gruppe brukere som har sudo-rettigheter.
Situasjoner der det er nødvendig å gi brukere sudo-tilgang
Det kan være nødvendig å gi enkelte brukere tillatelse til å kjøre sudo-kommandoer på din personlige datamaskin eller en datamaskin på arbeidsplassen. Dette kan være aktuelt hvis:
- Du har et team av administratorer eller utviklere som må utføre oppgaver som krever root-tilgang. De kan for eksempel trenge å installere programvare eller oppdatere systemet.
- Du ønsker å begrense brukernes tilgang til spesifikke filer eller mapper i systemet, og ikke gi dem full tilgang.
- Du har en gjestebruker som trenger root-tilgang for en enkelt oppgave. Dette kan for eksempel være at noen skal installere og konfigurere spesialisert programvare, eller oppdatere systemet.
Viktigheten av å gi sudo-privilegier til brukere
- Forbedre sikkerheten: Det er ikke nødvendig å la brukere logge inn på systemet som root-brukere, noe som kan gjøre systemet sårbart for trusler og feil. Ved å gi sudo-privilegier får de kun tilgang til det de trenger.
- Tilpass tillatelser: Ved å legge til sudo-brukere kan du spesifisere hvilke kommandoer de kan kjøre og når de kan utføre dem. Du kan også bestemme om de trenger passord for å kjøre kommandoer.
- Enkel overvåking: Du kan sjekke filen `/var/log/auth.log` for å se alle kommandoer sudo-brukere utfører på systemet.
Forutsetninger for å legge til en bruker i sudoers-filen
- Brukerkonto med sudo-rettigheter: Du må være logget inn på en konto med sudo-rettigheter for å legge til en bruker i sudoers.
- Brukernavn: Hvis du har flere brukere på systemet, må du vite brukernavnet til den brukeren du skal legge til i sudoers-filen eller gruppen.
- En tekstredigerer: Ubuntu bruker Nano som standardredigerer, men du kan velge å bruke en annen.
Legg til en bruker i sudoers-filen
Det er flere måter å legge til brukere i sudoers-filen på. Før vi gjør dette, må vi opprette en ny bruker.
Jeg vil nå opprette en ny bruker med navnet «titus». Følg disse stegene:
- Logg inn på en konto med sudo-rettigheter, og kjør følgende kommando: `sudo adduser titus`. Erstatt «titus» med navnet på den brukeren du vil opprette.
- Skriv inn passordet ditt. Kommandolinjen vil be deg om å bekrefte passordet.
- Angi et nytt passord, og bekreft det.
- Følg instruksjonene (du kan bruke standardinnstillingene) og klikk «Y» for å bekrefte all informasjon.
Du har nå opprettet en ny bruker.
Det er to måter å gi sudo-rettigheter til brukere i Ubuntu:
#1: Legg brukeren til sudo-gruppen
Vi kan nå legge til den nye brukeren i sudo-gruppen. Kjør følgende kommando mens du er logget inn som en annen sudo-bruker eller root-bruker:
sudo usermod -aG sudo username
Erstatt «username» med brukernavnet til den brukeren du ønsker å gi sudo-rettigheter. I mitt tilfelle vil kommandoen være:
sudo usermod -aG sudo titus
Den nye brukeren er nå lagt til i sudo-gruppen.
#2: Legg til bruker i Sudoers-filen
Som vi har sett, har et typisk Linux-system som Ubuntu flere brukere. Disse brukerne kan gis forskjellige fil- og mappetillatelser i systemet. Du kan for eksempel gi brukere tillatelse til å lese, skrive eller utføre filer i et Unix-system.
Vi kan definere hvilke brukere som kan bruke sudo og hvordan, ved å gjøre endringer i sudoers-filen. Denne filen finner du i `/etc/sudoers`.
Forutsatt at du allerede har en bruker uten sudo-rettigheter, følger du disse stegene:
- Åpne terminalen.
- Bruk denne kommandoen for å åpne filen:
sudo visudo
Du vil bli bedt om å skrive inn passordet ditt.
- Rediger filen. Etter at kommandoen er kjørt, vil du se noe som dette:
Jeg har en bruker som heter «kamunya» som jeg ønsker å gi alle sudo-rettigheter.
Finn seksjonen som ser slik ut:
# User privilege specification root ALL=(ALL:ALL) ALL
Jeg kan nå legge til en linje som gir «kamunya» alle sudo-rettigheter, slik:
kamunya ALL=(ALL:ALL) ALL
- Lagre og lukk filen. Du kan bruke hurtigtastene: Ctrl+O for å skrive endringene og Ctrl+X for å avslutte.
Du har nå en ny sudo-bruker som du har lagt til via sudoers-filen. Hvis jeg ønsket å gi brukeren min (kamunya) spesifikke rettigheter, som å oppdatere programvare uten å kreve passord, kunne jeg fulgt de samme trinnene, men lagt til denne linjen:
kamunya ALL=(ALL:ALL) NOPASSWD: /usr/bin/apt-get update, /usr/bin/apt-get upgrade
Hvordan sjekke om en bruker har sudo-rettigheter
Du har kanskje utført alle trinnene, men er likevel usikker på om brukerne på systemet ditt er sudo-brukere. Her er noen metoder for å sjekke dette:
Bruk sudo-kommandoen
Jeg vil sjekke om en bruker med navnet «titus» er en sudo-bruker. Kommandoen vil være:
sudo -l -U titus
Erstatt «titus» med brukernavnet til den brukeren du vil sjekke.
Hvis brukeren er en sudo-bruker, vil du se noe som dette:
Hvis brukeren ikke har sudo-rettigheter, vil du sannsynligvis få denne feilmeldingen: «Bruker «brukernavn» har ikke tillatelse til å kjøre sudo på «navnet på din maskin».»
Sjekk sudo-grupper
Når du oppretter en sudo-bruker, tildeler systemet automatisk denne brukeren til en gruppe med samme navn som brukernavnet. Jeg har for eksempel en sudo-bruker som heter «tk». Jeg kan sjekke om denne brukeren tilhører en gruppe med denne kommandoen:
groups tk
Erstatt «tk» med ditt brukernavn.
Du vil se noe som dette:
Slik sletter du en sudo-bruker
Det er flere grunner til at du kanskje vil slette en sudo-bruker. Du kan for eksempel ha gjort feil under konfigurasjonen, eller brukeren du opprettet skulle bare utføre en enkelt oppgave.
Du kan bruke GUI eller kommandolinjen for å slette en bruker fra Ubuntu-systemet. Slik kan du slette en bruker med kommandolinjen:
- Kjør denne kommandoen: `sudo deluser brukernavn`, der du erstatter «brukernavn» med profilen du ønsker å slette. Dette vil fjerne brukeren, men brukerfilene vil forbli.
Jeg har nå fjernet en av brukerne mine (kamunya).
Hvis du også vil fjerne brukerfilene, bruker du kommandoen:
sudo deluser --remove-home username
I mitt tilfelle blir det:
sudo deluser --remove-home kamunya
Beste praksis for å administrere brukere i sudoers-filen
- Bruk visudo-kommandoen: Hvis du velger å legge til sudo-brukere ved å redigere sudoers-filen, bruk alltid visudo-kommandoen. Når du er ferdig, kontroller at det ikke er noen skrivefeil, lagre, og avslutt redigeringsprogrammet.
- Bruk grupper: I stedet for å legge til enkeltbrukere som sudo-brukere hver gang du skal legge til nye brukere, kan du legge dem til en gruppe. Du kan ha forskjellige grupper, som «administratorer» og «utviklere», med forskjellige rettigheter.
- Dokumenter tilgang: Hold oversikt over hvem du har gitt sudo-privilegier til, og hva de kan gjøre. Dette gjør det enklere for nye ansatte å sette seg inn i systemet i tilfelle endringer.
- Overvåk tilgang: Følg med på aktiviteten til de forskjellige brukerne du har lagt til som sudo-brukere. Regelmessig kontroll gir deg muligheten til å slette brukere eller endre rettigheter ved behov.
Konklusjon
Ubuntu er et av de mest brukte operativsystemene blant administratorer og programmerere. Det er viktig at du gir de riktige brukerne de riktige rettighetene når de får tilgang til systemet ditt.
Du forstår nå hva sudo-brukere er og de forskjellige måtene å legge dem til i Ubuntu. Slike brukere trenger ikke lenger å logge inn på systemet med full tilgang, men med begrensede evner som hjelper deg med å få arbeidet gjort.
Du kan også utforske noen kommandoer for å overvåke Linux-ytelsen som systemadministrator.