Co to jest „root” w systemie Linux?
Agencja internetowa » Wiadomości cyfrowe » Co to jest „root” w systemie Linux?

Co to jest „root” w systemie Linux?

fatmawati achmad zaenuri / Shutterstock.com

Użytkownik root jest najpotężniejszą jednostką we wszechświecie Linuksa z nieograniczonymi uprawnieniami, na dobre lub na złe. Utworzyć użytkownika? Zrozumiany. Wymazać system plików? Ups, też to mam.

Historia pochodzenia

Użytkownik root jest superużytkownikiem Linuksa. Potrafią dosłownie wszystko. Nic nie jest ograniczone ani zabronione dla root . To, czy jest superbohaterem, czy złoczyńcą, zależy od człowieka, który przejmuje rolę administratora systemu. Błędy popełniane przez użytkownika root mogą być katastrofalne, dlatego konto root powinno być używane wyłącznie do celów administracyjnych.

Koncepcja użytkownika root została odziedziczona z systemu Unix, w którym administratorem był użytkownik root. Nie wiadomo jednak, skąd wzięła się nazwa „root”. Niektórzy uważają, że pochodzi z systemu operacyjnego Multics, poprzedzającego Uniksa.

Ken Thompson i Dennis Ritchie, dwaj najważniejsi architekci i autorzy Unixa, obaj pracowali już wcześniej nad Multics. Multics miał system plików, który zaczynał się w punkcie zwanym katalogiem głównym lub "/", a wszystkie inne katalogi i podkatalogi rozgałęziały się w dół i od korzenia jak odwrócone drzewo. Jest to ten sam typ drzewa, który został przyjęty przez Unix. Może więc Unix zaadoptował również użytkownika root z Multicsa?

Przeszukiwanie dokumentacji technicznej Multics ujawnia mnóstwo odniesień do głównych woluminów logicznych, głównych woluminów fizycznych, kart głównych i katalogu głównego. Ale nie ma wzmianki o koncie użytkownika root lub użytkowniku o nazwie „root”.

Inna teoria głosi, że we wczesnym Unixie katalog domowy superużytkownika był katalogiem głównym "/" systemu plików. Superużytkownik potrzebował nazwy. Termin „użytkownik root” został użyty zamiast oficjalnej nazwy, ale termin ten utknął i stał się oficjalną nazwą.

Wydaje się to bardziej prawdopodobne, ale wydaje się, że nikt nie jest w stanie powiedzieć na pewno, w jaki sposób użytkownik root otrzymał swoją nazwę.

Polecenie sudo

W każdym systemie operacyjnym zaleca się zarezerwowanie superużytkownika wyłącznie do celów administracyjnych i korzystanie z normalnego konta użytkownika przez resztę czasu. W rzeczywistości większość nowoczesnych dystrybucji Linuksa nie pozwala na zalogowanie się jako użytkownik root.

Oczywiście jest to Linux, więc możesz go skonfigurować, aby umożliwić zalogowanie się użytkownikowi root. Ale im mniej czasu spędzasz zalogowany jako root, najlepszy. Oprócz ochrony przed katastrofami spowodowanymi literówkami, jeśli nie możesz zalogować się jako rootnikt inny nie może. Każdy, kto uzyska nieautoryzowany dostęp do Twojego systemu, nie będzie mógł się zalogować jako root, ograniczając szkody, jakie mogą spowodować.

Ale jeśli zalogujesz się jako root jest wyłączone, jak administrujesz komputerem z systemem Linux? Cóż, właśnie to sudo zamówienie dotyczy. Nie wymaga logowania użytkownika root. Tymczasowo udziela rootma nad tobą władzę. To jak podnoszenie młota Thora Mjolnir i tymczasowo otrzymać moc Thora. Ale młotek możesz podnieść tylko wtedy, gdy jesteś tego godny. Podobnie nie tylko każdy może korzystać z sudo zamówienie. ten sudo komenda daje tylko rootTo na ciebie, jeśli zostałeś uznany za godnego i dodany do listy sudoers.

Jest jeszcze jedno polecenie podobne do sudo zwany su. Z sudo, uwierzytelniasz się przy użyciu własnego hasła. Z su, uwierzytelniasz się przy użyciu hasła użytkownika root. Ma to znaczenie z dwóch powodów. Po pierwsze, oznacza to, że musisz przypisać hasło do użytkownika root, aby użyć su. Domyślnie użytkownik root nie ma hasła, co pomaga w bezpieczeństwie. TAk root nie ma hasła, nie można się zalogować jako root.

