På Linux motsvarar rotanvändaren administratörsanvändaren i Windows. Medan Windows länge har haft en kultur av genomsnittliga användare som loggar in som administratör, bör du inte logga in som root på Linux.
Microsoft försökte förbättra Windows säkerhetsmetoder med UAC - du ska inte logga in som root på Linux för samma anledning att du inte ska inaktivera UAC i Windows .
Varför Ubuntu använder Sudo
Att avskräcka användare från att köra som root är en av anledningarna Ubuntu använder sudo istället för su . Som standard är root-lösenordet låst på Ubuntu, så genomsnittliga användare kan inte logga in som root utan att gå ur vägen för att återaktivera root-kontot.
På andra Linux-distributioner har det historiskt varit möjligt att logga in som root från den grafiska inloggningsskärmen och få ett root-skrivbord, även om många applikationer kan klaga (och till och med vägra att köra som root, som VLC gör). Användare som kommer från Windows bestämde sig ibland för att logga in som root, precis som de använde administratörskontot i Windows XP.
Med sudo kör du ett specifikt kommando (prefix av sudo) som får root-privilegier. Med su använder du kommandot su för att få ett rotskal, där du kör kommandot du vill använda innan du (förhoppningsvis) avslutar rotskalet. Sudo hjälper till att upprätthålla bästa praxis genom att bara köra kommandon som behöver köras som root (till exempel programvaruinstallationskommandon) utan att lämna dig vid ett root-skal där du kan vara inloggad eller köra andra applikationer som root.
Begränsa skadan
När du loggar in som ditt eget användarkonto kan program som du kör begränsas från att skriva till resten av systemet - de kan bara skriva till din hemmapp. Du kan inte ändra systemfiler utan att få rootbehörigheter. Detta hjälper dig att skydda din dator. Till exempel, om Firefox-webbläsaren hade ett säkerhetshål och du kör det som root, skulle en skadlig webbsida kunna skriva till alla filer på ditt system, läsa filer i andra användarkontos hemmappar och ersätta systemkommandon med komprometterade de. Däremot, om du är inloggad som ett begränsat användarkonto, skulle den skadliga webbsidan inte kunna göra något av dessa saker - det skulle bara kunna skada din hemmapp. Även om detta fortfarande kan orsaka problem, är det mycket bättre än att hela ditt system äventyras.
Detta hjälper dig också att skydda dig mot skadliga eller helt enkelt buggy-applikationer. Om du till exempel kör ett program som bestämmer sig för att ta bort alla filer som det har åtkomst till (kanske det innehåller en otäck bugg), rensar applikationen vår hemmapp. Det här är dåligt, men om du har säkerhetskopior (vilket du borde!) Är det ganska enkelt att återställa filerna i din hemmapp. Men om applikationen hade rootåtkomst kan den ta bort varje enskild fil på din hårddisk, vilket kräver en fullständig ominstallation.
Finkorniga tillstånd
Medan äldre Linux-distributioner körde hela systemadministrationsprogram som rot använder moderna Linux-datorer PolicyKit för ännu mer detaljerad kontroll av behörigheterna som en applikation får.
Till exempel kan en programvaruhanteringsapplikation endast få tillstånd att installera programvara på ditt system via PolicyKit. Programmets gränssnitt skulle köras med det begränsade användarkontots behörigheter, endast den del av programmet som installerade programvaran skulle få förhöjda behörigheter - och den delen av programmet skulle bara kunna installera programvara.
Programmet skulle inte ha full root-åtkomst till hela ditt system, vilket kan skydda dig om ett säkerhetshål finns i applikationen. PolicyKit tillåter också begränsade användarkonton att göra vissa systemadministrationsändringar utan att få full root-åtkomst, vilket gör det lättare att köra som ett begränsat användarkonto med mindre krångel.
Linux låter dig logga in på ett grafiskt skrivbord som root - precis som det gör att du kan ta bort varje enskild fil på din hårddisk medan ditt system körs eller skriva slumpmässigt brus direkt till hårddisken, utplåna ditt filsystem - men det är inte det är ingen bra idé. Även om du vet vad du gör är systemet inte utformat för att köras som root - du kringgår mycket av säkerhetsarkitekturen som gör Linux så säker.