8 sätt att tweak och konfigurera Sudo på Ubuntu
Som de flesta saker på Linux är sudo-kommandot mycket konfigurerbart. Du kan få sudo att köra specifika kommandon utan att fråga om ett lösenord, begränsa specifika användare till bara godkända kommandon, loggkommandon som 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 oavsiktligt 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. Eventuella ytterligare användarkonton du skapar efter installationen kan vara antingen Administratör eller Standard användarkonton - Standardanvändarkonton har inte sudo-behörigheter.
Du kan styra användarkontotyper grafiskt från Ubuntus användarkontonverktyg. För att öppna den, klicka på ditt användarnamn på panelen och välj Användarkonton eller sök efter Användarkonton i bindestreck.
Gör Sudo Glömt ditt lösenord
Som standard kommer sudo att komma ihåg ditt lösenord i 15 minuter efter att du har skrivit det. Det är därför du bara måste skriva ditt lösenord en gång när du utför flera kommandon med sudo i snabb följd. Om du ska låta någon annan använda din dator och du vill att sudo ska be om lösenordet när det körs nästa, kör följande kommando och sudo kommer glömma 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 personer regelbundet har tillgång till din dator - kan du inaktivera det fullständiga lösenordet.
Den här inställningen, som andra sudo-inställningar, finns i filen / etc / sudoers. Kör visudo-kommandot i en terminal för att öppna filen för redigering:
sudo visudo
Trots sitt namn, gäller det här kommandot till den nyanvändarvänliga nano-redaktören istället för den traditionella vi-redaktören på Ubuntu.
Lägg till följande rad under de övriga standardinställningarna i filen:
Standard timestamp_timeout = 0
Tryck 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ösenordstidsavbrott
För att ange ett annat lösenordsavbrott - 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. Numret motsvarar antalet minuter sudo kommer komma ihåg ditt lösenord för. För att få sudo att komma ihåg ditt lösenord i 5 minuter lägger du till följande rad:
Standard timestamp_timeout = 5
Be aldrig om ett lösenord
Du kan också ha sudo aldrig be om ett lösenord - så länge du är inloggad kommer varje kommando du prefix med sudo att köras med root behörigheter. För att göra detta lägger du till följande rad i din sudoers-fil, där användarnamnet är ditt användarnamn:
användarnamn ALL = (ALL) NOPASSWD: ALL
Du kan också ändra% sudo-raden - det vill säga den linje som tillåter alla användare i sudo-gruppen (även känd som administratörs användare) att använda sudo - för att alla administratörs anvä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 du kör med sudo. Istället för att använda "ALL" efter NOPASSWD ovan, ange platsen för kommandon. Till exempel kan följande rad låta ditt användarkonto köra kommandona apt-get och shutdown utan ett 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.
Låt en användare bara köra enbart kommandon
Medan du kan svarta lista specifika kommandon och förhindra att användare kör dem med sudo, är detta 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. Till exempel kan du ge ett tillstånd för standardanvändarkonto för att kunna använda kommandona apt-get och shutdown, men inte mer. För att göra så 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 kommer att berätta vad kommandon användaren kan köra med sudo:
sudo -U standardanvändare -l
Logging Sudo Access
Du kan logga in all sudo-åtkomst genom att lägga till följande rad. / var / log / sudo är bara ett exempel; Du kan använda vilken loggfil plats du vill.
Standard loggfil = / var / log / sudo
Visa innehållet i loggfilen med ett kommando som den här:
sudo katt / 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 root prompt med sudo och kör kommandon som inte skulle loggas. Loggfunktionen är mest användbar när den är kopplad till användarkonton som har begränsat åtkomst till en delmängd av systemkommandon.