Dlaczego warto się zalogować jako root?

192

Często natrafiam na posty na forach lub innych stronach internetowych, na których widzisz ludzi żartujących w taki sposób na temat uruchamiania / logowania jako root, jakby to było coś okropnego i każdy powinien o tym wiedzieć. Jednak niewiele można znaleźć w tej sprawie.

Może być powszechnie znany ekspertom Linuksa, ale tak naprawdę nie wiem dlaczego. Pamiętam, że zawsze działałem jako root, kiedy po raz pierwszy wypróbowałem Linuksa lata temu (Redhat i Mandrake) i nie pamiętam, żeby z tego powodu miałem problemy.

W rzeczywistości istnieją niektóre dystrybucje, które mają jaskrawoczerwone tło ze znakami ostrzegawczymi jako tapetę dla użytkownika root (SuSe?). Nadal używam konta „Administrator” do regularnego używania w mojej instalacji Windows i nigdy nie napotkałem tam żadnych problemów.

Poranek
źródło
15
Myślę, że nie ma problemu z uruchomieniem programu jako root. Po prostu możesz zaszkodzić rdzeniu systemu operacyjnego (nawet sudoers może to zrobić), jeśli nie jesteś zbyt mądry w Linuksie. poza tym nie sądzę, że jest jakiś problem. Ale to tylko mój punkt widzenia.
Gaurav Butola,
1
Powiązane pytanie tutaj .
loevborg,
Trudność przejścia do trybu root różni się w zależności od dystrybucji. Osobiście jestem zirytowany tym, że Fedora nie pozwala ci „sudo” od razu po wyjęciu z pudełka. OpenSUSE i Ubunto mają już wstępnie skonfigurowane sudo ... więc jeśli wybierzesz odpowiednią dystrybucję, możesz zminimalizować swoje niedogodności związane z niemożnością uzyskania dostępu do plików.
djangofan
4
@GauravButola nawet jeśli jesteś ekspertem, to nadal zły pomysł na wypadek, gdyby aplikacja została naruszona.
strugee
2
@DaboRoss komentarze OP, że pracuje w systemie Windows jako administrator; z mojego (małego) doświadczenia w tym systemie operacyjnym wydaje mi się, że jest bardziej podobny do Ubuntu: jest to konto uprzywilejowane w tym sensie, że może robić, co chcesz, ale prosi o zgodę przed, na przykład, instalowaniem nowego oprogramowania. Prawdopodobnie więc odpowiednikiem użycia użytkownika „administratora” w Windowsie przetłumaczonym na Ubuntu byłoby uruchomienie głównego użytkownika ze skonfigurowanym sudo, aby nie pytał o podanie - uruchomienie bezpośrednio, ponieważ root jest znacznie bardziej niebezpieczny.
Rmano

Odpowiedzi:

154

Pokonuje model bezpieczeństwa, który istnieje od lat. Aplikacje mają być uruchamiane z zabezpieczeniami nieadministracyjnymi (lub zwykłymi śmiertelnikami), więc musisz podnieść ich uprawnienia do modyfikowania systemu bazowego. Na przykład nie chcesz, aby niedawna awaria Rhythmbox zniszczyła cały /usrkatalog z powodu błędu. Lub ta luka, która została właśnie opublikowana w ProFTPD, aby umożliwić osobie atakującej uzyskanie powłoki ROOT.

Dobrą praktyką w każdym systemie operacyjnym jest uruchamianie aplikacji na poziomie użytkownika i pozostawienie zadań administracyjnych użytkownikowi root i tylko na żądanie.

