Czy można używać użytkownika root jako zwykłego użytkownika?

94

Włączyłem użytkownika root na moim Macu, dzięki czemu mogę się na nim zalogować i uruchomić Findera. Będąc leniwą osobą, po prostu przeniosłem wszystko z mojego katalogu domowego do /var/root. Nie jestem tego pewien, więc mogę wszystko cofnąć. Czy technicznie „w porządku” jest używanie tego jak zwykłego użytkownika? (Tylko ja mogę uzyskać dostęp do mojego komputera).

智障 的 人
źródło
6
Dobre pytanie z pozbawionym korzeni „el Capitan” za rogiem.
CousinCocaine
4
Co konkretnie oznacza (dostęp do mojego komputera). Prawdopodobnie łączysz się z Internetem. Nie określasz, jakie oprogramowanie dajesz dostęp do komputera. Jak wygląda dla ciebie „OK”? Wyrazy uznania za otrzymanie świetnych ogólnych odpowiedzi. Prawdopodobnie lepiej zadać bardziej szczegółowe pytanie (jeśli istnieje) jako pytanie uzupełniające.
bmike
6
Możesz używać konta root jako zwykły użytkownik, pod warunkiem, że znasz odpowiedź na pytanie „Czy można używać konta root jako zwykły użytkownik?”. Gdy znasz odpowiedź, nie będziesz. ;-)
Dakshinamurthy Karra
Możesz dodać rozróżnienie między użytkownikiem root, administratorem i zwykłym użytkownikiem. Wierzę, że admin jest domyślny.
Steve Moser
6
„Jestem jedynym, który może uzyskać dostęp do mojego komputera” <- Lol
Tim

Odpowiedzi:

352

Używanie komputera przez cały czas zalogowanego jako root to jak noszenie ze sobą wszystkich kluczy, paszportu, 5000 $ w gotówce, tego kawałka papieru ze wszystkimi hasłami i jedynego zdjęcia, które masz Flopsy, uroczego królika, którego śmierć złamała wasze siedmioletnie serce. Aha, i piła łańcuchowa.

