Som de fleste ting på Linux, er sudo-kommandoen veldig konfigurerbar. Du kan la sudo kjøre bestemte kommandoer uten å be om passord, begrense spesifikke brukere til bare godkjente kommandoer, loggkommandoer kjøres med sudo og mer.
Oppførselen til sudo-kommandoen styres av filen / etc / sudoers på systemet ditt. Denne kommandoen må redigeres med visudo-kommandoen, som utfører syntakskontroll for å sikre at du ikke ved et uhell ødelegger filen.
Spesifiser brukere med Sudo-tillatelser
Brukerkontoen du oppretter mens du installerer Ubuntu, er merket som en administratorkonto, noe som betyr at den kan bruke sudo. Eventuelle ekstra brukerkontoer du oppretter etter installasjon, kan være enten administrator- eller standardbrukerkontoer - standardbrukerkontoer har ikke sudo-tillatelser.
Du kan kontrollere brukerkontotyper grafisk fra Ubuntus verktøy for brukerkontoer. For å åpne det, klikk brukernavnet ditt på panelet og velg Brukerkontoer eller søk etter Brukerkontoer i bindestrek.
Få Sudo til å glemme passordet ditt
Som standard husker sudo passordet ditt i 15 minutter etter at du har skrevet det. Dette er grunnen til at du bare trenger å skrive inn passordet ditt en gang når du utfører flere kommandoer med sudo raskt etter hverandre. Hvis du er i ferd med å la noen andre bruke datamaskinen din, og du vil at sudo skal be om passordet når det kjøres neste gang, utfører du følgende kommando, og sudo vil glemme passordet ditt:
sudo –k
Be alltid om passord
Hvis du heller vil bli bedt om hver gang du bruker sudo - for eksempel hvis andre mennesker regelmessig har tilgang til datamaskinen din - kan du deaktivere passordminneoppførselen helt.
Denne innstillingen, som andre sudo-innstillinger, er inkludert i / etc / sudoers-filen. Kjør visudo-kommandoen i en terminal for å åpne filen for redigering:
sudo visudo
Til tross for navnet er denne kommandoen som standard den nye brukervennlige nano-redigereren i stedet for den tradisjonelle vi-redigereren på Ubuntu.
Legg til følgende linje under de andre standardlinjene i filen:
Standardverdier timestamp_timeout = 0
Trykk Ctrl + O for å lagre filen, og trykk deretter Ctrl + X for å lukke Nano. Sudo vil nå alltid be deg om passord.
Endre passordtidsavbrudd
For å angi en annen passordtidsavbrudd - enten en lengre som 30 minutter eller en kortere som 5 minutter - følg trinnene ovenfor, men bruk en annen verdi for tidsstempel_tidsavbrudd. Antallet tilsvarer antall minutter sudo vil huske passordet ditt for. For å få sudo til å huske passordet ditt i 5 minutter, legg til følgende linje:
Standardverdier timestamp_timeout = 5
Be aldri om passord
Du kan også la sudo aldri be om passord - så lenge du er logget inn, vil alle kommandoer du prefikser med sudo kjøre med rottillatelser. For å gjøre dette, legg til følgende linje i sudoers-filen, der brukernavnet er brukernavnet ditt:
brukernavn ALL = (ALL) NOPASSWD: ALL
Du kan også endre% sudo-linjen - det vil si linjen som lar alle brukere i sudo-gruppen (også kjent som Administrator-brukere) bruke sudo - for at alle Administrator-brukere ikke trenger passord:
% sudo ALL = (ALL: ALL) NOPASSWD: ALL
Kjør spesifikke kommandoer uten passord
Du kan også spesifisere spesifikke kommandoer som aldri vil kreve passord når de kjøres med sudo. I stedet for å bruke “ALL” etter NOPASSWD ovenfor, spesifiser plasseringen av kommandoene. For eksempel vil følgende linje tillate at brukerkontoen din kjører apt-get og shutdown-kommandoene uten passord.
brukernavn ALL = (ALL) NOPASSWD: / usr / bin / apt-get, / sbin / shutdown
Dette kan være spesielt nyttig når du kjører spesifikke kommandoer med sudo i et skript.
Tillat en bruker å kjøre bare spesifikke kommandoer
Mens du kan svarteliste spesifikke kommandoer og forhindre brukere å kjøre dem med sudo, er dette ikke veldig effektivt. For eksempel kan du spesifisere at en brukerkonto ikke kan kjøre shutdown-kommandoen med sudo. Men den brukerkontoen kan kjøre cp-kommandoen med sudo, lage en kopi av avslutningskommandoen og slå av systemet ved hjelp av kopien.
En mer effektiv måte er å godkjenne spesifikke kommandoer. For eksempel kan du gi en standard brukerkonto tillatelse til å bruke kommandoene apt-get og shutdown, men ikke mer. For å gjøre det, legg til følgende linje, der standardbruker er brukerens brukernavn:
standardbruker ALL = / usr / bin / apt-get, / sbin / shutdown
Følgende kommando vil fortelle oss hvilke kommandoer brukeren kan kjøre med sudo:
sudo -U standardbruker –l
Logging av Sudo Access
Du kan logge all sudo-tilgang ved å legge til følgende linje. / var / log / sudo er bare et eksempel; du kan bruke hvilken som helst loggfilplassering du vil.
Defaults logfile=/var/log/sudo
Vis innholdet i loggfilen med en kommando som denne:
sudo cat / var / log / sudo
Husk at hvis en bruker har ubegrenset sudotilgang, har brukeren muligheten til å slette eller endre innholdet i denne filen. En bruker kan også få tilgang til en root-ledetekst med sudo og kjøre kommandoer som ikke vil logges. Loggfunksjonen er mest nyttig når den kombineres med brukerkontoer som har begrenset tilgang til et delsett av systemkommandoer.