lazyPower
źródło
5
... i chroni przed przekształcaniem trywialnych błędów w katastrofach. Jestem użytkownikiem / adm systemu Unix od 1990 roku, ale z pewnością mogę ześlizgnąć się w dokładnie niewłaściwe miejsce, robiąc rm -rf tmp/tests/*...
Rmano
9
1.) Większość osób uważa katalog domowy za ważniejszy niż katalog główny, ponieważ nie można ponownie zainstalować tego pierwszego. Więc nie rozumiem, o co ci chodzi. 2.) Jeśli chodzi o bezpieczeństwo, masz rację. Ale pochodząc z systemu Windows (gdzie jest WIELE więcej złośliwego oprogramowania), gdzie korzystałem z konta administratora od zawsze (jak wielu), trudno mi jest uznać to za prawdziwe niebezpieczeństwo. Jestem po prostu zbyt leniwy, aby wpisać sudoi moje hasło do każdej drugiej komendy w Linuksie. Czy użytkownicy Linuksa nie powinni być leniwi ?????
Blauhirn
nie zgadzam się -_-: ~: |
Edgy1
@LazyPower dziękuję za edycję odpowiedzi, ale teraz już jej nie rozumiem. Aby zmodyfikować mój prywatny folder Ubuntu ~, programy nie potrzebują uprawnień sudo. Rhythmbox MOŻE wymazać cały katalog $ HOME / Music! I to wszystko, na czym mi zależy! Jak to się ma do uprawnień roota?
Blauhirn
1
To dobre wezwanie @Blauhirn. Właśnie przesłałem dalszą edycję, aby pokazać, że nie chcemy, aby usuwała całość / usr. Jeśli chodzi o ochronę folderów $ HOME, nic takiego jak dobra kopia zapasowa nie może ci pomóc. Nie sądzę, że ten konkretny scenariusz byłby związany z bezpieczeństwem tak samo jak dobrą praktyką. Jeszcze raz dziękuję za objaśnienie.
lazyPower
79

Tylko jedno słowo: bezpieczeństwo.

  1. Jesteś zalogowany jako root = wszystkie aplikacje działają z uprawnieniami roota - każda luka w Firefox, Flash, OpenOffice itp. Może teraz zniszczyć twój system, ponieważ możliwe wirusy mają teraz dostęp wszędzie. Tak, jest tylko kilka wirusów dla Ubuntu / Linux, ale jest to również spowodowane dobrym bezpieczeństwem i domyślnym nieuprzywilejowanym użytkownikiem.
  2. Nie chodzi tylko o wirusy - mały błąd w aplikacji może usunąć niektóre pliki systemowe lub ...
  3. Gdy jesteś zalogowany jako root, możesz zrobić wszystko - system nie zapyta! Czy chcesz sformatować ten dysk? Ok, wystarczy jedno kliknięcie i gotowe, ponieważ jesteś rootem i wiesz, co robisz ...
Vojtech Trefny
źródło
16
Pliki danych, które są własnością mojego konta użytkownika, są dla mnie o wiele cenniejsze niż pliki systemowe. Wszystkie powyższe przykłady nadal występują problemy po zalogowaniu jako użytkownik, z wyjątkiem tego, że łatwo wymienialne pliki systemowe są zabezpieczone.
kbeta
5
@ kbeta zakładasz, że działasz na komputerze, na którym jedynymi kosztownościami są twoje dane i pliki systemowe. W rzeczywistości linux jest często używany w systemie, w którym wielu użytkowników korzysta z systemu jednocześnie. W tym przypadku stabilność systemu (a zatem i plików systemowych) jest znacznie bardziej cenna, a inne pliki użytkownika są również ważne.
Eric Pauley,
2
@kbeta Wystarczająco uczciwy, ale uszkodzona konfiguracja systemu może również stanowić ryzyko dla twoich danych ... i oczywiście posiadanie kopii zapasowych byłoby dobrym pomysłem, czy twój system jest obecnie zagrożony, czy nie. Lepiej będzie działać bieżąca kopia zapasowa z planem odzyskiwania po awarii.
Pryftan
47

Uruchamianie jako root jest złe, ponieważ:

  1. Głupota: Nic nie stoi na przeszkodzie, aby zrobić coś głupiego. Jeśli spróbujesz zmienić system w jakikolwiek sposób, który może być szkodliwy, musisz zrobić sudo, co w zasadzie gwarantuje pauzę podczas wprowadzania hasła, abyś zdał sobie sprawę, że masz zamiar dokonać możliwej dużej / kosztownej zmiany.
  2. Bezpieczeństwo: zostało już wspomniane kilka razy w tym pytaniu, ale w zasadzie jest to to samo, trudniejsze do zhakowania, jeśli nie znasz konta logowania administratora. root oznacza, że ​​masz już połowę roboczego zestawu poświadczeń administratora.
  3. Tak naprawdę nie jest to potrzebne: jeśli musisz uruchomić kilka poleceń jako root i denerwujesz się kilkukrotnym wprowadzaniem hasła po wygaśnięciu sudo, wystarczy, że sudo -ijesteś rootem. Chcesz uruchomić niektóre polecenia za pomocą potoków? Następnie użyj sudo sh -c "comand1 | command2".
  4. Zawsze możesz go użyć w konsoli odzyskiwania: Konsola odzyskiwania pozwala spróbować odzyskać się po zrobieniu czegoś głupiego lub naprawieniu problemu spowodowanego przez aplikację (którą wciąż musiałeś uruchamiać jako sudo :)) Ubuntu nie ma hasła w przypadku konta root w tym przypadku, ale możesz wyszukać online, aby to zmienić, utrudni to każdemu, kto ma fizyczny dostęp do twojego urządzenia, aby wyrządzić krzywdę.

Powodem, dla którego nie mogłeś znaleźć informacji o tym, dlaczego jest źle, jest to, że, cóż, w Internecie jest o wiele za dużo danych :) i że wiele osób, które używają Linuksa od dłuższego czasu, myśli tak jak ty. Ten sposób myślenia o koncie root jest dość nowy (może dekada?) I wiele osób wciąż denerwuje się, że musi używać sudo. Zwłaszcza jeśli pracują na serwerze, co oznacza, że ​​weszli z zamiarem wprowadzenia zmian w systemie. Prawdopodobnie sprowadzone z poprzednich złych doświadczeń i standardów bezpieczeństwa większość sysadminów wie lepiej, ale nadal im się to nie podoba :).

Marlon
źródło
„może dekada?” Znacznie dłużej niż od momentu, kiedy to napisałeś. Nawet bez sudo nie można nie wspomnieć np. O grupie kół (na przykład). Rozdzielenie uprawnień jest zawsze ważne i zawsze było ważne i zawsze będzie ważne. Nie tak wiele osób używało systemu operacyjnego opartego na Uniksie, jak wiele lat temu, a wielu z nich jest przyzwyczajonych do bycia administratorem.
Pryftan
36

To dobre pytanie. Myślę, że odpowiedź jest nieco inna w zależności od tego, czy mówisz o instalacji na serwerze, czy na komputerze.

Na komputerze rzadko używa się tego rootkonta. W rzeczywistości Ubuntu jest dostarczane z wyłączonym dostępem do katalogu głównego. Wszystkie zmiany wymagające uprawnień superużytkownika są dokonywane poprzez sudojego graficzną nazwę gksudoi kdesudo. Ponieważ łatwo jest ustawić roothasło, dlaczego ludzie tego nie robią?

Jednym z powodów jest to, że zapewnia dodatkową warstwę bezpieczeństwa. Jeśli uruchomisz program w taki rootsposób, że zostanie wykorzystana luka w zabezpieczeniach, osoba atakująca ma dostęp do wszystkich danych i może bezpośrednio kontrolować sprzęt. Na przykład może zainstalować trojana lub rejestrator kluczy w twoim jądrze. W praktyce jednak atak może wyrządzić duże szkody, nawet bez uprawnień administratora. W końcu wszystkie dane użytkownika - w tym dokumenty i przechowywane hasła - są dostępne bez dostępu użytkownika root.

Ważniejszym punktem w systemie dla jednego użytkownika jest to, że użytkownik nie może przypadkowo uniemożliwić używania systemu. Jeśli użytkownik nieumyślnie wyda polecenie, które usuwa wszystkie pliki, nadal będzie mógł uruchomić system, nawet jeśli dane zostaną utracone.

Ponadto większość obecnie używanych aplikacji (X11) opiera się na założeniu, że działają one jako zwykłe konto użytkownika i bez uprawnień administratora. Dlatego niektóre programy mogą działać nieprawidłowo po uruchomieniu jako root.

W systemie z wieloma użytkownikami i nie graficznym dostępem do powłoki wiele z tych powodów nie ma zastosowania. Jednak Ubuntu nadal domyślnie ma niedostępne rootkonto. Po pierwsze, istnieje prawdziwa różnica między uzyskaniem dostępu do konta użytkownika (z sudouprawnieniami) przez lukę w zabezpieczeniach a uzyskaniem dostępu do niego root, ponieważ w pierwszym przypadku zakłócenie działania innych użytkowników będzie wymagać uruchomienia sudoi nadal będzie wymagać podania hasła do konta jako dodatkowy krok bezpieczeństwa. Po drugie, przydatne jest wykonywanie wielu zadań administracyjnych z konta użytkownika i wywoływanie tylko sudowtedy, gdy absolutnie wymagane są uprawnienia administratora. Dlatego podczas instalowania programu ze źródła zaleca się zbudowanie źródła - działającego configureimake- w katalogu użytkownika i tylko sudo make installw ostatnim kroku. Ponownie utrudnia to zastrzelenie siebie (i innych użytkowników systemu dla wielu użytkowników) w stopę i zmniejsza prawdopodobieństwo, że skrypty kompilacji sieją spustoszenie w systemie. Dlatego nawet na serwerze dobrze jest trzymać się sudo w administracji Ubuntu .

Loevborg
źródło
2
he will still be able to boot the system, even if the data will be lost.- Jaki jest tego sens? Jeśli moje dane zostaną utracone, moje dane zostaną utracone i to wszystko. Oprogramowanie systemowe Linux można zainstalować ponownie, jeśli zostanie usunięte, dlaczego mam przejmować się utratą danych w takich katalogach? Z drugiej strony utrata danych ~jest zła. I sudonie chroni mnie przed tym.
Blauhirn
2
Inną dobrą praktyką jest tworzenie kopii zapasowych ważnych danych. Jeśli wyczyścisz katalog domowy, nadal możesz uruchomić komputer i po prostu skopiować pliki z kopii zapasowej. Lub, powiedzmy, masz mały laptop do podróży. Może zawierać zdjęcia, notatki z podróży, rozkład jazdy pociągów - ale nic zbyt kluczowego. Jeśli wyczyścisz pliki użytkownika, nadal możesz uruchomić system i sprawdzić swój lot lub dowiedzieć się, który autobus wybrać.
Richlv
@Blauhirn Backups. I jest szansa na wyzdrowienie, nawet jeśli wygląda ponuro.
Pryftan
34

Jednym z powodów, aby nie uruchamiać się jako root, który nie został (jak dotąd) zidentyfikowany przez inne odpowiedzi, jest identyfikowalność. Prawdopodobnie nie ma to większego znaczenia na komputerach, które są głównie komputerami dla jednego użytkownika (komputer stacjonarny lub laptop), ale na komputerach serwerowych, jeśli ktoś jest zalogowany jako root, nie wiesz, kto jest winien za podjęte działania. Dlatego większość profesjonalnych organizacji z wieloma systemami i wieloma administratorami, którzy potrzebują rootuprawnień, wymagają, aby ludzie logowali się przy użyciu własnego identyfikatora użytkownika (i hasła), a następnie używali sudolub podobnych programów, aby w rootrazie potrzeby korzystać z uprawnień.

W przeciwnym razie głównymi przyczynami niedziałania jako root są:

  • Minimalizuj ryzyko uszkodzenia w wyniku wypadku. Jeśli uruchamiasz się rm -fr / home/me/my-subdirjako root, po prostu dramatycznie wyeliminowałeś ze swojego komputera wszystko, co ważne ze względu na to miejsce po (pierwszym) ukośniku - ponieważ to, co jest pierwsze, to to, co zostało dodane jako pierwsze - małe rzeczy, takie jak jądro, /bini /etckatalogów. Unix denerwuje się, jeśli je stracisz.

  • Minimalizuj ryzyko uszkodzenia przez złośliwe strony zewnętrzne. Jeśli przeglądasz jako root, jesteś bardziej podatny na ataki typu „download” szkodliwego materiału.

Używam MacOS X bardziej niż Ubuntu, ale tam root jest domyślnie wyłączony i nadal jest na moim komputerze. Rutynowo aktualizuję jądro i inne podobne operacje - używając sudo(za kulisami). Podobne techniki dotyczą ogólnie Linuksa.

Zasadniczo powinieneś używać wszechmocnych przywilejów jedynie w rootprzypadku skróconych okresów pracy, aby uniknąć ryzyka błędów.

Jonathan Leffler
źródło
1
Nie chodzi o obwinianie kogoś, chodzi o to, aby dowiedzieć się, dlaczego ktoś dokonał zmiany.
jippie
2
@jippie: Mam na myśli „obwinianie” w ten sam sposób, w jaki VCS śledzi to, co zrobił, aby przypisać właściwej osobie odpowiedzialność za zmianę, na dobre lub na złe, i jedną z nazw dla polecenia wykonującego to śledzenie to „wina”. Daje ci możliwość porozmawiania, aby dowiedzieć się, dlaczego coś się stało. Nie zawsze jest to „wina” (choć przygnębiająco często powód, dla którego trzeba wiedzieć, to dlatego, że coś nie działa zgodnie z oczekiwaniami i trzeba wiedzieć, dlaczego nie). Chodzi więc o rozliczalność i śledzenie, a nie o to, że winią osobę za to, co zrobili.
Jonathan Leffler
W systemie Ubuntu polecenia takie jak rm -fr / home/me/my-subdirtak naprawdę nie próbują rekurencyjnie usuwać /, ponieważ /są traktowane specjalnie w celu ochrony przed takimi błędami. Szczegółowe informacje można znaleźć w dokumentacji opcji --preserve-rooti . Ale zasada jest zdrowa: istnieją literówki jednoznakowe , które powodują usunięcie wszystkiego. Na przykład, jeśli chcesz usunąć wszystko z bieżącego katalogu przez uruchomienie , ale przypadkowo wstawiłeś wcześniej , to byłoby źle. --no-preserve-rootman rmrmrm -r */*
Eliah Kagan
@EliahKagan Ale gdybyś zrobił ... chown -R nobody:nobody ../od powiedz / etc, czy to by cię ochroniło? Jeśli zrobiłbyś to na / etc, spowodowałoby to u ciebie ból. Podobnie jest w .*przypadku rekurencyjnego uruchamiania polecenia.
Pryftan
21

