Rotanvändaren är den mest kraftfulla enheten i Linux-universum med obegränsade krafter, för bättre eller sämre. Skapa en användare? Jag fattar. Annihilera ett filsystem? Whoops, fick det också.
Ursprungsberättelsen
Rotanvändaren är Linux Superuser. De kan, ganska bokstavligen, göra någonting. Ingenting är begränsat eller off-gränser för
rot
. Oavsett om de är en superhjälte eller en supervillain beror på den mänskliga användaren som tar på systemadministratörens mantel. Misstag som gjordes av rotanvändaren kan vara katastrofala, så rotkontot bör användas uteslutande för administrativa ändamål.
Konceptet av rotanvändaren varvt från Unix, som hade en root-användare som administrativ superanvändare. Men där namnet "root" kommer från är inte känt säkert. Vissa tror att det kom från Multics operativsystem , som fördjupar UNIX.
Ken Thompson och Dennis ritchie , två av de viktigaste arkitekterna och författarna till Unix, hade båda tidigare arbetat på multics. Multics hade ett filsystem som startade vid en punkt som kallades rotkatalogen eller "/", och alla andra kataloger och underkataloger grenade nedåt och utåt från roten som ett inverterat träd. Det är samma slags trädstruktur som antas av Unix. Så kanske Unix antog rotanvändaren från multics också?
Söker genom MULTICS Teknisk dokumentation Avoverserar en mängd referenser till rotlogiska volymer, rotfysiska volymer, rotkort och rotkatalogen. Men det är inte omnämnande av ett root användarkonto eller en användare som heter "root".
En annan teori är att i de tidiga dagarna av UNIX var superansvarans hemmapp den root "/" i filsystemet. Superuserna behövde ett namn. Termen "root användare" hade använts i stället för ett officiellt namn, men termen fastnade och blev det officiella namnet.
Det verkar mer troligt, men ingen verkar kunna säga säkert hur rotanvändaren fick sitt namn.
Sudo-kommandot
Vid ett operativsystem är det bästa att bara reservera superanvändaren för administrativa ändamål och att använda ett vanligt användarkonto resten av tiden. Faktum är att de flesta moderna Linux-distributioner inte låter dig logga in som root-användaren.
Naturligtvis är det här Linux, så du kan konfigurera den för att tillåta att root-användaren loggar in. Men ju mindre tid du spenderar inloggad som
rot
, desto bättre. Förutom att skydda dig från katastrofer som uppstår från typos, om du inte kan logga in som
rot
, ingen annan kan. Den som får obehörig åtkomst till ditt system kommer inte att kunna logga in som
rot
, begränsar vilken skada de kan göra.
Men om du loggar in som
rot
Är du avaktiverad, hur administrerar du din Linux-dator? Ja det är vad
sudo
kommandot är för. Det kräver inte att root-användaren loggar in. Det skänker tillfälligt
rot
S krafter på dig. Det är som att plocka upp Thor's hammare
Mjolnir
och tillfälligt beviljas Thors befogenheter. Men du kan bara hämta hammaren om du är värdig. På samma sätt är det inte bara alla som kan använda
sudo
kommando. De
sudo
Kommando bara skänker
rot
S krafter på dig om du har hittats värdig och läggs till sudoers listan.
Det finns ett annat kommando liknande
sudo
kallad
su
. Med
sudo
, du autentiserar med ditt eget lösenord. Med
su
, du autentiserar med hjälp av root-användarens lösenord. Detta är viktigt på två sätt. För det första betyder det att du måste tilldela ett lösenord till root-användaren att använda
su
. Som standard har rotanvändaren inget lösenord, och det hjälper till med säkerhet. Om
rot
Har inget lösenord, du kan inte logga in som
rot
.
För det andra, om du ställer in ett root-lösenord, alla som ska använda
su
Kommando behöver veta lösenordet. Och dela lösenord är ett säkerhetsnummer, och för root-lösenordet, ännu mer. Några av de personer som känner till root-lösenordet kan berätta för någon annan. Om du behöver ändra root-lösenordet måste du kommunicera det nya lösenordet till alla de personer som behöver veta det.
Det är mycket säkrare att
Använd listan sudoers
Att begränsa vem som kan använda
sudo
, och låt varje privilegierad person använda sina individuella lösenord för att autentisera.
Använder sudo
Filen "/ etc / shadow" innehåller användarnamnet för varje konto på din Linux-dator, tillsammans med andra bitar av information, inklusive varje kontoens krypterade lösenord, när lösenordet senast ändrats, och när lösenordet löper ut. Eftersom den innehåller känslig information kan den bara läsas av
rot
.
Om vi försöker använda
toalett
Kommando att läsa linjerna, ord och tecken i skuggfilen, vi kommer att nekas tillåtelse.
WC / etc / Shadow
Om vi är i sudoerslistan och vi använder samma kommando med
sudo
I början av linjen blir vi uppmanade till vårt lösenord, och kommandot kommer att utföras för oss. Om du är den enda användaren på din Linux-dator, läggs du automatiskt till sudoerslistan när systemet är installerat.
sudo wc / etc / shadow
Eftersom vi kör kommandot som rot,
toalett
kommandot utförs. Ingen förnekar rot.
De
sudo
kommando som används för att betyda "superuser do". Det var förstärkt för att du kan köra ett kommando som någon användare, så det döptes om "ersättare användare." Kommandot är faktiskt exekverat som om den andra användaren sprang den. Om du inte anger ett användarnamn,
sudo
standard för att använda
rot
. Om du vill använda en annan användare, använd
-u
(användar) alternativ.
Vi kan se att kommandona exekveras som en annan användare genom att använda
vem är jag
kommando.
Whoami
sudo whoami
sudo -u mary whoami
RELATERAD: Så här bestämmer du det aktuella användarkontot i Linux
Kör som rot utan att använda su
Snag med
sudo
Är det du måste använda "sudo" i början av varje kommando. Om du bara skriver en eller två kommandon, är det ingen stor sak. Om du har en längre sekvens av kommandon att exekvera kan det bli tröttsamt. Det kan vara tröttsamt, men det fungerar som en användbar säkerhetsfångst för
rot
S befogenheter, och du måste medvetet ta av dig varje gång.
Det finns ett sätt att effektivt "logga in" som
rot
det använder inte
su
och kräver inte att root-användaren har ett lösenord.
Varning: Var försiktig när du använder den här metoden. Varje kommando som du utfärdar kommer att bli lyckligt exekverade, inga frågor ställdes - även om det är destruktivt.
Använder sig av
sudo
att köra ett bash-skal öppnar ett nytt skal med
rot
som användaren.
sudo bash
Observera att kommandotolken ändras. Frågans sista karaktär är nu en hash "#" istället för en dollar karaktär "$."
Hur kommandotolken visas varierar från distribution till distribution. I Ubuntu informeras vi om att användaren är
rot
och visade namnet på datorn och den aktuella arbetskatalogen. Färgen på prompten ändras också.
Eftersom vi är
rot
, vi kan utföra kommandon som normalt skulle kräva användning av
sudo
.
WC / etc / Shadow
För att gå ur rotanvändarens skal, slå "Ctrl + D" eller skriv "Exit" och tryck "Enter."
Avsluta
Mindre Superman, mer Clark Kent
Om du är i sudoers listan har du supermakter över ditt Linux-system. Kom bara ihåg, Superman spenderar mer tid som sitt milda mannered alter-ego än han gör i sin röda kappa.
Använd ditt vanliga användarkonto så mycket som möjligt. Ändra bara in
rot
när du verkligen behöver.