Martwisz się logowaniem jako przereklamowany root?

16

W przypadku osobistego linuxa w moich osobistych notatnikach zwykle ustawiam moje środowisko na autologowanie jako root, nawet w X lub niższych poziomach pracy. Przekonałem się, że mój przepływ pracy jest bardzo przyjemny i szybki, bez kłopotliwej potrzeby pisania sulub sudopytania przez breloczek, autoryzację czy coś takiego.

Do tej pory nigdy nie miałem z tym problemu, więc dlaczego większość ludzi się tym przejmuje? Czy problem jest przereklamowany? Oczywiście zakłada to, że użytkownik wie, co robią, i tak naprawdę nie dba o niezawodność systemu i kwestie bezpieczeństwa.

uray
źródło
4
dlaczego działasz jako root? jeśli naprawdę nie chcesz pisać sudo, sugeruję edytowanie /etc/sudoersi dodawanie niektórych poleceń jako nopasswd (nie wszystkie), a następnie w swoim ~/.bashrc(lub pliku aliasu) dodaj aliases sudo command. To prawdopodobnie nie jest dobry pomysł, ale ograniczy szkody, które możesz wyrządzić lub wyrządzić ci.
ksenoterrakid
11
Poziom wrogości w tym wątku jest trochę niepokojący; to uzasadnione pytanie. Tak, ciągłe uruchamianie jako root to zły pomysł, ale nie trzeba się o to przekręcać
Michael Mrozek
5
@Mrozek: Uzgodniony. Teraz nigdy nie podałbym hasła root-a OP do żadnego systemu, nad którym miałem kontrolę, ale niszczenie własnego systemu przez wpisanie niewłaściwej rzeczy może być bardzo pouczające. Być może OP, pisząc „Jak dotąd nigdy nie miałem z tym problemu”, nauczy się czegoś pożytecznego, na przykład faktu, że rzeczy mogą się zdarzyć po raz pierwszy.
David Thornley,
2
Myślę, że to podsumowuje, dlaczego nie: unix.stackexchange.com/questions/502/…
Alex B
3
Aby wprowadzić analogię do samochodu: To jak jazda bez pasa bezpieczeństwa. Możliwe, ale potencjalnie śmiertelne.
odwrócenie

Odpowiedzi:

33

Z tych samych powodów, dla których każdy demon powinien mieć minimalne uprawnienia. Apache może działać jako root. Jest przeznaczony do wykonania jednego zadania i na pewno nic złego się nie stanie?

Ale załóżmy, że apache nie jest wolny od błędów. Błędy są wykrywane od czasu do czasu. Czasami może to być nawet wykonanie dowolnego kodu lub podobne. Teraz, gdy apache działa jako root, może uzyskać dostęp do wszystkiego - na przykład może załadować rootkita do jądra i ukryć się.

Z drugiej strony pisanie rootkita na poziomie użytkownika jest bardzo trudne. Musi zastąpić różne programy (np. ps) W środku /home, które mogą budzić podejrzenia ze względu na dodatkowe miejsce na dysku. Może nie znać dokładnej konfiguracji i zapomnieć dołączyć np. gnome-system-monitorUjawniając się. Ma na okładce bash, tcsha wszelkie powłoki zdarzy ci się użyć (zacząć się). Musiałby współpracować z różnymi konfiguracjami zamiast „po prostu” zastępować wiele wywołań zwrotnych.

Weź pod uwagę, że jeszcze nie tak dawno wykryto wykonanie dowolnego kodu w ... Adobe Reader.

Innym powodem są błędy użytkownika. Lepiej ostrzec przed skasowaniem całego dysku jednym poleceniem.

Trzecim powodem są różne powłoki. Powłoka root powinna być zainstalowana na /wypadek, gdyby konieczne było uratowanie systemu. Muszą być instalowane powłoki /usrużytkowników (na przykład użytkownik może korzystać z zsh).

Kolejnym powodem jest to, że różne programy nie działają jako root. W szczególności wiedzą, że nie powinni, więc trzeba załatać system.

Piąty powód jest taki, że /rootnie powinien znajdować się na osobnej partycji, dopóki /homemoże (i powinien). Posiadanie /homeosobnego pomaga z różnych powodów.

RÓWNIEŻ : DLACZEGO NIE UŻYWAĆ JAKO UŻYTKOWNIK NORMALNY. Częściej nie musisz mieć praw roota. To bardzo mały koszt bezpieczeństwa.

