W systemie Linux użytkownik root jest odpowiednikiem użytkownika Administrator w systemie Windows. Jednak chociaż Windows od dawna ma kulturę, w której przeciętni użytkownicy logują się jako administrator, nie należy logować się jako root w systemie Linux.
Firma Microsoft próbowała ulepszyć procedury bezpieczeństwa systemu Windows za pomocą UAC - nie należy logować się jako root w systemie Linux w tym samym celu powód, dla którego nie powinieneś wyłączać UAC w systemie Windows .
Dlaczego Ubuntu używa Sudo
Zniechęcanie użytkowników do uruchamiania jako root jest jednym z powodów Ubuntu używa sudo zamiast su . Domyślnie hasło roota jest zablokowane w Ubuntu, więc przeciętny użytkownik nie może zalogować się jako root bez wychodzenia z siebie, aby ponownie włączyć konto roota.
W innych dystrybucjach Linuksa historycznie można było zalogować się jako root z graficznego ekranu logowania i uzyskać pulpit root, chociaż wiele aplikacji może narzekać (a nawet odmawiać działania jako root, jak robi to VLC). Użytkownicy pochodzący z systemu Windows czasami decydowali się zalogować jako root, tak jak używali konta administratora w systemie Windows XP.
W sudo uruchamiasz określone polecenie (poprzedzone prefiksem sudo), które zyskuje uprawnienia roota. W przypadku su użyjesz polecenia su, aby uzyskać powłokę roota, gdzie uruchomisz polecenie, którego chcesz użyć przed (miejmy nadzieję) wyjściem z powłoki głównej. Sudo pomaga w egzekwowaniu najlepszych praktyk, uruchamiając tylko polecenia, które muszą być uruchamiane jako root (takie jak polecenia instalacji oprogramowania) bez pozostawiania Cię w powłoce root, gdzie możesz pozostać zalogowany lub uruchamiać inne aplikacje jako root.
Ograniczanie szkód
Gdy logujesz się na swoje własne konto użytkownika, uruchamiane programy nie mogą zapisywać danych w pozostałej części systemu - mogą zapisywać tylko w Twoim folderze domowym. Nie możesz modyfikować plików systemowych bez uzyskania uprawnień roota. Pomaga to chronić komputer. Na przykład, jeśli przeglądarka Firefox miała lukę w zabezpieczeniach i korzystałeś z niej jako root, złośliwa strona internetowa byłaby w stanie zapisywać we wszystkich plikach w twoim systemie, czytać pliki w folderach domowych innych kont użytkowników i zamieniać polecenia systemowe na przejęte jedynki. Z drugiej strony, jeśli jesteś zalogowany jako konto użytkownika z ograniczeniami, złośliwa strona internetowa nie byłaby w stanie zrobić żadnej z tych rzeczy - mogłaby wyrządzić szkody jedynie w Twoim folderze domowym. Chociaż może to nadal powodować problemy, jest to znacznie lepsze rozwiązanie niż włamanie do całego systemu.
Pomaga to również chronić Cię przed złośliwymi lub po prostu błędnymi aplikacjami. Na przykład, jeśli uruchomisz aplikację, która zdecyduje się usunąć wszystkie pliki, do których ma dostęp (być może zawiera nieprzyjemny błąd), aplikacja wyczyści nasz folder domowy. To źle, ale jeśli masz kopie zapasowe (co powinieneś!), Przywrócenie plików w folderze domowym jest dość łatwe. Jeśli jednak aplikacja miała uprawnienia administratora, mogłaby usunąć każdy plik na dysku twardym, co wymagałoby pełnej ponownej instalacji.
Uprawnienia szczegółowe
Podczas gdy starsze dystrybucje Linuksa uruchamiały całe programy do administrowania systemem jako root, nowoczesne komputery stacjonarne Linux używają PolicyKit do jeszcze dokładniejszej kontroli uprawnień, które otrzymuje aplikacja.
Na przykład, aplikacji zarządzającej oprogramowaniem można przyznać jedynie pozwolenie na instalację oprogramowania w systemie za pośrednictwem PolicyKit. Interfejs programu działałby z ograniczonymi uprawnieniami konta użytkownika, tylko część programu, która zainstalowała oprogramowanie, otrzymałaby podwyższone uprawnienia - a ta część programu mogłaby tylko instalować oprogramowanie.
Program nie miałby pełnego dostępu roota do całego systemu, co mogłoby chronić użytkownika w przypadku wykrycia luki w zabezpieczeniach w aplikacji. PolicyKit pozwala również ograniczonym kontom użytkowników na wprowadzanie pewnych zmian w administracji systemu bez uzyskiwania pełnego dostępu do konta roota, co ułatwia korzystanie z konta z ograniczonym dostępem bez kłopotów.
Linux pozwoli ci zalogować się do graficznego pulpitu jako root - tak samo, jak pozwoli ci usunąć każdy plik na dysku twardym podczas działania systemu lub zapisać losowy szum bezpośrednio na dysku twardym, niszcząc system plików - ale tak nie jest to dobry pomysł. Nawet jeśli wiesz, co robisz, system nie jest przeznaczony do uruchamiania jako root - omijasz większość architektury zabezpieczeń, dzięki której Linux jest tak bezpieczny.