Att köra Bash-skript i Linux kan ibland kräva administratörsrättigheter för att få åtkomst till vissa systemresurser eller för att utföra uppgifter som påverkar hela systemet. Som vanlig användare har du ofta begränsad tillgång till dessa rättigheter, men du kan använda sudo
för att köra enskilda kommandon med administratörsbehörighet.
Vad är sudo?
sudo
(superuser do) är ett kommando i Linux som tillåter en användare att köra kommandon med administratörs rättigheter utan att logga in som root
. Det är ett säkrare sätt att utföra administratörs åtgärder, eftersom det endast ger tillfällig behörighet för enskilda kommandon och inte kräver att användaren byter användarkonto till root
.
Användning av sudo
För att köra ett kommando med sudo
anger du helt enkelt sudo
före kommandot. Exempel:
sudo apt update
När du använder sudo
ombeds du att ange ditt eget lösenord (inte root
-lösenordet), förutsatt att du har behörighet att använda sudo
. Denna behörighet ges genom att ditt användarkonto är medlem i sudoers-gruppen, som ofta heter sudo
på många Linux-system. Om ditt användarkonto inte är medlem i denna grupp, kommer du inte att kunna använda sudo
för att köra kommandon som kräver administratörsrättigheter.
För att kontrollera om ditt användarkonto har sudo
-behörighet, kan du använda följande kommando (jag använder som exempel ditt_användarnamn):
groups ditt_användarnamn
Byt ut ditt_användarnamn
mot ditt faktiska användarnamn. Om du ser sudo
bland de grupper som listas, har du redan sudo
-behörighet. Men om sudo
inte finns i listan över grupper för ditt konto, har du inte rättigheterna att använda sudo
. Be en administratör eller en användare med sudo
-behörighet att lägga till dig i sudo
-gruppen, alternativt lägg till dig själv i gruppen om du har rotens lösenordet med följande kommando:
su –
Ange rotens lösenord och därefter exekvera:
usermod -aG sudo ditt_användarnamn
- usermod är kommandot som används för att ändra användarinställningar.
- -aG anger att vi lägger till (append) användaren till en grupp (sudo) utan att ta bort andra grupper som användaren redan är medlem i.
Nu ska du logga ut och logga in igen för att ändringen ska träda i kraft. Du kan nu använda sudo
för att köra kommandon med administratörs behörighet. I fortsättningen anger du ditt eget lösenord, inte rotens. Efter att du har angett ditt lösenord för sudo
en gång, får du tillfällig sudo
-åtkomst under en viss tidsperiod (vanligtvis 5–15 minuter). Under denna tid kan du köra ytterligare sudo
-kommandon utan att behöva ange lösenordet igen.
sudo utan lösenord
Det kan vara opraktiskt att behöva ange lösenordet för sudo
varje gång. Detta kan ändras genom att redigera sudoers
-filen och lägga till en specifik inställning, så att lösenordet inte längre behöver anges när sudo
används för vissa kommandon. Följ dessa steg:
- Öppna
sudoers
-filen medvisudo
:
Användvisudo
för att redigerasudoers
-filen på ett säkert sätt. Detta verktyg hjälper dig att undvika syntaktiska fel som kan orsaka problem med behörigheter. Exekvera: sudo visudo - Lägg till en regel för att tillåta lösenordsfri
sudo
-åtkomst:
Isudoers
-filen kan du ange vilka kommandon som inte ska kräva lösenord. För att göra detta för en specifik användare, lägg till följande rad längst ned i filen: ditt_användarnamn ALL=(ALL) NOPASSWD: ALL - När du har lagt till regeln i
sudoers
-filen, spara och avsluta redigeringen. Om du användervisudo
kontrolleras filen för eventuella fel innan den sparas, vilket gör processen säkrare.
Nu får du använda sudo utan att behöva ange lösenord.