5Sep
På Linux är användaren Root ekvivalent med Administrator-användaren på Windows. Men medan Windows länge har en kultur med genomsnittliga användare som loggar in som administratör, ska du inte logga in som root på Linux.
Microsoft försökte förbättra Windows-säkerhetspraxis med UAC - du bör inte logga in som root på Linux av samma anledning som du inte ska inaktivera UAC på Windows.
Varför Ubuntu använder Sudo
Att avskräcka användare från att köra som root är en av anledningarna till att 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å ut ur deras sätt 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 rotbord, ä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( prefixed av sudo) som får root privilegier. Med su, skulle du använda su-kommandot för att få ett rotskal, där du skulle köra kommandot du vill använda innan( förhoppningsvis) lämnar rotskalet. Sudo hjälper till att genomdriva bästa praxis och kör endast kommandon som måste köras som root( till exempel programinstallationskommandon) utan att lämna dig i ett rotskal, där du kan vara inloggad eller köra andra program som root.
Begränsa skadan
När du loggar in som ditt eget användarkonto, begränsas program som du kör, från att skriva till resten av systemet - de kan bara skriva till din hemmapp. Du kan inte ändra systemfiler utan att få root-behörigheter. Detta hjälper till att hålla din dator säker. Om Firefox-webbläsaren exempelvis hade ett säkerhetshål och du körde det som root, skulle en skadlig webbsida kunna skriva till alla filer på ditt system, läsa filer i andra användarkonto hemmappar och ersätta systemkommandon med kompromisssådana. Om du är inloggad som ett begränsat användarkonto, kan den skadliga webbsidan emellertid inte göra något av det här - det skulle bara kunna leda till skada i din hemmapp.Även om detta fortfarande kan orsaka problem, är det mycket bättre än att ha hela systemet komprometterat.
Detta hjälper också till att skydda dig mot skadliga eller vanliga buggy-applikationer. Om du till exempel kör en applikation som bestämmer dig för att radera alla filer som den har tillgång till( kanske den innehåller en otäck bugg), kommer applikationen att torka bort din hemmapp. Det här är dåligt, men om du har säkerhetskopior( vilket du borde!) Är det ganska lätt att återställa filerna i din hemmapp. Men om programmet hade root-åtkomst kunde det ta bort varje enskild fil på hårddisken, vilket kräver en fullständig ominstallation.
Finkorniga tillstånd
Medan äldre Linux-distributioner sprang hela systemadministrationsprogrammen som root, använder moderna Linux-skrivbord PolicyKit för ännu mer finkornig kontroll över behörigheterna som en applikation tar emot.
Till exempel kan en programvarahanteringsprogram endast beviljas tillstånd att installera programvara på ditt system genom PolicyKit. Programmets gränssnitt skulle köras med de begränsade användarkontoens behörigheter, bara 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 fullständig root-åtkomst till hela ditt system, vilket skulle kunna skydda dig om ett säkerhetshål finns i applikationen. PolicyKit gör det också möjligt för begränsade användarkonton att göra vissa systemadministrationsändringar utan att få fullständig 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 låter dig radera varje enskild fil på hårddisken medan ditt system körs eller skriv slumpmässigt ljud direkt till hårddisken, utplånar ditt filsystem - men detDet är inte en 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.