TL; DR: Rób rzeczy jako root tylko wtedy, gdy musisz. sudoczyni to całkiem łatwym. Jeśli włączysz logowanie do konta root, nadal będziesz mógł przestrzegać tej reguły, po prostu musisz być ostrożny. Chociaż włączenie logowania roota nie jest tak naprawdę niebezpieczne, ale nie musisz włączać logowania roota, ponieważ tak jest sudo.

Są tu naprawdę dwa powiązane pytania.

  • Dlaczego zalogowanie się jako root do codziennego korzystania z komputera jest złe (przeglądanie stron internetowych, poczta e-mail, edytor tekstu, gry itp.)
  • Dlaczego Ubuntu domyślnie całkowicie wyłącza logowanie do roota i używa sudoi polkit, aby umożliwić administratorom uruchamianie określonych poleceń jako root?

Dlaczego nie cały czas uruchamiać jako root?

Większość innych odpowiedzi obejmuje to. Sprowadza się do:

  1. Jeśli użyjesz uprawnień roota do zadań, które ich nie wymagają, i ostatecznie zrobisz coś, czego nie chciałeś zrobić, możesz zmienić lub uszkodzić system w sposób, którego nie chcesz.
  2. Jeśli uruchomić program jako root, kiedy nie trzeba, a to kończy się robić coś, co nie znaczy, bo to zrobić - na przykład ze względu na lukę w zabezpieczeniach lub innego błędu - to może zmienić lub szkody twój system w sposób, którego nie chcesz.