Maciej Piechotka
źródło
3
Fakt, że jako root ddmoże zrobić wszystko z dowolnym urządzeniem blokującym w systemie, w połączeniu z faktem, że root może wykonywać wiele ingerencji, celowych i niezamierzonych, z jądrem i elementami systemu w / dev i / proc powinien być wystarczy, aby przekonać każdego, aby nie uruchamiał się jako root, chyba że jest to konieczne.
LawrenceC
29

Możesz także jeździć na motocyklu nago i nic się nie może stać. Ale założę się, że poczułbyś się lepiej, gdybyś miał wypadek motocykla ...

nzwulfin
źródło
7
być może, ale pomyśl o poczuciu, że dostaniesz resztę czasu!
Sirex
12

Oprócz oczywistego punktu bezpieczeństwa, jasne jest, że nigdy nie ukryłeś swojego systemu przez błędne wpisanie polecenia w powłoce lub lapsusie. Jeśli tak się stanie, zrozumiesz, dlaczego ludzie wariują na ten temat. A potem będziesz płakać z przerażenia, a także zdasz sobie sprawę, że było to bardzo edukacyjne doświadczenie, ale i tak nie odzyskujesz systemu.

Myśl: jeśli podczas normalnego korzystania z systemu pojawi się monit o hasło roota (tj. Nie instalowanie pakietów lub inne zadanie administracyjne systemu), robisz to źle .

axel_c
źródło
+1 za przypomnienie mi o kilku starych doświadczeniach. A może powinno to być -1 za ich przywrócenie?
David Thornley,
5
Nigdy nie zrozumiałem, dlaczego ludzie uważają, że używanie sudo zapobiega błędnym wpisywaniu poleceń. Ostatnim systemem, który miałem kilka lat temu, był sudo rm -rf / dir / job.
Sirex
4

Nie, to nie jest przereklamowane. W praktyce jest to niedoceniane. :-)

Mój mały zespół w pracy, na przykład, udostępnia maszynę RHEL do prac programistycznych: budowanie, testowanie itp. Wszyscy korzystają z indywidualnych kont użytkowników, ale my również udostępniamy hasło roota, ponieważ ludzie potrzebują go od czasu do czasu do szybkich zadań sysadmin. Spowodowało to również, że kilkakrotnie udało nam się podłączyć system operacyjny do sieci w krótkim okresie jego użytkowania. Ktoś budujący pewną wersję libc w niemądry sposób usunął libc systemowyrmwezwanie. W innym ciekawym incydencie brakowało tabeli partycji. (Ok, to nie miało nic wspólnego z przywilejami.) Reszta drużyny jest zablokowana, dopóki nie zostanie naprawione uszkodzenie. Jednym z rozwiązań jest poproszenie kogoś o podjęcie się zadań sysadmin. Do tej pory nie przejmowaliśmy się zbytnio, oprócz umożliwienia ludziom wyciągania wniosków: wszyscy potrzebujemy śladów zębów na tylnych końcach i są to stosunkowo niedrogie ślady zębów.

Naprawdę ciekawi mogą chcieć przestrzegać zasady najmniejszych przywilejów i przeczytać artykuł Kena Thompsona „Refleksje o zaufaniu”. („Morał jest oczywisty. Nie możesz ufać kodowi, którego sam nie stworzyłeś”).

Sajith
źródło
3

Zbieranie komentarza do innej odpowiedzi

ale linux dotyczy wolności, w tym wolności niszczenia własnych danych, prywatności i bezpieczeństwa

Nawet zmuszając ludzi do przejścia sudo, Linux oferuje tę swobodę. Cały argument dotyczący bezpieczeństwa, którego chcesz unikać, ma na celu ochronę przed rzeczami, nie jesteś (czytaj: szkodliwe programy lub programy kontrolowane przez złośliwych ludzi).

Pomyśl o tym jak o pasie bezpieczeństwa. Zajmuje to chwilę. Mogłoby uratować ci życie przed innymi idiotami (jak również przed tobą).

Jeśli nie chcesz cały czas wpisywać hasła, sudoedit /etc/sudoersale jeśli nadal działasz jako root, pewnego dnia prawdopodobnie uruchomisz coś, co niszczy Twój system i wszystkie twoje dane.

Jeśli jesteś szczęśliwy wiedząc, że nawet coś tak kiepskiego jak Flash może sformatować komputer, nikt tutaj nie dba o to, co robisz. Uruchom jako root.

Oli
źródło
2
Nie tylko złośliwe programy, ale także błędne (np. W systemie kompilacji jądra wystąpił błąd, który uniemożliwił system, jeśli kompilowałeś jądro jako root)
Spudd86 24.08.10
2

Dlaczego nie uruchomić Damn Vulnerable Linux jako głównego systemu, gdy jesteś przy nim. Jeśli zamierzasz zignorować bezpieczeństwo systemu, równie dobrze możesz zignorować to wszystko ...

