Główna » jak » Dlaczego nie powinieneś logować się do systemu Linux jako root

    Dlaczego nie powinieneś logować się do systemu Linux jako root

    W systemie Linux użytkownik root jest równoważny użytkownikowi Administrator w systemie Windows. Jednak podczas gdy system Windows od dawna ma kulturę przeciętnych użytkowników logujących się jako administrator, nie powinieneś logować się jako root w systemie Linux.

    Microsoft próbował poprawić zabezpieczenia systemu Windows przy pomocy UAC - nie powinieneś logować się jako root w Linuksie z tego samego powodu, dla którego nie powinieneś wyłączać UAC w Windowsie.

    Dlaczego Ubuntu używa Sudo

    Zniechęcanie użytkowników do uruchamiania jako root jest jednym z powodów, dla którego Ubuntu używa sudo zamiast su. Domyślnie hasło roota jest zablokowane w systemie Ubuntu, więc przeciętni użytkownicy nie mogą zalogować się jako root, nie robiąc z tego powodu, aby ponownie włączyć konto root.

    W innych dystrybucjach Linuksa historycznie można było zalogować się jako root z graficznego ekranu logowania i uzyskać pulpit główny, chociaż wiele aplikacji może narzekać (a nawet odmówić uruchomienia jako root, tak jak VLC). Użytkownicy pochodzący z systemu Windows czasami decydowali się zalogować jako root, tak jak użyli konta administratora w systemie Windows XP.

    W sudo uruchamiasz specjalne polecenie (poprzedzone przez sudo), które uzyskuje uprawnienia root'a. Z su, użyłbyś polecenia su, aby uzyskać powłokę główną, gdzie uruchomisz polecenie, którego chcesz użyć (mam nadzieję), wychodząc z powłoki głównej. Sudo pomaga wymuszać najlepsze praktyki, uruchamiając tylko polecenia, które muszą być uruchamiane jako root (takie jak polecenia instalacji oprogramowania) bez pozostawiania Cię w powłoce głównej, w której możesz być zalogowany lub uruchamiać inne aplikacje jako root.

    Ograniczanie obrażeń

    Kiedy logujesz się jako własne konto użytkownika, uruchamiane programy są ograniczone do zapisu w pozostałej części systemu - mogą zapisywać tylko do folderu domowego. Nie można modyfikować plików systemowych bez uzyskiwania uprawnień root'a. Pomaga to zabezpieczyć komputer. Na przykład, jeśli przeglądarka Firefox miała lukę w zabezpieczeniach i uruchomiłeś ją jako root, złośliwa strona internetowa mogłaby napisać do wszystkich plików w twoim systemie, odczytywać pliki w folderze macierzystym innego konta użytkownika i zamieniać polecenia systemowe z naruszeniem bezpieczeństwa te. W przeciwieństwie do tego, jeśli jesteś zalogowany jako konto użytkownika z ograniczeniami, złośliwa strona internetowa nie byłaby w stanie wykonać żadnej z tych rzeczy - mógł jedynie zadać obrażenia w folderze domowym. Chociaż może to nadal powodować problemy, jest to o wiele lepsze, niż cały system.

    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 katalog domowy. Jest to złe, ale jeśli masz kopie zapasowe (które powinieneś!), Przywrócenie plików w folderze domowym jest dość łatwe. Jeśli jednak aplikacja ma uprawnienia administratora, może usunąć każdy pojedynczy plik na dysku twardym, co wymaga pełnej ponownej instalacji.

    Drobnoziarniste uprawnienia

    Podczas gdy starsze dystrybucje Linuksa uruchamiały całe programy administrowania systemem jako root, nowoczesne komputery z systemem Linux używają PolicyKit, aby jeszcze bardziej precyzyjnie kontrolować uprawnienia otrzymywane przez aplikację.

    Na przykład aplikacja do zarządzania oprogramowaniem może uzyskać tylko uprawnienie do instalowania oprogramowania w systemie za pośrednictwem PolicyKit. Interfejs programu działałby z uprawnieniami ograniczonego konta użytkownika, tylko część programu, który zainstalował oprogramowanie, otrzymywałaby podwyższone uprawnienia - i ta część programu mogła instalować tylko oprogramowanie.

    Program nie miałby pełnego dostępu do całego systemu, co mogłoby ochronić cię, gdyby znaleziono lukę bezpieczeństwa w aplikacji. PolicyKit pozwala także ograniczonym kontom użytkowników na wprowadzanie zmian administracyjnych systemu bez uzyskania pełnego dostępu do roota, co ułatwia uruchamianie jako konto użytkownika z ograniczonym dostępem i mniej kłopotów.


    Linux pozwoli ci zalogować się do graficznego pulpitu jako root - tak, jak pozwoli ci to usunąć każdy pojedynczy plik na twoim twardym dysku, podczas gdy twój system działa lub zapisuje losowy szum bezpośrednio na twoim twardym dysku, zatarcie twojego systemu plików - ale to nie jest Dobry pomysł. Nawet jeśli wiesz, co robisz, system nie jest zaprojektowany do działania jako root - omijasz większość architektury bezpieczeństwa, która sprawia, że ​​Linux jest tak bezpieczny.