Jaką rzeczywistą korzyść osiąga Ubuntu (lub pochodne Debiana) poprzez wyłączenie użytkownika root?
Wszędzie czytam, że mówi, aby zapobiec niezamierzonym szkodom dla niedoświadczonych użytkowników. Chcę wiedzieć, co dokładnie, ponieważ sudo
może wykonywać wszystkie polecenia (które znam / używam).
Więc w takim przypadku root może spowodować uszkodzenie, a sudo
nie może?
PS: Wiem jak sudo
działa.
Odpowiedzi:
Ponieważ zazwyczaj musisz przywoływać za
sudo
każdym razem, gdy chcesz zrobić coś, co wymaga uprawnień, powodem jest to, że „pomyślisz, zanim skoczysz”, tj. Nie po prostu zastawiasz sudo przed czymś, nie zastanawiając się przez chwilę, jakie polecenie wykonujesz zrobi.Z
su
drugiej strony, kiedy już jesteś, jesteś w środku. Masz carte blanche (otwarta licencja) na robienie wszystkiego i wszystko, a powodem jest to, że możesz na chwilę zapomnieć, że masz te przywileje i jeśli pecha, wykonaj coś, co poważnie wpłynie na / uszkodzi twój system - gdybyś nie miał uprawnień su, polecenie nie zrobiłoby nic poważnego.źródło
sudo
, więc nie używam ich. Kiedy go używam, daje mi chwilę przerwy. Tak, mówię jako programista, a nie przeciętny użytkownik, ale przecież przeciętni użytkownicy nie używają wiersza poleceń.sudo
ponadsu
. Zbyt często ludzie mówią „używaj sudo, ponieważ jest bezpieczniejsze niż su” - co naiwnie jest myśleć, ponieważ wcale nie jest bezpieczniejsze. Zapomnieć użyłeśsu
ma usprawiedliwienia, to tylko w dół-prawo niekompetencja jeśli uruchomić polecenie jako root przypadkowo.su
, ale osobiście wolałbym nie ustawiać bomb, niż zakładać, że pamiętam, aby je rozbroić.IMO ma główne zalety sudo nad su, ponieważ sudo ma lepsze rejestrowanie uruchomionych poleceń, a sudo daje lepszą kontrolę nad tym, co mogą zrobić użytkownicy.
su jest wszystkie lub nie ma go wcale, ale sudo można skonfigurować tak, aby umożliwić dostęp do niektórych, ale nie wszystkich poleceń.
Zobacz https://help.ubuntu.com/community/RootSudo, aby uzyskać pełniejszą dyskusję, w tym zalety i wady.
źródło
su -
Gdy zalogujesz się jako root , każde zadanie, które uruchomisz, akcja, którą uruchomisz lub przypadkowe zdarzenie spowodowane odwiedzeniem określonej strony internetowej itp. Będzie działało jako superużytkownik .
sudo
Kiedy wywołujesz sudo , kiedy uruchamiasz polecenie, tylko to polecenie będzie działać jako superużytkownik .
Zostaniesz poproszony o podanie hasła , zanim polecenie zostanie wykonane. Wymagana jest również interakcja użytkownika .
Próby wywołania sudo mogą być również rejestrowane .
źródło
sudo su
. podczas gdy myślnik-
jest flagą akceptowaną przezsu
i traktuje twoją powłokę tak, jakbyś zalogował się jako użytkownik (uruchamia inny zestaw plików środowiska, np. .bashrc / .profile)Chodzi o zarządzanie użytkownikami / hasłami dla sysadmins.
Jeśli masz wielu użytkowników, wszyscy powinni mieć osobne konta i powinniśmy mieć możliwość śledzenia za pomocą tych kont. Oznacza to, że ludzie nie mogą ukryć swojej tożsamości. Ponadto, jeśli musisz odwołać uprawnienia określonych użytkowników, nie musisz również resetować hasła roota. Aby dać każdej osobie w środowisku z więcej niż 2 administratorami, hasło roota stanowi koszmar, gdy jedna osoba rezygnuje. Musisz nie tylko to zmienić, ale też to przekazać itp. Wszystko to musi się zdarzyć, gdy jeden z nich ma skradzionego laptopa lub coś takiego. Jedno konto z jednym hasłem na osobę ułatwia administrację. Jest podobny do filozofii, która uzasadnia, dlaczego każda usługa powinna mieć własne konto. W przypadku naruszenia bezpieczeństwa jednego konta nie trzeba ponownie konfigurować kolejnych kilkunastu usług (takich jak zadania tworzenia kopii zapasowych), aby móc korzystać z innego konta.
Uważam również, że osobiście wygodnie jest nie mieć kolejnego hasła do śledzenia, zgubienia i naruszenia bezpieczeństwa. Na RHEL specjalnie wyłączam konto root po skonfigurowaniu sudo, więc nie muszę go śledzić. Raz na jakiś czas użytkownik przegląda plik sudo, ale można go naprawić w trybie pojedynczego użytkownika. (Oczywiście jest to zwykle maszyna produkcyjna).
UWAGA: „sudo bash” pozwoli ci pominąć pisanie sudo dla każdego polecenia ...
źródło
sudo mc
: DMyślę, że najpierw musimy przyjrzeć się, czym w rzeczywistości są su i sudo
su - oznacza użytkownika zastępczego. Służy to do przełączania się na powłokę jako inny użytkownik używający hasła tego użytkownika. Powszechnie używany z rootem. Nie wymaga hasła podczas wykonywania jako root.
sudo - pozwala uprawnionemu użytkownikowi wykonać określone polecenie jako inny użytkownik. Często używany również z rootem. Pozwala to jednak na szczegółowe zarządzanie poleceniami, które mogą być wykonywane w inny sposób. (Na przykład możesz dać użytkownikowi możliwość uruchomienia skryptu init.d, ale nic więcej.)
Uwaga: zawsze możesz uruchomić
sudo su
lub,sudo -i
a to da ci root root. Jednak brak hasła roota oznacza brak logowania bezpośrednio jako root ... co oznacza, że nikt nie może włamać się do tego użytkownika.EDYCJA: więc może ta odpowiedź, której szukasz, to: brak hasła roota zmusza cię do użycia
sudo
, co z kolei naturalnie dostosowuje cię dosudo
filozofii, która sugeruje, abyś wymusił większą kontrolę nad działaniami wykonywanymi jako root.źródło
Ponadto istnieją kwestie związane z rejestrowaniem między sudo i su. Bycie su po prostu robi wszystko jako root bez wpisu innego niż jeden wiersz w dzienniku autoryzacji, mówiąc, że zostałeś rootem.
Sudo z drugiej strony - zawsze zostaje zalogowany jako identyfikator użytkownika w eskalowanym przywileju.
źródło
Zazwyczaj logowanie jako su jest łatwiejsze podczas wykonywania zadań administracyjnych. Istnieje jednak co najmniej jeden wyjątek: gdy właściciel pliku ma znaczenie. Jeśli potrzebujesz użytkownika, który będzie właścicielem pliku, zaloguj się jako ten użytkownik i użyj sudo, aby załadować lub skopiować pliki. Prostymi przykładami są pliki zakładek i tapet. Jeśli użytkownik nie jest właścicielem pliku, zakładka „Przywróć” z Firefoxa zakończy się niepowodzeniem. Po ustawieniu tapety pulpitu może nie działać, jeśli nie jesteś właścicielem pliku. Czasami możesz po prostu ustawić uprawnienia lub włączyć jako plik wykonywalny, ale niektóre ustawienia lub programy zawodzą, jeśli nie jesteś właścicielem pliku.
źródło