Prawdą jest, że nawet bez robienia rzeczy jako root, możesz wyrządzić krzywdę. Na przykład możesz usunąć wszystkie pliki z własnego katalogu domowego, który zwykle obejmuje wszystkie dokumenty, bez uruchamiania jako root! (Mam nadzieję, że masz kopie zapasowe.)

Oczywiście jako root istnieją dodatkowe sposoby przypadkowego zniszczenia tych samych danych. Na przykład możesz podać niewłaściwy of=argument do ddpolecenia i zapisać surowe dane na swoich plikach (co sprawia, że ​​jest to znacznie trudniejsze do odzyskania niż gdybyś je po prostu usunął).

Jeśli jesteś jedyną osobą, która korzysta z twojego komputera, szkoda, którą możesz wyrządzić tylko jako root, może nie być tak naprawdę wyższa niż szkoda, jaką możesz wyrządzić za pomocą zwykłych uprawnień użytkownika. Ale to wciąż nie jest powód, aby zwiększać ryzyko, aby uwzględnić dodatkowe sposoby na zepsucie systemu Ubuntu.

Jeśli uruchomienie z kontem użytkownika innego niż root uniemożliwiło ci sprawowanie kontroli nad własnym komputerem, byłby to oczywiście zły kompromis. Ale tak nie jest - za każdym razem, gdy rzeczywiście chcesz wykonać akcję jako root, możesz to zrobić za pomocą sudoinnych metod .

Dlaczego nie umożliwić zalogowania się jako root?

Idea, że ​​zdolność logowania jako root jest z natury niepewna, jest mitem. Niektóre systemy mają domyślnie włączone konto root; inne systemy używają sudodomyślnie, a niektóre są skonfigurowane z obu.

  • Na przykład OpenBSD , który jest powszechnie i rozsądnie uważany za najbezpieczniejszy system operacyjny ogólnego przeznaczenia na świecie, jest dostarczany z kontem głównym włączonym do lokalnego logowania opartego na hasłach.
  • Inne szanowane systemy operacyjne, które to robią, to RHEL , CentOS i Fedora .
  • Debian (z którego wywodzi się Ubuntu ) decyduje, które podejście zostanie skonfigurowane podczas instalacji systemu.

Obiektywnie nie jest źle mieć system, w którym konto root jest włączone, pod warunkiem, że

  1. nadal używasz go tylko wtedy, gdy naprawdę potrzebujesz, i
  2. odpowiednio ograniczasz dostęp do niego.

Często nowicjusze pytają, jak włączyć konto root w Ubuntu. Nie powinniśmy ukrywać przed nimi tych informacji, ale zwykle, gdy ludzie o to pytają, to dlatego, że mają błędne wrażenie, że muszą włączyć konto root. W rzeczywistości prawie nigdy nie jest to konieczne, dlatego odpowiadając na takie pytania, ważne jest, aby to wyjaśnić. Włączenie konta root ułatwia także samozadowolenie i wykonywanie działań jako root, które nie wymagają uprawnień roota. Ale to nie oznacza, że ​​włączenie konta root jest samo w sobie niebezpieczne.

sudozachęca i pomaga użytkownikom uruchamiać polecenia jako root tylko wtedy, gdy jest to konieczne. Aby uruchomić polecenie jako root, wpisz sudospację, a następnie polecenie. Jest to bardzo wygodne, a wielu użytkowników na wszystkich poziomach umiejętności woli takie podejście.

Krótko mówiąc, nie musisz włączać logowania użytkownika root, ponieważ masz sudo. Ale tak długo, jak używasz go tylko do zadań administracyjnych, które go wymagają, tak samo bezpieczne jest włączenie i zalogowanie się jako root, o ile tylko w ten sposób :

  • Lokalnie z nie graficznej wirtualnej konsoli .
  • Za pomocą supolecenia po zalogowaniu z innego konta.

Jednak jeśli zalogujesz się jako root w następujący sposób, pojawią się znaczne dodatkowe zagrożenia bezpieczeństwa:

  • Graficznie. Kiedy logujesz się graficznie, uruchamia się wiele rzeczy, aby zapewnić interfejs graficzny, a skończysz z uruchomieniem jeszcze większej liczby aplikacji jako root, aby używać tego interfejsu do czegokolwiek. Jest to sprzeczne z zasadą uruchamiania programów tylko jako root, które naprawdę potrzebują uprawnień roota. Niektóre z tych programów mogą zawierać błędy, w tym błędy bezpieczeństwa.

    Ponadto istnieje powód niezwiązany z bezpieczeństwem, aby tego uniknąć. Logowanie graficzne jako root nie jest dobrze obsługiwane - jak wspomina Loevborg , programiści środowisk graficznych i aplikacji graficznych często nie testują ich jako root. Nawet jeśli to zrobią, zalogowanie się do graficznego środowiska pulpitu, ponieważ root nie otrzyma testów alfa i beta rzeczywistych użytkowników, ponieważ prawie nikt tego nie próbuje (ze względów bezpieczeństwa wyjaśnionych powyżej).

    Jeśli chcesz uruchomić określoną aplikację graficzną jako root, możesz użyćgksudo lub sudo -H. Działa to o wiele mniej programów jako root, niż gdyby użytkownik logował się graficznie za pomocą konta root.

  • Zdalnie rootKonta może w efekcie nic zrobić, a to ma taką samą nazwę na praktycznie każdym systemie Unix. Logując się jako root za pośrednictwem sshlub innych zdalnych mechanizmów, a nawet konfigurując usługi zdalne, aby na to zezwalać , znacznie ułatwisz intruzom, w tym automatycznym skryptom i złośliwemu oprogramowaniu działającemu w botnetach, uzyskanie dostępu poprzez brutalną siłę, ataki słownikowe (i ewentualnie niektóre błędy bezpieczeństwa).

    Prawdopodobnie ryzyko nie jest bardzo wysokie, jeśli zezwalasz tylko na logowanie do roota na podstawie klucza , a nie hasła .

