Sudo-kommandoen er kontrollert av filen / etc / sudoers på systemet. Denne kommandoen må redigeres med visudo-kommandoen, som utfører syntakskontroll for å sikre at du ikke ved et uhell ødelegger filen.
Angi brukere med Sudo-tillatelser
Brukerkontoen du oppretter mens du installerer Ubuntu, er merket som en administratorkonto, som betyr at den kan bruke sudo. Eventuelle ekstra brukerkontoer du oppretter etter installasjon kan enten være Administrator eller Standard brukerkontoer. Standardbrukerkontoer har ikke sudo-tillatelser.
Du kan styre brukerkonto typer grafisk fra Ubuntu's User Accounts-verktøy. For å åpne den, klikk på brukernavnet ditt på panelet og velg brukerkontoer eller søk etter brukerkontoer i dashbordet.
Gjør Sudo glem ditt passord
Som standard husker sudo passordet ditt i 15 minutter etter at du har skrevet det. Dette er grunnen til at du bare må skrive inn passordet ditt en gang når du utfører flere kommandoer med sudo i rask rekkefølge. Hvis du skal la noen andre bruke datamaskinen, og du vil at sudo skal be om passordet når den kjører neste, kjør følgende kommando, og sudo vil glemme passordet ditt:
sudo –k
Be alltid om et passord
Hvis du helst vil bli bedt om hver gang du bruker sudo - for eksempel hvis andre mennesker regelmessig har tilgang til datamaskinen din - kan du deaktivere passordet som husker atferd helt.
Denne innstillingen, som andre sudo-innstillinger, finnes i filen / etc / sudoers. Kjør visudo-kommandoen i en terminal for å åpne filen for redigering:
sudo visudo
Til tross for sitt navn, gjelder denne kommandoen til den nybrukervennlige nano-editoren i stedet for den tradisjonelle vi-editoren på Ubuntu.
Legg til følgende linje under de andre standardlinjene i filen:
Defaults timestamp_timeout=0
Endre passordtidsavbrudd
For å angi en annen timeout for passord - enten en lengre som 30 minutter eller en kortere som 5 minutter - følg trinnene ovenfor, men bruk en annen verdi for tidsstempel_timeout. Nummeret tilsvarer antall minutter sudo vil huske passordet ditt for. For å få sudo husk passordet ditt i 5 minutter, legg til følgende linje:
Default timestamp_timeout=5
Aldri be om et passord
Du kan også ha sudo aldri be om et passord - så lenge du er logget inn, vil hver kommando du prefiks med sudo løpe med root-tillatelser. For å gjøre dette, legg til følgende linje i sudoers-filen din, der brukernavnet er brukernavnet ditt:
username ALL=(ALL) NOPASSWD: ALL
%sudo ALL=(ALL:ALL) NOPASSWD:ALL
Kjør bestemte kommandoer uten et passord
Du kan også spesifisere spesifikke kommandoer som aldri vil kreve et passord når du kjører med sudo. I stedet for å bruke "ALL" etter NOPASSWD ovenfor, angi plasseringen av kommandoene. For eksempel vil følgende linje tillate at brukerkontoen din kjører apt-get og shutdown-kommandoene uten et passord.
username ALL=(ALL) NOPASSWD: /usr/bin/apt-get,/sbin/shutdown
Dette kan være spesielt nyttig når du kjører bestemte kommandoer med sudo i et skript.
Tillat at en bruker kjører kun bestemte kommandoer
Mens du kan svarteliste bestemte kommandoer og hindre brukere i å kjøre dem med sudo, er dette ikke veldig effektivt. For eksempel kan du angi at en brukerkonto ikke kan kjøre avslutningskommandoen med sudo. Men den brukerkontoen kan kjøre cp-kommandoen med sudo, lage en kopi av shutdown-kommandoen, og slå av systemet ved hjelp av kopien.
En mer effektiv måte er å hviteliste bestemte kommandoer. For eksempel kan du gi en standard brukerkonto tillatelse til å bruke apt-get og shutdown-kommandoene, men ikke mer. For å gjøre det, legg til følgende linje, der standardbrukeren er brukerens brukernavn:
standarduser ALL=/usr/bin/apt-get,/sbin/shutdown
sudo -U standarduser –l
Logging 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 liker.
Defaults logfile=/var/log/sudo
sudo cat /var/log/sudo