ksenoterracid
źródło
Technicznie komputer z rootem jako główny użytkownik może być teoretycznie zabezpieczony ...
Maciej Piechotka
3
@Maciej jedynym bezpiecznym komputerem jest odłączony od prądu, zamknięty w betonie na dnie jeziora.
ksenoterrakid
Jak zauważył Mitnick, ktoś może wydostać go poza jezioro, rozbić beton i podłączyć (och. Powiedział tylko, że ktoś może podłączyć niepodłączony komputer za pomocą socjotechniki, ale zasada jest taka sama). Starałem się zachować ostrożność, posługując się „technicznie” i „teoretycznie” - także zły zamek jest lepszy niż brak blokady. Na przykład uważam mój obecny system za wystarczająco bezpieczny pomimo braku SELinuksa;)
Maciej Piechotka
@ Bezpieczeństwo w studni Marciej polega na analizie kosztów / ryzyka. nigdy nie dajesz sobie większego bezpieczeństwa niż coś, co jest warte.
ksenoterrakid
1
@Marciej, a jeśli nic nie jest warte, to nie ma sensu umieszczać na nim żadnych zabezpieczeń, w tym momencie nie ma znaczenia luka.
ksenoterrakid
1

Mówisz o systemie operacyjnym, który jest wysiłkiem wielu osób. Jeśli używasz wyłącznie stabilnego oprogramowania, MOŻE być bezpieczny przez pewien czas.

Jak wspomniano wcześniej, byłbyś zaskoczony, jak mała rzecz może zniszczyć cały HD. W pierwszym roku próbowałem działać jako root, ponieważ w czasach Fedory-core 3 nie było tylu wymyślnych sposobów administrowania systemem od użytkownika.

W tym czasie dokonałem niewielkiej edycji xorg bez tworzenia kopii zapasowej, ponieważ nie sądziłem, że to boli. Brak pulpitu. Potem próbowałem to naprawić ręcznie, ale nie mogłem zrozumieć, co dokładnie zrobiłem. Później pomyślałem, że może mógłbym ponownie zainstalować sterowniki i pulpit, ale niechcący odłączyłem sieć Ethernet, ponieważ była to również NVIDIA.

Podczas pierwszego uruchomienia Archa zignorowałem ostrzeżenia, aby utworzyć użytkownika i przez jakiś czas działałem jako administrator. Zainstalowałem pakiet z AUR, którego potrzebowałem, a po ponownym uruchomieniu zrezygnowałem z całej instalacji.

Odkąd byłem root, naprawianie tych problemów stało się o wiele gorsze, niż trzeba.

Możesz stwierdzić, że byłem po prostu niekompetentny. Ale jak wspomnieli inni ... pisanie „sudo” to niewielka cena za spokój.

EDYCJA: Och ... i niektóre programy, takie jak WINE, wyraźnie nie powinny działać w środowisku root. http://wiki.winehq.org/FAQ#head-96bebfa287b4288974de0df23351f278b0d41014

Garrett
źródło
1

Względy bezpieczeństwa - luka w zabezpieczeniach demona lub skryptu atakująca Linuksa miałaby władzę Sysadmin nad twoim systemem.

Uruchamianie jako prosty użytkownik ORAZ korzystanie z sudo różni się pod względem bezpieczeństwa. Mój Firefox działa jako mój użytkownik, więc każda luka w Firefoxie dotyczy tylko mojego konta. Nic więcej.

Lucucotti
źródło
0

Zgadzam się z Maciejem za troskę o bezpieczeństwo i kontrolę nad niektórymi uprawnieniami. Ponieważ jesteś właścicielem swojego systemu, możesz wyłączyć tę funkcję, jeśli chcesz;) to twój wybór.

Abhishek
źródło
-4

Nie widzę żadnego wielkiego problemu z zalogowaniem się jako root podczas normalnej sesji, o ile nie zrobisz nic głupiego.

Nie robię tego osobiście, ponieważ czasami robię coś głupiego. Nigdy nie zauważyłem, że coś głupiego, co zrobiłem, stanowi potencjalnie duży problem, ale nie jestem wystarczająco arogancki, aby myśleć, że nigdy nie zrobię niczego naprawdę głupiego.

Neal
źródło
8
czy korzystanie z przeglądarki internetowej oznacza robienie czegoś głupiego?
ksenoterrakid
4
@xenoterracide: Powiedziałbym, że to robienie czegoś głupiego, jeśli jesteś zalogowany jako root.
David Thornley,
2
@David Wiem o tym;) o to chodzi
xenoterracide