22Aug
Liksom 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 /etc/ sudoers-filen på ditt system. Detta kommando måste redigeras med visudo-kommandot, som utför syntaxkontroll för att du inte kommer att bryta filen av misstag.
Ange användare med Sudo-behörigheter
Användarkontot du skapar när du installerar Ubuntu är markerat som ett administratörskonto, vilket betyder att det kan använda sudo. Eventuella ytterligare användarkonton du skapar efter installationen kan vara antingen Administratör eller Standard användarkonton - Standard anvä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 kö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 duJag skulle snarare bli uppmanad varje gång du använder sudo - till exempel om andra personer regelbundet har tillgång till din dator - kan du helt och hållet inaktivera lösenordet.
Den här inställningen, liksom andra sudo-inställningar, finns i /etc/ sudoers-filen. 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-redigeraren 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ösenordstidsutgåva
För att ställa in ett annat lösenordsavbrott - antingen längre än 30 minuter eller kortare som 5 minuter - följ stegen ovan men använd ett annat värde för timestamp_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
Begär aldrig ett lösenord
Du kan också ha sudo aldrig be om ett lösenord - så länge du är inloggad, varje kommando duprefix med sudo kommer 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 isudo-gruppen( även känd som administratörs användare) för 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 somkommer aldrig kräva ett lösenord när det körs med sudo. I stä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/-avstängning
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 endast köra specifika 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. Du kan till exempel ge ett tillstånd för standardanvändarkonto för att 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/ avstängning
Följande kommando kommer att berätta vilka 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 du vill ha.
Standard logfile = /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 kan användaren radera eller ändrainnehå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.