sudo

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:

  1. Öppnasudoers-filen med visudo:
    Använd visudo för att redigera sudoers-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
  2. Lägg till en regel för att tillåta lösenordsfri sudo-åtkomst:
    I sudoers-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
  3. När du har lagt till regeln i sudoers-filen, spara och avsluta redigeringen. Om du använder visudo 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.