Domyślnie w Ubuntu nie są włączone ani graficzne logowania root, ani zdalne logowania przez SSH, nawet jeśli włączysz logowanie jako root . Oznacza to, że nawet jeśli włączysz logowanie roota, nadal będzie ono włączone tylko w sposób, który jest względnie bezpieczny.

  • Jeśli uruchomisz serwer ssh na Ubuntu i nie zmieniłeś się /etc/sshd/ssh_config, będzie on zawierał linię PermitRootLogin without-password. To wyłącza logowanie użytkownika root na podstawie hasła, ale umożliwia logowanie na podstawie klucza. Jednak żaden klucz nie jest domyślnie skonfigurowany, więc jeśli go nie skonfigurujesz, to też nie będzie działać. Co więcej, zdalne logowanie do roota oparte na kluczach jest znacznie mniej złe niż zdalne logowanie do roota na podstawie hasła, częściowo dlatego, że nie stwarza ryzyka brutalnej siły i ataków słownikowych.
  • Mimo że wartości domyślne powinny cię chronić, myślę, że nadal warto sprawdzić konfigurację ssh, jeśli zamierzasz włączyć konto root. A jeśli korzystasz z innych usług zapewniających zdalne logowanie, takich jak ftp, powinieneś je również sprawdzić.

Podsumowując:

  • Rób rzeczy jako root tylko wtedy, gdy musisz; sudopomaga to zrobić, jednocześnie zapewniając pełną moc rootowania w dowolnym momencie.
  • Jeśli rozumiesz, jak działa root i niebezpieczeństwa jego nadużywania, włączenie konta roota nie jest tak naprawdę problematyczne z punktu widzenia bezpieczeństwa.
  • Ale jeśli to zrozumiesz, wiesz również, że prawie na pewno nie musisz włączać konta root .

Aby uzyskać więcej informacji na temat roota, a sudotakże kilka dodatkowych korzyści sudo, których tutaj nie omówiłem , gorąco polecam RootSudo na wiki pomocy Ubuntu.

Eliah Kagan
źródło
„Jeśli jesteś jedyną osobą, która korzysta z twojego komputera, szkoda, którą możesz wyrządzić tylko jako root, może nie być tak naprawdę wyższa niż szkoda, jaką możesz wyrządzić swoim zwykłym użytkownikom. Ale to wciąż nie jest powód, aby zwiększać ryzyko. ”Nie wspominając o tym, że ma to w sobie nawyk… wtedy przechodzisz do innego systemu i co się dzieje? To samo z absurdalnym pomysłem przyzwyczajania ludzi do rm -ialiasu powłoki. Idziesz do systemu, który tego nie ma, a potem co? Dziecko siedzące przed takimi błędami nigdy nie jest dobrym pomysłem, jeśli uważasz, że ludzie są bardzo przyzwyczajeni.
Pryftan
13

Konto root jest domyślnie wyłączone - co oznacza, że ​​istnieje, ale nie można go używać (z wyjątkiem trybu odzyskiwania). Oznacza to, że osoba atakująca jest świadoma Twojego konta root, ale nie może go użyć, nawet jeśli ma hasło roota. Dlatego osoba atakująca musi odgadnąć zarówno nazwę użytkownika, która ma uprawnienia administratora, ORAZ hasło tego użytkownika (co jest znacznie trudniejsze niż próba wypracowania hasła roota). W XP, jeśli masz zainstalowaną Konsolę odzyskiwania, każdy, kto ma fizyczny dostęp do twojego urządzenia, można go uruchomić (RC) - hasło nie jest wymagane. Taki sam jak tryb odzyskiwania w Ubuntu.

W Ubuntu, gdy mówią, że root jest wyłączony - to tak naprawdę oznacza, że ​​konto jest zablokowane. Konto jest blokowane przez zmianę hasła na wartość, która nie pasuje do żadnej możliwej zaszyfrowanej wartości. To skutecznie uniemożliwia komukolwiek logowanie się jako root - ponieważ nie byłoby możliwości wprowadzenia hasła. Ponieważ wciąż są czasy, kiedy dostęp do roota jest konieczny - jądro Ubuntu zostało zmodyfikowane, aby umożliwić logowanie lokalne root tylko w trybie pojedynczego użytkownika.

Zobacz także tę stronę

karthick87
źródło
Um. Bez obrazy, ale możesz przeczytać tytuł pytania, a następnie ponownie przeczytać szczegóły.
Mussnoon
3
Jest to bardzo pomocne - i to nie odnosi się do tej kwestii. Dotyczy to konsekwencji związanych z bezpieczeństwem włączenia konta, co jest warunkiem koniecznym do działania jako root.
Stefano Palazzo
1
@Stefano Palazzo: Chociaż dostarczone informacje mogą być przydatne, szczerze nie widzę, w jakiej części leży odpowiedź na to, co musiałem wiedzieć. Przeczytałem to wiele razy.
Mussnoon,
Nie uniemożliwia ludziom zalogowania się do konta root.
Czad
12

To jak uzbrojenie małego dziecka w AK47, podczas gdy on może z radością bawić się swoim pistoletem do paintballa. ;)

Mam na myśli to źle, ponieważ ty i twoje aplikacje będą mieli więcej uprawnień, niż potrzebują, i wtedy rzeczy mogą, a czasem pójdą źle :(

omeid
źródło
5
bardziej sprytna analogia. (^_^)
kit.yang
2
Jest to całkowicie niewłaściwa analogia. Dziecko z AK47 może zabić siebie i innych ludzi. Użytkownik systemu uniksowego z dostępem do katalogu głównego może co najwyżej sprawić, że jego system będzie tymczasowo nieczynny. (Zawsze można ponownie zainstalować system operacyjny i przywrócić operację).
kbeta
@ kbeta Masz rację, moja analogia jest nieco nieproporcjonalna i przesadzona. proszę przejść dalej.
omeid
@ kbeta analogia jest odpowiednia. ryzyko nie jest nieoperacyjnym systemem, ale utratą danych i prywatności. użytkownik root może usunąć dane. użyj swojej fantazji, aby powiązać zabijanie i utratę danych.
n611x007
11

Bardzo fajne pytanie ... Pozwól, że odpowiem na nie z praktycznego punktu widzenia:

Kiedy zacząłem używać Linuksa, który jest ponad 10 lat temu, główne dystrybucje nie reklamowały się przy użyciu kont innych niż root, jak dziś. Ponieważ byłem przyzwyczajony do systemu Windows, nie widziałem sensu w używaniu konta użytkownika z ograniczeniami. Zwłaszcza dlatego, że musiałem często wpisywać „su” - sudo nie było wtedy tak popularne. ;-) Więc zawsze logowałem się jako root, ponieważ miałem wiele do zrobienia, aby dobrze skonfigurować mój system. Ale zgadnij co, każdy świeżo zainstalowany system szybko stał się bardzo niestabilny.

