På Linux-kommandoraden finns det många olika sätt att få en rotsession i terminalen. Detta kan skapa viss förvirring, eftersom de flesta nybörjare som tittar på att bli root kanske inte är bekanta med hur varje kommando kan få root access, hur de är olika och när dessa skillnader är viktiga.

Det är på grund av detta kommer vi att ta ifrån varandra var och en av de många olika kommandon som används för att få root access i en terminal. Vi förklarar exakt hur de får rot, när man ska använda dem och allt däremellan.

su

su kommandot ersätter den nuvarande användaren som används av systemet i skalet. Du kan byta till någon användare genom att ta su och lägga till ett användarnamn av det. Detta kommer att berätta för systemet att byta (och väsentligen logga ut) den nuvarande användaren till den angivna. Alternativt kan su kommandot få root access genom att ange su utan att ange något efter kommandot.

"Su" används bäst när en användare vill ha direkt tillgång till rotkontot på systemet. Det går inte igenom sudo eller något sådant. Istället måste root-användarens lösenord vara känt och används för att logga in med. Dessutom har andra sätt att vinna rot inte någon fördel av att få tillgång till rotkatalogen och rotmiljön.

sudo su

Detta kommando är i grunden detsamma som att du bara kör su i skalet. I stället för att berätta för systemet att "byta användare" direkt, säger du att det ska köra "su" -kommandot som root. När sudo su körs, startas ".profile", ".bashrc" och "/ etc / profile", ungefär som att köra su (eller su root ). Detta beror på att om ett kommando körs med sudo framför det, är det ett kommando som ges root privilegier.

Även om det inte är så mycket skillnad från "su" är sudo su fortfarande ett mycket användbart kommando av en viktig anledning: När en användare kör "su" för att få root access på ett system måste de känna till root-lösenordet. Vägen rot ges med sudo su är genom att begära den aktuella användarens lösenord. Detta gör det möjligt att få root utan root lösenord som ökar säkerheten.

sudo -i

Att använda sudo -i är praktiskt taget detsamma som sudo su kommandot. Användare kan få root genom "sudo" och inte genom att växla till root-användaren. På samma sätt som sudo su tillåter -i flaggan en användare att få en rotmiljö utan att behöva känna till lösenordet för root-kontot. sudo -i ligner också på att använda sudo su i att det ska läsa alla miljöfiler (.profile etc.) och sätta miljön inuti skalet med det.

Där det skiljer sig från "sudo su" är det sudo -i är ett mycket renare sätt att vinna rot och en rotmiljö utan att direkt interagera med rotanvändaren. Hur? Med sudo su använder du mer än en root setuid kommandon. Detta faktum gör det mycket mer utmanande att ta reda på vilka miljövariabler som ska hållas och vilka som kommer att ändras (när de svävar till rotmiljön). Detta är inte sant med sudo -i, och det är på grund av att de flesta ser det som den föredragna metoden för att få root utan att logga in direkt.

sudo-s

-s växlarna för "sudo" -kommandot läser $ SHELL-variabeln för de nuvarande användarbefintliga kommandona. Detta kommando fungerar som om användaren kör sudo /bin/bash . Sudo -s är ett "icke inloggat" stilskal. Det innebär att systemet, till skillnad från ett kommando som sudo -i eller sudo su, inte läser några miljöfiler. Det betyder att när en användare säger att skalet ska köra sudo -s, blir det rot, men ändrar inte användaren eller användarmiljön. Ditt hem kommer inte att vara roten hem, etc.

Det här kommandot används bäst när användaren inte vill röra roten alls och vill bara ha ett rotskal för att enkelt kunna utföra kommandot. Andra kommandon som talas om ovan får root-åtkomst, men rör rotmiljöfiler och tillåter användare mer fullständig åtkomst till rot (vilket kan vara ett säkerhetsproblem).

Slutsats: Vilket kommando ska jag använda?

Varje kommando har sitt användningsfall. Det viktiga är att förstå vad varje kommando gör och när man ska använda dem. Som det står är sudo -i det mest praktiska, rena sättet att få en rotmiljö. Å andra sidan kommer de som använder sudo -s att hitta de kan få ett rotskal utan förmåga att röra rotmiljön, något som har lagt till säkerhetsfördelar.

Det finns verkligen inget kommando på denna lista som är 100% bäst. Eftersom användarna blir mer bekväma med kommandoraden måste de ta hänsyn till varje sätt att få rot (och det finns många) och väga för och nackdelar och agera därefter. Jag hoppas att dessa beslut med hjälp av denna artikel blir enklare att göra.

På vilket sätt föredrar du att få root-åtkomst i Linux? Berätta för oss nedan!

Bildkrediter: blog.david-jensen.com