Kto jest rootem? Dlaczego istnieje root?
Czy zastanawiałeś się kiedyś, dlaczego w Linuksie istnieje specjalne konto o nazwie root
? Czy wiesz, jakie są zalecane najlepsze praktyki dotyczące korzystania z tego konta? Czy wiesz, w jakich sytuacjach należy go użyć, a w jakich nie? Jeśli odpowiedziałeś „tak” na jedno lub więcej z tych pytań, czytaj dalej.
W tym poście podamy odnośnik z informacjami o koncie root, które warto mieć pod ręką.
Co to jest root?
Na początek pamiętajmy, że hierarchia katalogów w systemach operacyjnych typu Unix została zaprojektowana jako struktura przypominająca drzewo. Punktem wyjścia jest specjalny katalog reprezentowany przez ukośnik (/)
, od którego początkowo odchodzą wszystkie inne katalogi. Ponieważ jest to analogiczne do rzeczywistego drzewa, /
nazywany jest katalogiem głównym.
Na poniższym obrazku możemy zobaczyć wynik:
tree -d / | less
co ilustruje analogię pomiędzy /
i rootem
drzewa.
Chociaż przyczyny nazwy konta root nie są do końca jasne, jest to prawdopodobnie spowodowane faktem, że root jest jedynym kontem posiadającym uprawnienia do zapisu w /
.
Ponadto root ma dostęp do wszystkich plików i poleceń w dowolnym systemie operacyjnym typu Unix i z tego powodu często nazywany jest superużytkownikiem.
Na marginesie, katalogu root (/)
nie należy mylić z katalogiem /root
, który jest katalogiem domowym użytkownika root. W rzeczywistości /root
jest podkatalogiem /
.
Uzyskiwanie dostępu do uprawnień roota
Kiedy mówimy o uprawnieniach roota (lub superużytkownika), mamy na myśli uprawnienia, jakie takie konto ma w systemie. Uprawnienia te obejmują między innymi możliwość modyfikowania systemu i nadawania innym użytkownikom określonych uprawnień dostępu do jego zasobów.
Nierozważne użycie tej mocy może w najlepszym przypadku doprowadzić do uszkodzenia systemu, a w najgorszym do całkowitej awarii. Dlatego też poniższe wytyczne są akceptowane jako najlepsze praktyki w zakresie dostępu do uprawnień konta root:
Początkowo użyj konta root, aby uruchomić visudo. Użyj tego polecenia, aby edytować plik /etc/sudoers w celu nadania minimalnych uprawnień superużytkownika, jakich potrzebuje dane konto (np. nadzorca).
Może to obejmować na przykład możliwość tworzenia (adduser) i modyfikacji kont użytkowników (usermod) – i nic więcej.
Idź dalej, zaloguj się jako nadzorca i użyj sudo do wykonywania zadań związanych z zarządzaniem użytkownikami. Zauważysz, że próba wykonania innych zadań wymagających uprawnień administratora (na przykład usunięcie pakietów) powinna zakończyć się niepowodzeniem.
W razie potrzeby powtórz powyższe dwa kroki, a gdy już to zrobisz, użyj polecenia exit, aby natychmiast wrócić do swojego nieuprzywilejowanego konta.
W tym momencie powinieneś zadać sobie pytanie: Czy jakieś inne zadania pojawiające się okresowo wymagają uprawnień administratora? Jeśli tak, nadaj niezbędne uprawnienia w /etc/sudoers dla danego konta lub grupy i w miarę możliwości nadal unikaj korzystania z konta root.
Streszczenie
Ten post może służyć jako odniesienie do prawidłowego korzystania z konta root w systemie operacyjnym typu Unix. Dodaj go do swoich zakładek i wracaj tyle razy, ile chcesz!
Jak zawsze, jeśli masz jakieś pytania lub sugestie dotyczące tego artykułu, napisz nam notatkę, korzystając z poniższego formularza komentarza. Oczekujemy na kontakt zwrotny!