Na przykład jeden konkretny problem: nie miałem tyle miejsca na dysku twardym zarezerwowanym dla Linuksa, więc kilka razy zdarzyło mi się, że na mojej partycji pozostało 0 bajtów. Może nie jestem do końca precyzyjny, ponieważ nie znam dokładnego mechanizmu, ale kiedy zapełnisz dysk kontem innym niż root, zawsze pozostanie kilka kilobajtów. Ale jeśli naprawdę pozostało 0 bajtów, system popełnia dziwne błędy i może dojść do trudnych do naprawienia uszkodzeń w systemie, ponieważ w tle działa wiele programów systemowych ...

Inna sprawa: ten podział na root i non-root utrzymuje porządek w systemie. Jako użytkownik root możesz mieć pokusę, aby nie instalować czysto nowych aplikacji, co pozostawia brudny, trudny w utrzymaniu system.

Ale dobra rzecz: nowoczesne dystrybucje wykonują większość zadań administracyjnych za Ciebie, więc rzadko musisz majstrować w systemie Linux za pomocą konta root. Od czasu do czasu wystarczy wprowadzić hasło, resztę wykonują skrypty dystrybutora.

Ale wątpię, żebyś nie miał problemów z systemem Windows z tym, gdybyś używał 95 lub 98. (Przynajmniej miałem z tym problemy ...) Z powodu braku wyraźnego oddzielenia Administratora od zwykłego użytkownika „tradycyjny „Aplikacje Windows zakładają, że mogą zrobić wszystko, np. Zainstalować oprogramowanie szpiegujące, jeśli mają na to ochotę, nawet bez powiadomienia. Firma Microsoft zaangażowała się w ten problem podczas wypuszczania systemu Vista. (Skutecznie wdraża mechanizm sudo). Ludzie mieli bardzo irytujące dialogi z napisem „Nie możesz tego zrobić”. W przypadku niektórych programów niezgodnych z Vistą potrzebowałeś brudnych hacków, aby je zainstalować, nawet jako Administrator ...

Philip
źródło
„Może nie jestem do końca precyzyjny, ponieważ nie znam dokładnego mechanizmu, ale kiedy zapełnisz dysk kontem innym niż root, zawsze pozostanie kilka kilobajtów”. Być może odwołujesz się do katalogu lost + found? Jeśli tak, możesz jako administrator określić, ile chcesz zarezerwować. Chcę powiedzieć, że typowa wartość domyślna to 5%, ale mogę się mylić i można to zmienić. Jest to dość przydatne, nawet jeśli rzadko potrzebne. Najwyraźniej jest tutaj więcej (pamiętam to z lat użytkowania): unix.stackexchange.com/questions/18154/…
Pryftan
Podobno nie jest to ograniczone do systemów plików ext: unix.stackexchange.com/questions/7950/...
Philip
Tak. Wiedziałem o tym :) Ale dzięki za dodanie tego.
Pryftan
10