Oznacza to, że od czasu do czasu jest to bardzo wygodne, ponieważ oznacza to, że możesz robić, co chcesz, kiedy chcesz, bez konieczności wracania do domu po rzeczy lub porozmawiać z menedżerem banku. Ale naraża Cię to również na ryzyko utraty rzeczy, kradzieży (nie sądzę, że piła łańcuchowa ci pomoże: będziesz na ulicach, zanim zauważysz, że portfel zniknął), robiąc rzeczy, których naprawdę żałujesz później (kupowanie pod wpływem impulsu bilety lotnicze do Vegas w stanie nietrzeźwym, biorąc niebezpieczne skróty (piła łańcuchowa przez ogrodzenie lwicy, bo to najszybsza droga do pand) i przesadnie reaguje (piła łańcuchowa samochodu sąsiada, ponieważ jego pies za dużo szczeka). A kiedy się nad tym zastanowisz, po prostu idziesz do biura, robisz zakupy spożywcze, spotykasz się ze znajomymi. Jesteś skończony' Trzeba cały czas mieć to wszystko ze sobą tylko dla wygody, czego potrzebujesz, co ?, raz w miesiącu? Raz w tygodniu?

Więc nie, używanie konta root przez cały czas nie jest w porządku. Daje to niewielką wygodę, ale stwarza duże niebezpieczeństwo. Istnieje niebezpieczeństwo, że głupie błędy przyniosą katastrofalne skutki („Hej, dlaczego rm -rf *tak długo biegam? **** Jestem /!”). Istnieje niebezpieczeństwo, że zaakceptujesz pogląd, że wszystkie pliki są równe i możesz po prostu zadzierać z czymkolwiek chcesz, gdziekolwiek w drzewie katalogów. Istnieje niebezpieczeństwo, że jakakolwiek próba włamania się na konto stanie się natychmiastową próbą złamania zabezpieczeń całego systemu, dlatego teraz każde oprogramowanie na komputerze ma krytyczne znaczenie dla bezpieczeństwa. A nawet jeśli myślisz, że jesteś nie dbają o swoją maszynę uzyskiwanie hacked (mimo wszystko, że zdjęcie Flopsy to prawdziwy kawałek papieru błyszczącego, nie jakaś efemeryczna JPEG), I dbaj o to, by twoja maszyna została zhakowana, ponieważ wtedy jest w botnecie, który wzmaga atak DDOS przeciwko dowolnej usłudze internetowej, do której nie mam dziś dostępu.

Root to twój kostium pająka. Daje ci wielką moc, ale wymaga wielkiej odpowiedzialności. Jest tam w szafie, gdy jest to potrzebne, więc nie musisz go nosić cały czas.

David Richerby
źródło
54
Był to nie tylko zabawny i dobrze napisany utwór, ale także dzwoni prawdy i zasługuje na przyjętą odpowiedź
wrossmck,
17
Wracam do tego. To jest prawdziwa rada z największą ilością humoru, jaką możesz w coś włożyć i nadal mówić poważnie.
人 的 ​​人
19
@ 9000 Tak się nie stało od co najmniej XP.
David Richerby
28
czy śmierć klopsa jest związana z piłą łańcuchową?
Sirex
29
„Root to twój kostium pająka”. Umieram tutaj.
GeminiDomino
23

Możesz, ale jest to poważne ryzyko związane z bezpieczeństwem i stabilnością. Pozwala to dowolnej aplikacji na pełny dostęp do twojego komputera. Nie możesz wiedzieć, co robią z tym dostępem. Jest to niepotrzebne i po prostu bardzo niebezpieczne.

Aby uzyskać więcej informacji na ten temat, zobacz

William T Froggard
źródło
Usunąłem komentarze, ponieważ tak naprawdę nie dodały do ​​odpowiedzi. Czy możesz kontynuować dyskusję na czacie?
nohillside
Dzięki za zmiany. Mam nadzieję, że to rozwiązuje pewne zamieszanie związane z moim postem.
William T Froggard,
17

Szczerze mówiąc, zgadzam się, że istnieje wiele zagrożeń związanych z używaniem rootużytkownika jako domyślnego. Ale pozwól mi je przejrzeć i skrytykować trochę argumentów

  • Obrona przed aplikacjami : Praktycznie system uprawnień * nix nie jest wystarczająco silny (zdecydowanie), aby pozwolić na uruchamianie dowolnych programów. Złośliwy program na * nix jest w stanie zrobić wystarczająco dużo złych rzeczy (takich jak kradzież danych logowania do banku) bez uprawnień roota. Będzie to nieco trudniejsze w przypadku nieaplikacji rootniż rootaplikacji (np. Zamiast bezpośrednio instalować certyfikat główny i przechwytywać połączenie z bankiem, będziesz musiał zamiast tego zadzierać z przeglądarką, ale hej, to jest całkiem wykonalne i i tak prawdopodobnie musiałeś to zrobić, aby upewnić się, że użytkownik nic nie zauważy)
  • Obrona przed błędami użytkownika (np. Uruchomienie niewłaściwego polecenia i usunięcie wszystkich plików systemowych) : Absolutnie prawda, ale nawet jeśli rootużytkownik niebędący użytkownikiem uratuje system, wszystkie ważne pliki zostaną normalnie utracone (ponieważ pliki należące do użytkownika są znacznie więcej prawdopodobnie będzie wyjątkowy).
  • Obrona przed możliwymi do wykorzystania błędami w uruchamianych aplikacjach: Teraz jest to bardziej podobne. Np. Kiedy prowadzisz serwer WWW, na którym wiele aplikacji jest otwartych na zewnątrz, dzięki czemu łatwo można znaleźć wszelkie możliwe do wykorzystania błędy. To samo nadal obowiązuje, nawet jeśli siedzisz za routerem i zaporą ogniową, chociaż zasięg zagrożenia jest znacznie mniejszy. Jednak po raz kolejny pojawia się pytanie, ile system uprawnień będzie realistycznie bronił w systemie prywatnym. Bez rootuprawnień nadal można uzyskać dostęp do wszystkich plików prywatnych i możliwe jest również przechwytywanie danych sieciowych ... dwie najważniejsze rzeczy, których możesz sobie życzyć jako atakujący prywatny system.
    • (Teraz, oprócz standardowego systemu uprawnień do plików * nix, Apple wprowadziło również system piaskownicy aplikacji. O ile wiem, jest on nadal w pełni funkcjonalny, nawet gdy jest zalogowany jako root. Jeśli jednak nie byłby, to byłby to całkowity przełom).

Tak czy inaczej, wszyscy uważają, że nie uważam tego za tak okropny pomysł, jak twierdzą inni. Pamiętaj, że nie mówię też, że to dobry pomysł, ale myślę, że ludzie przeceniają użyteczność modelu uprawnień systemu plików * nix do ochrony ciebie. Tak, jest niezwykle przydatny do niektórych rzeczy (np. Systemy wielu użytkowników, złożone serwery wielu aplikacji, utrzymywanie działania systemu bez względu na to, co się stanie (uruchamianie, ale nie jest konieczne użycie), blokowanie ważnych plików (choć lepiej jest je szyfrować ...) itp.), ale to nie jest jakaś magiczna ochrona, która zapobiega zdarzeniom złym.

W komentarzach przedstawiłem analogię, która wydaje się dość adekwatna do opisania sytuacji. W języku niderlandzkim mamy słowo oznaczające małą szafę, w której można znaleźć wszystkie mierniki i przełącznik głównego zaopatrzenia w wodę itp. Uruchamianie jako rootkonto użytkownika przypomina zdejmowanie blokady z tej małej szafy. Ironiczny fakt: przede wszystkim większość ludzi nie ma na tym blokady. Teraz, podobnie jak w przypadkurootużytkownik, co nie oznacza, że ​​w niektórych przypadkach nie warto go zamykać, na przykład w biurach lub innych budynkach półpublicznych jest często zamykany na klucz, ale w normalnych domach o wiele ważniejsze jest mocne zamknięcie drzwi wejściowych ( nie instaluj losowych rzeczy, zapory ogniowej itp.) i przechowuj wszystkie ważne rzeczy w bezpiecznym miejscu (tworzenie kopii zapasowych, szyfrowanie itp.). Czy zada się dodatkowa blokada tej szafy? Nie, więc dobrym pomysłem byłoby mieć go na wszelki wypadek, ale najprawdopodobniej będzie to zupełnie bezużyteczne.

Jak twierdzi David Richerby, bieganie jako rootużytkownik to nic innego, jak zabranie wszystkich zamków w domu i noszenie ze sobą wszystkich rzeczy w sejfie. Twój paszport (tożsamość) nie jest w żaden sposób chroniony przez system plików * nix, twoje pieniądze (konto bankowe) nie są w żaden sposób chronione przez system plików * nix, twoje ważne hasła prawdopodobnie nie są chronione przez system plików * nix (jeśli korzystasz z Safari, jednak mogą one częściowo być chronione przez model uprawnień systemu plików * nix, ale bez niegoroot nadal możesz dodać niewidoczne rozszerzenie do Safari, a następnie przechwycić hasło przy następnym użyciu), twoje zdjęcia zdecydowanie nie są chronione przez system plików * nix, a jeśli używasz terminala, masz już piłę łańcuchową wokół ciebie (zgodnie z punktem 2 powyżej).

David Mulder
źródło
2
Jeśli głosujesz za odpowiedzią, proszę wskazać, co byłoby nieprawidłowe w mojej analizie. Doskonale zdaję sobie sprawę, że moja odpowiedź jest nieco niekonwencjonalna, ale spodziewałbym się, że technologie informacyjno-komunikacyjne będą na tyle progresywne, że odpowiedzi będą oceniane na podstawie ich treści, a nie tego, jak dobrze pasują do tradycyjnych dogmatów.
David Mulder,
3
To zasługuje na więcej głosów. Że tylko rzeczy, które naprawdę dbają o na moim komputerze są pliki należące do mojego (nie root) użytkownika. Reprezentują moje zdjęcia, moją muzykę, filmy moich córek. Resztę można łatwo zainstalować ponownie!
Isak Savo
6
Ta logika jest w zasadzie taka sama, jak powiedzenie, ponieważ zdalne otwieracze drzwi garażowych są dość słabym sosem, naprawdę nie byłoby wielkim problemem, gdyby nikt nie zamknął ich drzwi garażowych. Założenie jest prawdziwe, ale rada jest nieprawdziwa. Skuteczne bezpieczeństwo składa się z wielu małych elementów współpracujących ze sobą. Jak wszyscy w okolicy, garaże są zamknięte. To sprawia, że ​​okolica jest bezpieczniejsza dla wszystkich.
Caleb
2
@Caleb Istnieje ogromna różnica między posiadaniem domu w sąsiedztwie a zapraszaniem do niego osób. A zanim ktoś wejdzie do twojego domu, niewiele jest w stanie go zatrzymać na standardowych systemach * nix. Właśnie to opisuję w tej odpowiedzi: gdy ktoś włamie się do twojego systemu, uprawnienia systemu plików * nix nie pomogą, ponieważ nie chronią rzeczy, które uważasz za ważne w systemie prywatnym. Jedyne, co to jest (cd.)
David Mulder,
3
Na pewno nie ma roota. Ale to subtelnie inne stwierdzenie; coś w rodzaju, jak powiedziałem „atak”, a nie „kompromis”. Dzięki rootowi możesz zrobić znacznie więcej w sieci. Jeśli twoja maszyna zombie bierze udział w prostej powodzi ICMP, na prosty przykład, potrzebujesz surowego dostępu do gniazda, aby wygenerować ten ruch ICMP (dlatego ping jest suid root). To samo dotyczy kilku innych przydatnych modyfikacji złośliwych pakietów.
dannysauer
14

Około 1990 roku pracowałem nad projektem z facetem o imieniu Tom. Używaliśmy serwera SUN z systemem SunOS (pochodna Unixa, poprzedniczka Solaris). To było w czasach sprzed napędów CD i flash, więc jeśli popsułeś system operacyjny na dysku twardym, nie było możliwości odzyskania.

Tom rutynowo logował się jako root. Powiedziałem mu, że to zły pomysł, ale nie słuchał. Pewnego dnia usłyszałem, jak powiedział „och”. Miał zamiar wpisać kometa w ten sposób:

mv something* .

Niestety pominął ostatnią kropkę, więc powłoka rozszerzyła wszystkie nazwy plików i katalogów, które pasowały do ​​tego wzorca. Następnie komenda mv wykorzystała to, co skończyło się jako ostateczna nazwa na liście jako katalog docelowy, i przeniosła do niej wszystko inne. Niestety, był on obecnie w katalogu głównym, więc w zasadzie cały system plików został przeniesiony do jednego z jego podkatalogów.

Użyłem strzałki w górę, aby przywrócić poprzednie polecenie i zobaczyłem, co się stało. Pierwszą rzeczą, którą wtedy powiedziałem, było: „Nie wylogowuj się! W przeciwnym razie nigdy nie będziesz mógł się zalogować”.

Nie ma problemu, prawda? Moglibyśmy wszystko cofnąć. Mogliśmy, z wyjątkiem tego, że polecenie mv nie było jednym z wbudowanych poleceń powłoki. Zamiast tego był to program wykonywalny, zapisany w jednym z przeniesionych plików. Na szczęście ls było wbudowaną komendą, więc po użyciu ls do potwierdzenia, do której komendy zostały przeniesione, byłem w stanie znaleźć komendę mv, wywołać ją z pełną nazwą ścieżki i odłożyć rzeczy tam, gdzie powinny być .

A potem powiedziałem mu: „Tom, dlatego rutynowym logowaniem się jako root jest złym pomysłem”.

Mike Ciaraldi
źródło
10

Zasadniczo chcesz zachować własność swoich plików osobistych oddzielnie od użytkownika root. Dlatego właśnie tworzysz konto jako administrator. Akceptowanym sposobem uzyskania dostępu do poziomu root w systemie OS X jest użycie sudopolecenia z aplikacji Terminal. Na przykład, jeśli chcesz zobaczyć partycjonowanie dysku wewnętrznego, polecenie to

gpt -r show /dev/disk0

który, jeśli zostanie wprowadzony, spowoduje wyświetlenie następującego komunikatu o błędzie.

gpt show: unable to open device '/dev/disk0': Permission denied

Aby użyć polecenia, musisz użyć, sudojak pokazano poniżej.

sudo gpt -r show /dev/disk0

Jeśli chcesz zostać użytkownikiem root, aby uniknąć wchodzenia sudo, możesz po prostu wejść sudo sh. exitPolecenie to może być wykorzystane do wyjścia z bycia użytkownik root.

Jeśli chcesz uruchomić aplikację jako użytkownik root, możesz to zrobić za pomocą aplikacji Terminal. Na przykład, jeśli chcesz uruchomić Findera jako użytkownik root, wprowadź następujące polecenie.

sudo /System/Library/CoreServices/Finder.app/Contents/MacOS/Finder &

Aby uniknąć nieporozumień związanych z jednoczesnym otwarciem dwóch aplikacji Finder, najlepiej najpierw zamknąć aplikację Finder. Można to zrobić za pomocą następującego polecenia terminala.

osascript -e 'tell application "Finder" to quit'

Jedno słowo ostrzeżenia: poprzedzenie polecenia znakiem sudonie jest równoznaczne z zostaniem użytkownikiem root. Na przykład polecenia

sudo echo $USER
sudo echo $SUDO_USER

dają takie same wyniki, jak polecenia pokazane poniżej.

echo $USER
echo $SUDO_USER

Jeśli zostaniesz użytkownikiem root (superużytkownikiem), te same polecenia spowodują inne wyjście. Można to zweryfikować, wprowadzając poniższe polecenia.

sudo sh
echo $USER
echo $SUDO_USER
sudo echo $USER
sudo echo $SUDO_USER
exit
David Anderson
źródło
4

W przypadku, gdy inne powody były niewystarczające ... Nie zapominaj, że nie możesz używać Homebrew jako root (co w rzeczywistości jest ogromnym bólem). Inne programy również nie pozwalają na używanie ich jako root lub problemów z uprawnieniami, kiedy to robisz, często bez wyraźnego powodu, ponieważ ich programiści zakładają, że nie będą uruchamiani jako root. Myślę, że Steam jest jednym z nich.

Fajnie jest też mieć oddzielne elementy systemu i użytkownika z różnych powodów.

Nie wiem, czy to tak źle ze względów bezpieczeństwa. Osobiście bardziej martwiłbym się problemami z organizacją i uprawnieniami niż cokolwiek innego.

sudo
źródło
4

Kilka przykładów, dlaczego nie zawsze można uruchamiać się jako root:

  • Użytkownik root może łatwo umieszczać pliki w lokalizacjach, które są znacznie trudniejsze do wyśledzenia.
  • Użytkownik root ma surowy dostęp do interfejsów, dzięki czemu może przełączyć interfejs w tryb rozwiązany lub monitorować i rejestrować CAŁY ruch sieciowy.
  • Użytkownik root ma surowy dostęp do węzłów urządzeń i może przerzucić dysk, co znacznie utrudnia odzyskiwanie plików niż zwykłe „rm” na poziomie użytkownika. Użytkownik root może również potencjalnie modyfikować sektory rozruchowe dysku, dzięki czemu złośliwe oprogramowanie jest trwałe nawet po ponownej instalacji systemu operacyjnego.

Mógłbym kontynuować. Chodzi o to, że istnieją dobre powody, aby nie uruchamiać się jako root. Nie zgadzam się z tym, że dla większości ludzi ich najbardziej osobiste dane i tak znajdują się w ich katalogu domowym, ale uruchamianie jako root nadal naraża te dane i cały system na większe ryzyko. Porada, aby nie uruchamiać się jako root, nie jest umieszczana w niewłaściwy sposób. Jeśli dana osoba nie rozumie konsekwencji działania jako root, zdecydowanie nie powinna tego robić. Sugerowanie czegokolwiek innego jest nieodpowiedzialne.

cielesny
źródło
1

Chyba że używasz backtracka / kali do określonego zadania: NIE. Traktuj superużytkownika jak załadowaną broń: jeśli masz natychmiastową potrzebę i chęć użycia: OK. Jeśli jednak możesz rozwiązać problem w jakikolwiek inny sposób (np. „Sudo”), zrób to.

SamWN
źródło
0

NIE! Spowoduje to uszkodzenie twojego systemu w bardzo krótkim czasie. Zamiast tego sulub sudow razie potrzeby do rootowania. Jeśli absolutnie, pozytywnie, musisz uruchomić jako root, przynajmniej wyloguj się w dowolnym momencie, gdy nie korzystasz z komputera. Jeśli twój system jest zdolny do uruchamiania wielu użytkowników, ale nie ma skonfigurowanych użytkowników, sugeruję utworzenie uprzywilejowanego użytkownika (tj. Takiego, który może sudo/ sudo rootowania w razie potrzeby.) JAK NAJSZYBCIEJ !!!

Tucker Twomey CodeZypher
źródło