Tko je Root? Zašto Root postoji?


Jeste li se ikada zapitali zašto u Linuxu postoji poseban račun pod nazivom root? Znate li koji su preporučeni najbolji postupci za korištenje ovog računa? Jeste li svjesni scenarija u kojima se mora koristiti i onih u kojima ne? Ako ste odgovorili “da” na jedno ili više ovih pitanja, nastavite čitati.

U ovom postu pružit ćemo referencu s informacijama o root računu koji ćete htjeti držati pri ruci.

Što je root?

Za početak, imajmo na umu da je hijerarhija direktorija u operativnim sustavima sličnim Unixu dizajnirana kao struktura poput stabla. Početna točka je poseban direktorij predstavljen kosom crtom (/) sa svim ostalim direktorijima koji se inicijalno granaju iz njega. Budući da je to analogno stvarnom stablu, / se naziva korijenski direktorij.

Na sljedećoj slici možemo vidjeti izlaz:

tree -d / | less

što ilustrira analogiju između / i korijena stabla.

Iako razlozi koji stoje iza imenovanja root računa nisu posve jasni, to je vjerojatno zbog činjenice da je root jedini račun koji ima dopuštenja za pisanje unutar / .

Dodatno, root ima pristup svim datotekama i naredbama u bilo kojem operativnom sustavu sličnom Unixu i zbog toga se često naziva superkorisnik.

S druge strane, root direktorij (/) ne smije se brkati s /root, koji je početni direktorij root korisnika. Zapravo, /root je poddirektorij /.

Dobivanje pristupa root dozvolama

Kada govorimo o root (ili superkorisničkim) privilegijama, mislimo na dozvole koje takav račun ima na sustavu. Te privilegije uključuju (ali nisu ograničene na) mogućnost izmjene sustava i davanja drugim korisnicima određenih dozvola za pristup njegovim resursima.

Nepromišljeno korištenje ove moći može u najboljem slučaju dovesti do kvara sustava, au najgorem do potpunog kvara. Zbog toga su sljedeće smjernice prihvaćene kao najbolja praksa kada je riječ o pristupu privilegijama root računa:

U početku koristite root račun za pokretanje visudo. Upotrijebite tu naredbu za uređivanje /etc/sudoers kako biste dodijelili minimalne privilegije superkorisnika koje određeni račun (npr. nadzornik) treba.

To može uključivati, na primjer, mogućnost stvaranja (adduser) i modificiranja (usermod) korisničkih računa – i ništa drugo.

Idemo naprijed, prijavite se kao nadzornik i koristite sudo za obavljanje zadataka upravljanja korisnicima. Primijetit ćete da bi pokušaj izvršavanja drugih zadataka koji zahtijevaju dopuštenja superkorisnika (uklanjanje paketa, na primjer) trebao propasti.

Ponovite gornja dva koraka kad god je to potrebno, a kada završite, upotrijebite naredbu izlaz da biste se odmah vratili na svoj neprivilegirani račun.

U ovom trenutku trebali biste se zapitati Jesu li neki drugi zadaci koji se povremeno pojavljuju za koje su potrebne privilegije superkorisnika? Ako je tako, dodijelite potrebna dopuštenja u /etc/sudoers za određeni račun ili grupu i nastavite izbjegavati korištenje root računa koliko god je to moguće.

Sažetak

Ovaj post može poslužiti kao referenca za pravilno korištenje root računa u operativnom sustavu sličnom Unixu. Slobodno ga dodajte u svoje oznake i vraćajte se onoliko puta koliko želite!

Kao i uvijek, pošaljite nam poruku pomoću donjeg obrasca za komentare ako imate pitanja ili prijedloga o ovom članku. Radujemo se vašem odgovoru!