Po drugie, jeśli ustawisz hasło roota, każdy, kto będzie używał su polecenie musi znać hasło. A udostępnianie haseł to zabezpieczenie nie-nie, a jeszcze bardziej w przypadku hasła roota. Każdy, kto zna hasło roota, może powiedzieć komuś innemu. Jeśli chcesz zmienić hasło roota, powinieneś przekazać nowe hasło wszystkim, którzy muszą je znać.

O wiele bezpieczniej jest korzystać z listy sudoerów, aby ograniczyć, kto może korzystać sudo, i pozwól każdej uprzywilejowanej osobie używać swoich indywidualnych haseł do uwierzytelniania.

Użyj sudo

Plik "/ etc / shadow" zawiera nazwę użytkownika każdego konta na komputerze z systemem Linux, a także inne informacje, w tym zaszyfrowane hasło do każdego konta, kiedy hasło zostało zmienione po raz ostatni i kiedy hasło wygasa. Ponieważ zawiera poufne informacje, może go odczytać tylko root.

Jeśli spróbujemy użyć wc polecenie odczytania linii, słów i znaków z pliku cienia, pozwolenie zostanie odrzucone.

wc / etc / cień

Jeśli jesteśmy na liście sudoers i używamy tego samego polecenia z sudo na początku linii zostaniemy poproszeni o hasło i polecenie zostanie wykonane za nas. Jeśli jesteś jedynym użytkownikiem na komputerze z systemem Linux, zostaniesz automatycznie dodany do listy sudoers podczas instalacji systemu.

sudo wc/etc/cień

Ponieważ uruchamiamy polecenie jako root, wc polecenie jest wykonywane. Nikt nie zaprzecza korzeniowi.

le sudo Polecenie oznaczało „zrób superużytkownika”. Został ulepszony, aby umożliwić uruchamianie polecenia jak każdy inny użytkownik, dlatego zmieniono jego nazwę na „zastępczy użytkownik do zrobienia”. Polecenie jest faktycznie wykonywane tak, jakby wykonał je inny użytkownik. Jeśli nie określisz nazwy użytkownika, sudo używa domyślnie root. Jeśli chcesz użyć innego użytkownika, użyj -u opcja (użytkownik).

Widzimy, że polecenia są wykonywane jako inny użytkownik za pomocą whoami dowódca.

whoami
sudo whoami
sudo-u mary whoami

Uruchom jako root bez używania su

Hak z sudo jest to, że powinieneś używać "sudo" na początku każdego polecenia. Jeśli wpisujesz tylko jedno lub dwa polecenia, to w porządku. Jeśli masz dłuższą sekwencję poleceń do uruchomienia, może to być nużące. Może to być żmudne, ale jest przydatnym zabezpieczeniem dla rooti za każdym razem należy świadomie usuwać zabezpieczenia.

Istnieje sposób na skuteczne „połączenie się” jako root kto nie używa su i nie wymaga od użytkownika root posiadania hasła.

ostrzeżenie: Zachowaj ostrożność podczas korzystania z tej metody. Każde polecenie, które wydasz, zostanie wykonane z przyjemnością, bez zadawania pytań, bez względu na to, jak bardzo jest destrukcyjne.

Za pomocą sudo uruchomić powłokę Bash otwórz nową powłokę za pomocą root jako użytkownik.

Sudo bash

Zauważ, że zmienia się wiersz polecenia. Ostatnim znakiem zachęty jest teraz hash "#" zamiast znaku dolara "$".

Sposób wyświetlania treści wiersza polecenia różni się w zależności od dystrybucji. W Ubuntu informujemy, że użytkownik rooti wyświetlał nazwę komputera i bieżący katalog roboczy. Zmienia się również kolor monitu.

Ponieważ jesteśmy root, możemy wykonywać polecenia, które normalnie wymagałyby użycia sudo .

wc / etc / cień

Aby wyjść z powłoki użytkownika root, naciśnij "Ctrl + D" lub wpisz "exit" i naciśnij "Enter".

wyjście

Mniej Supermana, więcej Clarka Kent

Jeśli jesteś na liście sudoers, masz supermoce w swoim systemie Linux. Pamiętaj, że Superman spędza więcej czasu jako łagodne alter ego niż w swojej czerwonej pelerynie.

Używaj swojego zwykłego konta użytkownika tak często, jak to możliwe. Zmień tylko na root kiedy naprawdę tego potrzebujesz.

★ ★ ★ ★ ★