Som de flesta saker på Linux är sudo-kommandot mycket konfigurerbart. Du kan låta sudo köra specifika kommandon utan att be om ett lösenord, begränsa specifika användare till endast godkända kommandon, loggkommandon körs med sudo och mer.
Sudo-kommandot beteende styrs av filen / etc / sudoers på ditt system. Detta kommando måste redigeras med visudo-kommandot, som utför syntaxkontroll för att säkerställa att du inte av misstag bryter filen.
Ange användare med Sudo-behörigheter
Användarkontot du skapar när du installerar Ubuntu är markerat som ett administratörskonto, vilket innebär att det kan använda sudo. Alla ytterligare användarkonton som du skapar efter installationen kan vara antingen administratörs- eller standardanvändarkonton - Standardanvändarkonton har inte sudotillstånd.
Du kan styra användarkontotyper grafiskt från Ubuntus verktyg för användarkonton. För att öppna det, klicka på ditt användarnamn på panelen och välj Användarkonton eller sök efter Användarkonton i strecket.
Gör Sudo Glöm ditt lösenord
Som standard kommer sudo ihåg ditt lösenord i 15 minuter efter att du har skrivit det. Det är därför du bara behöver skriva ditt lösenord en gång när du kör flera kommandon med sudo i snabb följd. Om du ska låta någon annan använda din dator och vill att sudo ska be om lösenordet när det körs nästa kör du följande kommando och sudo glömmer ditt lösenord:
sudo –k
Be alltid om ett lösenord
Om du hellre vill bli uppmanad varje gång du använder sudo - till exempel om andra människor regelbundet har tillgång till din dator - kan du inaktivera lösenordsminnet helt.
Den här inställningen finns, liksom andra sudo-inställningar, i filen / etc / sudoers. Kör visudo-kommandot i en terminal för att öppna filen för redigering:
sudo visudo
Trots sitt namn är det här kommandot som standard den nya användarvänliga nano-redigeraren istället för den traditionella vi-redigeraren på Ubuntu.
Lägg till följande rad under de andra standardlinjerna i filen:
Standardvärden timestamp_timeout = 0
Tryck på Ctrl + O för att spara filen och tryck sedan på Ctrl + X för att stänga Nano. Sudo kommer nu alltid att be dig om ett lösenord.
Ändra lösenordets timeout
För att ställa in en annan lösenordstimeout - antingen en längre som 30 minuter eller en kortare som 5 minuter - följ stegen ovan men använd ett annat värde för tidsstämpel_timeout. Antalet motsvarar antalet minuter som sudo kommer ihåg ditt lösenord för. För att sudo kommer ihåg ditt lösenord i 5 minuter, lägg till följande rad:
Standardvärden timestamp_timeout = 5
Be aldrig om ett lösenord
Du kan också låta sudo aldrig be om ett lösenord - så länge du är inloggad körs alla kommandon som du prefixar med sudo med rootbehörigheter. För att göra detta, lägg till följande rad i din sudoers-fil, där användarnamn är ditt användarnamn:
användarnamn ALL = (ALL) NOPASSWD: ALL
Du kan också ändra% sudo-raden - det vill säga raden som tillåter alla användare i sudo-gruppen (även känd som administratörsanvändare) att använda sudo - så att alla administratörsanvändare inte behöver lösenord:
% sudo ALL = (ALL: ALL) NOPASSWD: ALL
Kör specifika kommandon utan lösenord
Du kan också ange specifika kommandon som aldrig kräver ett lösenord när de körs med sudo. I stället för att använda “ALL” efter NOPASSWD ovan, ange kommandona. Följande rad till exempel tillåter ditt användarkonto att köra kommandona apt-get och shutdown utan lösenord.
användarnamn ALL = (ALL) NOPASSWD: / usr / bin / apt-get, / sbin / shutdown
Detta kan vara särskilt användbart när du kör specifika kommandon med sudo i ett skript.
Tillåt en användare att köra endast specifika kommandon
Även om du kan svartlista specifika kommandon och hindra användare från att köra dem med sudo är det inte särskilt effektivt. Du kan till exempel ange att ett användarkonto inte kan köra avstängningskommandot med sudo. Men det användarkontot kan köra kommandot cp med sudo, skapa en kopia av avstängningskommandot och stänga av systemet med kopian.
Ett mer effektivt sätt är att vitlista specifika kommandon. Du kan till exempel ge ett standardanvändarkonto behörighet att använda kommandona apt-get och shutdown, men inte mer. För att göra det, lägg till följande rad, där standardanvändaren är användarens användarnamn:
standardanvändare ALL = / usr / bin / apt-get, / sbin / shutdown
Följande kommando berättar vilka kommandon användaren kan köra med sudo:
sudo -U standardanvändare –l
Logga Sudo Access
Du kan logga all sudo-åtkomst genom att lägga till följande rad. / var / log / sudo är bara ett exempel; du kan använda valfri loggplats.
Defaults logfile=/var/log/sudo
Visa innehållet i loggfilen med ett kommando som det här:
sudo cat /var/log/sudo
Tänk på att, om en användare har obegränsad sudo-åtkomst, har den användaren möjlighet att radera eller ändra innehållet i den här filen. En användare kan också komma åt en rotprompt med sudo- och körkommandon som inte skulle loggas. Loggningsfunktionen är mest användbar när den kopplas till användarkonton som har begränsad åtkomst till en delmängd av systemkommandon.