Podejście to obejmuje wiele aspektów. Niektórzy z nich są:

  • Korzeń jest potężny.
  • W systemach Unix i podobnych do Unixa uprawnienia do administrowania systemem są wszystkie lub nic. Użytkownik ma dostęp do konta root lub nie, a dostęp do konta root oznacza pełną kontrolę nad maszyną. Jeśli z danego komputera korzysta więcej niż jedna osoba lub root ma dostęp do innych systemów lub plików użytkownika, bardziej dopuszczalne jest przyznanie niektórym użytkownikom częściowych uprawnień do rootowania.

  • Użytkownik root może ukryć wszystkie swoje działania.
  • sudo rejestruje każde polecenie uruchamiane przez sudo. Rejestrowanie tego, co zostało zrobione z sudo, pomaga nam diagnozować problemy z poszczególnymi systemami / procesami i ogólne problemy z konfiguracją, a także pomaga nam zidentyfikować potrzebne ulepszenia.

  • Hasło roota daje dostęp do dowolnej komendy w systemie.
  • Dzięki plikowi konfiguracyjnemu sudo może dać użytkownikowi root dostęp do określonego zestawu poleceń. Pozwala to również uniknąć efektu „wszystko albo nic”, co pozwala nam dać indywidualnym użytkownikom większą kontrolę nad swoimi maszynami i pomóc sobie w radzeniu sobie z typowymi problemami.

    tutaj jest dobry artykuł: http://cf.stanford.edu/policy/root

    aneeshep
    źródło
    Ale kiedy masz pełne sudo, możesz sudo su i ukryć swoje działania.
    Wilhelm Erasmus
    8
    rm /*
    

    Powiedzmy, że sprzątałeś obszar administracyjny. Masz dość hasła, więc ty sudo su. Rozpraszasz się na sekundę i zapominasz o cd /. Potem rm *. Zrobiłem to. Możesz to wszystko odzyskać, ale to jest PITA. Aha, i to też spadło /media!

    bambuntu
    źródło
    10
    Zawsze narzekamy na to, że nasz komputer jest zbyt wolny, ale wygląda to tak, jakby były zoptymalizowane pod kątem jak najszybszego uruchamiania takich programów.
    jippie
    1
    @jippie Ponieważ RM po prostu niszczy łącze i-węzła do pliku. Nie trzeba długo usuwać łącza i oznaczać spacji jako „wolne”.
    Kaz Wolfe
    @jippie, powinien mieć kompilację w 10-sekundowym odliczaniu
    Mam nadzieję, że
    7

    Dlaczego nie masz loginu root?

    Podczas gdy można utworzyć hasło dla konta superużytkownika umożliwiającym zalogowanie się jako root, to warto wspomnieć, że to nie jest „Ubuntu” sposób robienia rzeczy. Ubuntu zdecydowało się nie podawać domyślnie loginu i hasła użytkownika root z jakiegoś powodu. Zamiast tego zostanie użyta domyślna instalacja Ubuntu sudo.

    Sudo jest alternatywą dla podawania ludziom hasła roota w celu wykonywania obowiązków administratora. W domyślnej instalacji Ubuntu osoba, która zainstalowała system operacyjny, domyślnie otrzymuje uprawnienia „sudo”.

    Każdy, kto ma uprawnienie „sudo”, może wykonać coś „jako superużytkownik”, oczekując sudona polecenie. Na przykład, aby uruchomić apt-get dist-upgradejako superużytkownik, możesz użyć:

    sudo apt-get dist-upgrade
    

    Korzyści z podejścia sudo

    • Dzięki sudo z góry wybierasz, którzy użytkownicy mają dostęp do sudo. Nie muszą pamiętać hasła roota, ponieważ używają własnego hasła.

    • Jeśli masz wielu użytkowników, możesz odwołać dostęp do swojego administratora po prostu usuwając ich uprawnienia sudo, bez potrzeby zmiany hasła roota i powiadamiania wszystkich o nowym haśle.

    • Możesz nawet wybrać, które polecenia użytkownik może wykonywać za pomocą sudo i które polecenia są dla niego zabronione.

    • I wreszcie, w przypadku naruszenia bezpieczeństwa może w niektórych przypadkach pozostawić lepszą ścieżkę audytu pokazującą, które konto użytkownika zostało naruszone.

    Sudo ułatwia wykonywanie pojedynczych poleceń z uprawnieniami administratora. Dzięki logowaniu do konta root na stałe pozostajesz w powłoce superużytkownika, którą należy zamknąć za pomocą exitlub logout. Może to spowodować, że ludzie pozostaną w powłoce superużytkownika dłużej niż to konieczne tylko dlatego, że jest to wygodniejsze niż wylogowanie i ponowne zalogowanie później.

    W sudo nadal możesz otworzyć stałą (interaktywną) powłokę superużytkownika za pomocą polecenia:

    sudo su
    

    ... i nadal można tego dokonać bez hasła roota, ponieważ sudodaje on superużytkownikowi uprawnienia do supolecenia.

    Podobnie, zamiast su -powłoki logowania, której możesz użyć, sudo su -a nawet sudo -i.

    Jednak robiąc to, musisz mieć świadomość, że działasz jako superużytkownik dla każdego polecenia. Dobrą zasadą bezpieczeństwa jest, aby nie pozostać superużytkownikiem dłużej niż to konieczne, aby zmniejszyć możliwość przypadkowego spowodowania uszkodzenia systemu (bez niego możesz tylko uszkodzić pliki, których właścicielem jest użytkownik).

    Właśnie w celu wyjaśnienia, to może , jeśli zdecydujesz, daj użytkownik root hasło pozwalające logowania jako root, jeśli konkretnie chcesz robić rzeczy w ten sposób zamiast. Chciałem tylko poinformować cię o konwencji preferowania Ubuntu sudozamiast tego i spróbować wyjaśnić niektóre z powodów, dla których Ubuntu preferuje takie podejście jako domyślne.

    Dlaczego nie zezwolić na logowanie roota przez SSH?

    Nawet jeśli użytkownik root nie ma hasła umożliwiając zalogować się jako root, nadal jest to dobra praktyka, aby wyłączyć zabezpieczenie bezpośrednie logowanie roota z zewnątrz, takich jak SSH. Rozsądne jest, aby użytkownicy musieli su -lub sudopo pierwszym logowaniu.

    Potencjalne korzyści z tego związane są głównie z bezpieczeństwem:

    • Redukuje wektor ataku, usuwając możliwość brutalnego wymuszenia hasła roota. Typowe jest, że serwer w Internecie jest ciągle blokowany przez próby brutalnego wymuszenia hasła roota przez SSH.

    • Stwarza to lepsze ścieżki audytu, tak, że nawet w przypadku naruszenia gdzie atakujący robi uzyskać prawa administratora później, można zobaczyć, której konto użytkownika zostało wykorzystane w celu uzyskania dostępu.

    thomasrutter
    źródło
    6

    Po zalogowaniu jako root umożliwia aplikacjom, skryptom lub poleceniom wiersza dostęp do wrażliwych części oprogramowania, które mogą uszkodzić system. Może to wynikać z braku doświadczenia użytkownika lub programisty lub z powodu złośliwego ukrytego kodu.

    Gersitar
    źródło
    5

    Po prostu działa zbyt łatwo, gdy działa się jako root. Możesz zablokować cały system za pomocą jednego polecenia ...

    Stefano Palazzo
    źródło
    5

    Mogę dodać, że istnieje różnica między Administratorem w systemie Windows a rootowaniem w Uniksie. Administrator nadal ma pewne ograniczenia w systemach, w których root nie ma żadnych ograniczeń. Prawidłowym analogiem roota w systemie Windows jest użytkownik systemu .

    Złą rzeczą w korzystaniu z komputera w systemie root / System jest to, że możesz przypadkowo zniszczyć wszystko bez ostrzeżenia ze strony systemu operacyjnego.

    Aleksei
    źródło
    3

    Powody, dla których nie należy używać roota:

    • Może przypadkowo zniszczyć pliki systemowe
    • Może dojść do infekcji
    • Nie rejestruje działań

    Powody korzystania z roota:

    • Dostęp do wszystkiego, bez wpisywania haseł
    • GUI, brak terminali do zarządzania plikami systemowymi / katalogami

    Wydaje mi się, że konto użytkownika innego niż root nadal może paść ofiarą tych powodów, dla których nie chce używać roota, tym bardziej dodaje potwierdzenie swoich działań. Myślę, że tak długo jak wiesz, co robisz, jesteś całkowicie bezpieczny używając roota. Tam powiedziałem.

    Que
    źródło
    Chociaż technicznie istnieje sposób na rejestrowanie działań, w tym każdego pojedynczego polecenia. Dotyczy to każdego użytkownika. Zobacz rozliczanie procesów, np. Tutaj: linuxjournal.com/article/6144 I to naprawdę bezpieczne, tylko jeśli musisz być rootem; w przeciwnym razie nie jest to całkowicie bezpieczne (exploit itp.), nawet jeśli polecenie powinno być bezpieczne.
    Pryftan
    3

    Jeśli aplikacje są uruchamiane jako root, nie ma gwarancji, że żadna z nich nie zostanie wykonana

    rm -rf /
    

    (Jest to przykład polecenia, którego nie należy uruchamiać).

    segfault
    źródło
    @StefanoPalazzo Ten post nie ma sensu po usunięciu polecenia, więc cofnąłem twoją edycję - równie dobrze możesz usunąć post. Zauważ, że w przeciwieństwie do powszechnego nieporozumienia, to polecenie, jak napisano, tak naprawdę nie usuwa plików po uruchomieniu w systemie Ubuntu, ale jest podobne do poleceń, które to robią. Więc jeśli martwisz się, że ktoś może bezmyślnie skopiować polecenie i zniszczyć swój system, jest to mało prawdopodobne. Szczegółowe informacje można znaleźć w dokumentacji opcji --preserve-rooti . --no-preserve-rootman rm
    Eliah Kagan
    Solaris traktuje to polecenie jako niezdefiniowane zachowanie zgodnie z szeroką interpretacją POSIX (i Bryan Cantrill) i zgłasza błąd
    Jeremy Hajek
    3

    Biorąc pod uwagę dobrze poinformowanego i ostrożnego użytkownika, nie jestem pewien, czy istnieje prawidłowa odpowiedź. Nie widziałem tej odpowiedzi, więc pomyślałem, że wejdę.

    To, co mi się nie podoba, to niezamierzone zmiany uprawnień w systemach z wieloma użytkownikami, które muszę chmodpóźniej. Naprawa za pomocą chmod po fakcie jest znacznie bardziej irytująca niż potrzeba sudo, ale zależy to od tego, co zaplanowałem.

    Clayton
    źródło
    3

    Ostrożne logowanie nie jest niebezpieczne.

    Chociaż myślę, że wyłączenie roota jest lepszym rozwiązaniem, ponieważ atakujący nie mógł go brutalnie wymusić.

    Jednym z rozwiązań jest utworzenie użytkownika w grupie sudo o niejasnej nazwie, polubienie gameri użycie sudo do wykonywania zadań administracyjnych.

    Dlatego atakujący musi nie tylko odgadnąć hasło tego użytkownika administracyjnego, ale także jego nazwę logowania. Nie jest to oczywiste, jeśli użytkownik korzystający z sudo ma nazwę logowania podobną kittylub gamerpodobną.

    Bulat M.
    źródło
    2

    Oprogramowanie opiera się na bibliotekach współdzielonych, zależnościach, plikach konfiguracyjnych itp.
    Najczęściej jedno kliknięcie w aplikacji wywołuje „reakcję łańcuchową” wielu zmian, nie tylko tam, gdzie się to wydaje.
    Kiedy zmiany te mają wpłynąć na ustawienia krytyczne dla systemu, dobrze jest wiedzieć jako użytkownik.
    Właśnie dlatego dostęp
    do konta root jest dobrym modelem bezpieczeństwa: jeśli coś ważnego stanie się w twoim systemie, zostaniesz powiadomiony poprzez prośbę o podniesienie uprawnień.

    Pavlos G.
    źródło
    1

    Jest to dwulicowy problem z więcej niż jedną odpowiedzią.

    Aby zobaczyć rzeczywistość, sprawdź zawsze takie same, ale och, tak okropne odpowiedzi na to:

    desktop installations:

    • w razie potrzeby użyj własnego użytkownika i sudo, w przeciwnym razie z powodzeniem zastosujesz wektor ataku, ponieważ tak naprawdę nie wiesz, co robisz, a system jest zagrożony
    • w większych firmach są szanse, że możesz nie mieć uprawnień rootowania na własnej stacji roboczej, nawet jeśli jesteś administratorem, w zależności od ilości obecnych czapek z folii aluminiowej.

    server installations:

    • istnieje ogromna różnica między wykonywaniem krótkich sesji roboczych jako rootem (pod warunkiem, że masz loginy bez hasła, prawidłowe zarządzanie kluczami ssh dla wszystkich serwerów - i fail2ban skonfigurowanych dla wszystkich loginów haseł, gdy i tak jesteś) i posiadaniem każdego demona / usługi działa z własnym użytkownikiem (co jest koniecznością) - większość ludzi nie zdaje sobie sprawy z różnicy
    • dla zabawy: spróbuj użyć narzędzi do zarządzania konfiguracją kontrolowanych wersjami (ansible / puppet / salt / cokolwiek z plikami z serwera git) tylko bez dostępu root. (masz jakąś formę AAA dla tych specjalnych systemów, a także dla systemów monitorowania i tworzenia kopii zapasowych, prawda?)
    • także: domyślnie rm -rf /nie działa w większości głównych dystrybucji IIRC
    • każde poważne miejsce pracy ma jumphost / bastion-host do uzyskiwania dostępu do floty serwerów, która i tak rejestruje wszystko, co robisz, co prawdopodobnie jest dalej chronione przez 2FA
    • jeśli masz sudo i nie masz jumphost, możesz naprawić dzienniki hostów, aby skończyły się tak, jak chcesz, tak czy inaczej, jeśli nie są dublowane w czasie rzeczywistym, to znaczy.
    • kiedy również logi ssh są „czyszczone”, nie można nawet udowodnić, że byłeś na hoście, jeśli nie ma żadnego dodatkowego systemu monitorowania sieci

    Dla dowolnej wielkości firmy (czytaj: najprawdopodobniej SOHO ze statycznym ip) pomiędzy tymi dwoma skrajnościami, którym brakuje przyzwoitych środków monitorowania / tworzenia kopii zapasowych / automatyzacji / rejestrowania, może być przydatne wymuszenie użycia sudo na serwerach. (Który jest obchodzony przez osoby, które robią sudo su -JAK NAJSZYBCIEJ po połączeniu, pozwalając, aby wszystkie twoje zamiary rejestrowania tego, co się stało, poszły na marne, nawet bez złośliwych intencji, gdy tylko zaloguje się więcej niż jeden użytkownik root. środki w przypadku nieprzestrzegania zasad. Życie zawsze znajdzie sposób.)

    Ale jeśli nie masz przynajmniej fail2ban do zabezpieczenia swoich loginów haseł (jeśli są obecne, szczególnie w systemach internetowych), a także pamiętaj o właściwej obsłudze haseł (narzędzia do zarządzania hasłami, zasady przechowywania, brak haseł głównych, obsługa ich u pracownika) fluktuacje ...) i mieć jakąś formę odpowiedniego zarządzania aktualizacjami dla floty serwerów, aby wszystkie serwery były regularnie załatane, prawdopodobnie i tak zostaniesz zhakowany pewnego dnia, czy to z wewnątrz, czy z zewnątrz.

    I zawsze używanie sudoreligijnie i wymuszanie jego używania wśród wszystkich ludzi nie zmieni twojego prawdopodobieństwa posiadania dużej własności w tym przypadku.

    sjas
    źródło
    Wreszcie prawdziwa i zróżnicowana odpowiedź, zamiast zwykłych mantr „nigdy nie rób tego”. +1 i dzięki za to.
    Andreas H.
    0

    Ostatecznie nie ma żadnej szkody w działaniu jako root. To tylko garstka paranoików, którzy myślą, że ponowna instalacja systemu operacyjnego jest niemożliwa. Argument „Ktoś może skompromitować program ...”, więc co? jeśli to zrobią, mogą już zapisać hasło do loginu lub po prostu wyświetlić żądanie hasła roota i podać mu hasło. Zdmuchnąć system, ponieważ zaznaczasz wszystko w / i usuwasz? no cóż, wyjdź z instalatora i zainstaluj ponownie. To zajmuje mniej niż 20 minut, napij się kawy i odpocznij. Root jest w porządku, działam jako root tak długo, jak pamiętam i wiesz, co to robi? To sprawia, że ​​instalowanie pakietów jest mniej uciążliwe. Nie musisz wprowadzać hasła roota co 5 minut, jak zwykle. Nie napotykasz problemów podczas próby zapisania / edycji plików konfiguracji systemu, ponieważ „ ponownie tylko uprawnienia root. O wiele łatwiej i lepiej jest działać jako root.

    Corky
    źródło