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.
źródło
Odpowiedzi:
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
/usr
katalog 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.
źródło
rm -rf tmp/tests/*
...sudo
i moje hasło do każdej drugiej komendy w Linuksie. Czy użytkownicy Linuksa nie powinni być leniwi ?????Tylko jedno słowo: bezpieczeństwo.
źródło
Uruchamianie jako root jest złe, ponieważ:
sudo -i
jesteś rootem. Chcesz uruchomić niektóre polecenia za pomocą potoków? Następnie użyjsudo sh -c "comand1 | command2"
.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 :).
źródło
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
root
konta. W rzeczywistości Ubuntu jest dostarczane z wyłączonym dostępem do katalogu głównego. Wszystkie zmiany wymagające uprawnień superużytkownika są dokonywane poprzezsudo
jego graficzną nazwęgksudo
ikdesudo
. Ponieważ łatwo jest ustawićroot
hasło, dlaczego ludzie tego nie robią?Jednym z powodów jest to, że zapewnia dodatkową warstwę bezpieczeństwa. Jeśli uruchomisz program w taki
root
sposó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
root
konto. Po pierwsze, istnieje prawdziwa różnica między uzyskaniem dostępu do konta użytkownika (zsudo
uprawnieniami) przez lukę w zabezpieczeniach a uzyskaniem dostępu do niegoroot
, ponieważ w pierwszym przypadku zakłócenie działania innych użytkowników będzie wymagać uruchomieniasudo
i 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 tylkosudo
wtedy, gdy absolutnie wymagane są uprawnienia administratora. Dlatego podczas instalowania programu ze źródła zaleca się zbudowanie źródła - działającegoconfigure
imake
- w katalogu użytkownika i tylkosudo make install
w 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 .źródło
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. Isudo
nie chroni mnie przed tym.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ąroot
uprawnień, wymagają, aby ludzie logowali się przy użyciu własnego identyfikatora użytkownika (i hasła), a następnie używalisudo
lub podobnych programów, aby wroot
razie 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-subdir
jako 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,/bin
i/etc
katalogó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
root
przypadku skróconych okresów pracy, aby uniknąć ryzyka błędów.źródło
rm -fr / home/me/my-subdir
tak 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-root
i . 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-root
man rm
rm
rm -r *
/
*
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.TL; DR: Rób rzeczy jako root tylko wtedy, gdy musisz.
sudo
czyni 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 jestsudo
.Są tu naprawdę dwa powiązane pytania.
sudo
i 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:
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 dodd
polecenia 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ą
sudo
innych 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ą
sudo
domyślnie, a niektóre są skonfigurowane z obu.Obiektywnie nie jest źle mieć system, w którym konto root jest włączone, pod warunkiem, że
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.
sudo
zachęca i pomaga użytkownikom uruchamiać polecenia jako root tylko wtedy, gdy jest to konieczne. Aby uruchomić polecenie jako root, wpiszsudo
spację, 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 :su
polecenia 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
lubsudo -H
. Działa to o wiele mniej programów jako root, niż gdyby użytkownik logował się graficznie za pomocą konta root.Zdalnie
root
Konta 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średnictwemssh
lub 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.
/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.Podsumowując:
sudo
pomaga to zrobić, jednocześnie zapewniając pełną moc rootowania w dowolnym momencie.Aby uzyskać więcej informacji na temat roota, a
sudo
także kilka dodatkowych korzyścisudo
, których tutaj nie omówiłem , gorąco polecam RootSudo na wiki pomocy Ubuntu.źródło
rm -i
aliasu 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.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ę
źródło
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 :(
źródło
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 ...
źródło
Podejście to obejmuje wiele aspektów. Niektórzy z nich są:
tutaj jest dobry artykuł: http://cf.stanford.edu/policy/root
źródło
Powiedzmy, że sprzątałeś obszar administracyjny. Masz dość hasła, więc ty
sudo su
. Rozpraszasz się na sekundę i zapominasz o cd/
. Potemrm *
. Zrobiłem to. Możesz to wszystko odzyskać, ale to jest PITA. Aha, i to też spadło/media
!źródło
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
sudo
na polecenie. Na przykład, aby uruchomićapt-get dist-upgrade
jako superużytkownik, możesz użyć: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ą
exit
lublogout
. 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:
... i nadal można tego dokonać bez hasła roota, ponieważ
sudo
daje on superużytkownikowi uprawnienia dosu
polecenia.Podobnie, zamiast
su -
powłoki logowania, której możesz użyć,sudo su -
a nawetsudo -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
sudo
zamiast 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 -
lubsudo
po 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.
źródło
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.
źródło
Po prostu działa zbyt łatwo, gdy działa się jako root. Możesz zablokować cały system za pomocą jednego polecenia ...
źródło
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.
źródło
Powody, dla których nie należy używać roota:
Powody korzystania z roota:
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.
źródło
Jeśli aplikacje są uruchamiane jako root, nie ma gwarancji, że żadna z nich nie zostanie wykonana
(Jest to przykład polecenia, którego nie należy uruchamiać).
źródło
--preserve-root
i .--no-preserve-root
man rm
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ę
chmod
później. Naprawa za pomocą chmod po fakcie jest znacznie bardziej irytująca niż potrzeba sudo, ale zależy to od tego, co zaplanowałem.źródło
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
gamer
i 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ą
kitty
lubgamer
podobną.źródło
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ń.
źródło
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
:server installations
:rm -rf /
nie działa w większości głównych dystrybucji IIRCDla 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
sudo
religijnie i wymuszanie jego używania wśród wszystkich ludzi nie zmieni twojego prawdopodobieństwa posiadania dużej własności w tym przypadku.źródło
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.
źródło