Jak NIE zostać użytkownikiem root? Czy administratorzy są rootami?

42

Zainstalowałem Ubuntu na swoim komputerze. Aby się zalogować, używam nazwy użytkownika i hasła, które utworzyłem podczas instalacji. Czy to oznacza, że ​​jestem użytkownikiem root? Jeśli tak, to jak mogę stać się rootem? Wygląda na to, że użytkownik inny niż root jest bezpieczniejszy niż użytkownik admin.

Imię Nazwisko
źródło
9
Mylisz roota z administratorem , dwie różne rzeczy.
fitojb
Powiązane: RootSudo (na wiki Ubuntu)
Eliah Kagan
Windows 7 nie rozróżnia tego rozróżnienia, co naprawdę mnie niepokoi i dezorientuje. Odpowiednikiem działania jako root w systemie Windows jest „Uruchom jako administrator”. Ale oczywiście, jeśli jesteś zalogowany jako administrator, już z definicji uruchamiasz wszystko jako administrator. Naprawdę zły wybór terminologii.
Kris Harper
@KrisHarper To z definicji (ani nawet prawda), że użytkownicy muszą uruchamiać programy jak oni sami. W Ubuntu administratorzy (którzy nie są rootami) mogą uruchamiać programy jako root sudo. Mówiąc bardziej ogólnie, administrator (lub w inny sposób upoważniony użytkownik) X może działać command...jako Y z sudo -u Y command.... W systemie Windows Vista i nowszych, przy włączonym UAC , użytkownicy z uprawnieniami administracyjnymi uruchamiają programy bez nich , z wyjątkiem sytuacji, gdy wyraźnie autoryzują program, który dziedziczy ich umiejętności. Uruchom jako Administrator pojawia się, gdy UAC jest włączony (lub dla ograniczonych użytkowników).
Eliah Kagan
@EliahKagan Oczywiście masz rację. Pod maską użytkownicy otrzymują token bezpieczeństwa niskiego poziomu i mogą w razie potrzeby zażądać wyższego poziomu. Mówiłem jednak semantycznie z punktu widzenia doświadczenia użytkownika. Jeśli administruję komputerem i go używam, dosłownie uruchamiam programy jako administrator. Chodzi mi o to, że jest to zły wybór terminologii, ponieważ przerywa abstrakcję między administratorem fizycznym (mną) a cyfrowym (określone konto użytkownika). Uważam, że to zły UX, mimo że biegły technicznie zrozumie, co się dzieje.
Kris Harper

Odpowiedzi:

79

Jesteś administratorem, ale nie jesteś root. rootUżytkownik może nic zrobić. Administratorzy mogą wykonywać działania jakoroot , ale zwykle to, co robią administratorzy, nie jest wykonywane root. W ten sposób masz pełną kontrolę nad własnym systemem, ale tylko wtedy, gdy zdecydujesz się go używać.

Ubuntu prosi o podanie hasła, gdy próbujesz robić różne rzeczy root, aby upewnić się, że to naprawdę Ty.

Konta użytkowników: ludzkie i inne

Prawdziwi użytkownicy mają konta użytkowników do ich reprezentowania. Utworzyłeś jedno takie konto podczas instalacji Ubuntu. Ale nie wszystkie konta użytkowników reprezentują prawdziwych użytkowników .

Prawdziwym użytkownikom przypisuje się (i odmawia) zdolności za pośrednictwem ich kont użytkowników. Muszą używać swoich kont użytkowników, aby korzystać z systemu; dlatego mają do nich zastosowanie możliwości i ograniczenia ich kont użytkowników.

Konta użytkowników służą również do kodyfikacji zestawów umiejętności i ograniczeń. Niektóre konta użytkowników - w rzeczywistości, chyba że masz wielu ludzkich użytkowników maszyny - istnieją, aby niektóre programy lub polecenia mogły być uruchamiane z ich tożsamością, tożsamością o odpowiednich możliwościach i ograniczeniach dla zadania.

Na przykład www-dataużytkownik istnieje, więc jeśli uruchamiasz serwer WWW, jest on właścicielem danych, które serwer udostępnia. Żaden prawdziwy użytkownik nie musi być upoważniony do wprowadzania niekontrolowanych zmian w tych danych, a serwer WWW nie musi być upoważniony do wykonywania żadnych czynności niepotrzebnych do obsługi Internetu. W związku z tym zarówno dane sieciowe, jak i reszta systemu są bardziej zabezpieczone przed przypadkowym lub umyślnym uszkodzeniem, niż gdyby serwer sieciowy był uruchamiany przez jakiegoś człowieka, który posiadałby wszystkie uprawnienia serwera WWW (i którego uprawnienia serwer WWW miałby posiadać).

Najważniejsze konto użytkownika innego niż człowiek

Superuser , którego nazwa jest root, jest nie-ludzka konto użytkownika o bardzo specyficznej kombinacji umiejętności i ograniczeń: wszystkie możliwości, a nie ograniczenia .

root„y wolno nic robić. Wciąż są rzeczy, rootktórych nie można zrobić, ponieważ sam system nie może ich wykonać ani nadać im sensu. Więc rootnie można zabić procesu, który jest w nieprzerwanym śnie , ani uczynić skały zbyt ciężką, aby się poruszać, a następnie przenieść ją .

Wiele ważnych procesów systemowych, takich jak inituruchamianych jako rooti rootsłuży do wykonywania zadań administracyjnych.

Czy mogę się zalogować jako root?

Możliwe jest skonfigurowanie rootkonta, aby można było zalogować się przy użyciu hasła, ale domyślnie nie jest włączone w Ubuntu. Zamiast tego, można myśleć rootjako jak www-data, lp, nobodyi innych kont niż ludzkie. (Uruchom cat /etc/passwdlub, getent passwdaby zobaczyć je wszystkie.)

Ludzcy użytkownicy logują się przy użyciu własnych kont użytkowników, a następnie, jeśli jakieś zadanie ma zostać wykonane przy użyciu innego konta użytkownika, powodują, że zadanie wykonuje się z tą tożsamością , bez faktycznego zalogowania się jako ten użytkownik.

Możliwe jest skonfigurowanie innych użytkowników innych niż ludzie, na przykład www-data, aby można było się również zalogować. Jest to jednak dość rzadkie, podczas gdy w niektórych innych systemach uniksowych często loguje się jak root w terminalu . Ryzyko związane z prowadzeniem cały interfejs graficzny w rootpołączeniu z ilu graficzny programy nie są przeznaczone do pracy jak rooti może nie działać poprawnie, oznacza to, że nigdy nie należy próbować uzyskać root-owned sesji pulpitu .

Należy pamiętać, że podczas logowania, jak rootjest domyślnie wyłączona w Ubuntu, istnieją sposoby, aby uzyskać rootpowłokę bez uwierzytelniania jako root, które wytwarzają podobny efekt: najczęściej są sudo -salbo-i , tryb odzyskiwania i podobne techniki . (Nie martw się, jeśli nie wiesz, co to takiego.) To nie jest logowanie: w trybie odzyskiwania możesz się rootzalogować, zanim nastąpi logowanie; z sudometodami opartymi na systemie , po prostu uruchamiasz powłokę jako root.

Administratorzy

W Ubuntu administratorzy to użytkownicy, którzy mogą robić, co chcą root, kiedy tylko zechcą .

Ustawienia systemowe, pokazujące konta użytkowników, w tym konta administratora.
Ustawienia systemowe> Konta użytkowników. „Eliah Kagan” jest administratorem, więc może robić rzeczy jako root, ale nie jestroot .

Jestem administratorem mojego systemu Ubuntu. Kiedy uruchamiam programy, zwykle działają one jako ek(„Eliah Kagan” to pełna nazwa odpowiadająca nazwie ekużytkownika).

Kiedy uruchamiam AbiWord lub LibreOffice, działa jako ek. Kiedy uruchamiam Firefox, Chromium, Empathy lub Pidgin, działa jako ek. Programy działające w celu zapewnienia interfejsu pulpitu działają jako ek.

Jestem jednak administratorem, więc jeśli muszę wykonać zadanie administracyjne, mogę to zrobić.

sudo

W wierszu poleceń zwykle używałbym sudopolecenia do uruchomienia jako root:

sudo command...

Będzie to skłonić mnie do mojego hasła. (To nie rootjest hasło; rootnie ma.)

  • Ponieważ jestem administratorem, mogę wykonywać akcje jako root. W domyślnej konfiguracji muszę wprowadzić moje hasło, aby to zrobić.
  • Użytkownicy, którzy nie są administratorami, nie mogą wykonywać akcji root, nawet po wprowadzeniu hasła. sudopolecenia zakończą się niepowodzeniem, jeśli uruchamiający je użytkownik nie jest administratorem.

Ponieważ administratorzy są całkowicie zwykłymi użytkownikami, z wyjątkiem możliwości wykonywania akcji as root, uruchomienie polecenia wymagającego rootuprawnień nadal nie powiedzie się, z wyjątkiem sytuacji, gdy polecenie zostanie uruchomione jakoroot .

Zrzut ekranu ilustrujący potrzebę sudo: administrator może uruchomić tylko niektóre polecenia, wykonując to jako <code> root </code>, co zwykle jest wykonywane przez dodanie sudo (i spacji) do polecenia.
Zrzut ekranu ilustrujący potrzebę sudowykonywania zadań administracyjnych. (Na podstawie "sandwich" przez Randall Munroe ).

sudo, graficznie

Programy graficzne mogą działać jako rootpośrednictwem interfejsów graficznych dlasudo takich jak gksu/gksudo a kdesudo. Na przykład, aby uruchomić GParted tak, rootjakbym mógł uruchomić gksudo gparted. Następnie zostaniesz poproszony graficznie o podanie hasła.

Graficzny monit o podanie hasła gksudo

Ponieważ pojawia się monit graficzny, nie musi istnieć terminal. Jest to jeden ze sposobów uruchamiania narzędzi administracyjnych root.

Polkit

Polkit (niegdyś znany jako PolicyKit) to kolejny sposób dla administratorów na robienie takich rzeczy jak root. Program uzyskuje dostęp do usługi wykonującej akcję. Czasami akcja uruchamia cały program; czasami akcja jest bardziej ograniczona.

Obecnie wiele graficznych narzędzi do administrowania systemem jest skonfigurowanych tak, aby domyślnie korzystały z pakietu polkit, a nie z nich sudo.

Jednym z przykładów takiego narzędzia jest Centrum oprogramowania. W pełni wykorzystuje polkit, wymagając od użytkownika wprowadzenia hasła tylko wtedy, gdy chce zrobić coś , co wymaga rootuprawnień. (Jest to możliwe również przy sudouwierzytelnianiu opartym na danych, ale jest trudniejsze i trudniejsze do osiągnięcia).

W Centrum oprogramowania mogę znaleźć i przeczytać o aplikacji; wtedy jestem proszony o podanie hasła, kiedy chcę je zainstalować.

Uwierzytelnianie za pomocą polkit w celu zainstalowania aplikacji w Centrum oprogramowania Ubuntu.

Czym różni się polkit

Dowolny program graficzny może być uruchamiany rootz gksudoinnymi sudointerfejsami graficznymi . (Program może nie działać zbyt dobrze, w zależności od tego, czy ma być używany jako root. Ale polecenie uruchomienia programu zostanie wykonane jako root.)

Podczas gdy polkit jest teraz bardziej powszechny niż sudonakładki GUI jako sposób, w jaki aplikacje na Ubuntu wykonują działania rootza kulisami, polki uruchomi aplikację graficzną tylko tak, root jakby istniał plik konfiguracyjny pozwalający na to i wskazujący, jakie akcje można wykonać .

Polkit, nie graficznie

pkexec to komenda używana do uruchamiania programu z polkit.

Podobnie sudo, pkexecmożna uruchamiać polecenia nie graficzne. (I nie wymaga pliku konfiguracyjnego określającego możliwości polecenia - po prostu uruchamia polecenie jako root.)

pkexec command...

pkexecmonituje o hasło w formie graficznej, nawet jeśli jest uruchamiane z terminala (jest to jeden ze sposobów, w których jego zachowanie jest bardziej podobne gksudoniż uruchamianie prosto sudo).

(Jeśli nie ma GUI - na przykład, jeśli jesteś zalogowany z wirtualnej konsoli lub sesji SSH w trybie tekstowym lub GUI nie działa poprawnie - wtedy pkexecz wdziękiem się pogorszy i poprosi o podanie hasła w wierszu poleceń .)

Uruchamianie polecenia w terminalu za pomocą pkexec.

Po pomyślnym przeprowadzeniu uwierzytelnienia polecenie jest uruchamiane w terminalu.

Polecenie działa płynnie jako <code> root </code> po udanym uwierzytelnieniu pakietu polkit.

Uruchamianie poleceń jak inni użytkownicy root

rootjest wyjątkowy, ponieważ robi wszystko, co można zrobić. Ale jest to konto użytkownika jak każde konto, a sposoby uruchamiania poleceń jak rootw sudo(bezpośrednio lub z graficznym interfejsem użytkownika) lub polkit można nieznacznie zmodyfikować, aby uruchomić polecenie jak każdy inny użytkownik:

sudo -u username command...
gksudo -u username command...
pkexec --user username command...

Co? Po prostu piszesz sudopierwszy? Jak to bezpieczeństwo ?!

Uruchamianie poleceń za pomocą sudoprzypomina przywoływanie papieskiej nieomylności .

Kiedy uruchomisz polecenie zsudo [wywołaj nieomylność papieża] , Ubuntu [lud katolicki] stara się upewnić, że naprawdę jesteś [naprawdę papieżem].

Tak, wiem, że nieomylność papieża (nawet gdy jest normatywna) jest deklaratywna; równoległość nie jest idealna.

Próba zrobienia czegoś takiego jak rootprzy pomocy sudo(lub polkit) to wielka sprawa - Ubuntu nie tylko pozwoli, aby przesuwało się to tak samo, jak przy innych uruchomieniach programu.

Zostaniesz poproszony o podanie hasła. (To, co zrobiłeś, zostaje zapamiętane na krótki czas, więc nie musisz ciągle wprowadzać hasła podczas administrowania systemem.)

Oprócz przypomnienia o ostrożności należy zabezpieczyć się przed dwoma scenariuszami:

  • Ktoś korzysta z twojego komputera (lub urządzenia mobilnego), być może pod pozorem sprawdzenia swojej poczty e-mail lub w podobnym nieszkodliwym celu. Tutaj nadal mogą wyrządzić krzywdę - na przykład mogą zmodyfikować lub usunąć twoje dokumenty. Nie mogą jednak administrować systemem, ponieważ nie mogą podać hasła.
  • Programy, które nie powinny administrować systemem, nie mogą tego zrobić, chyba że podasz hasło. Na przykład jeśli twoja przeglądarka jest narażona na błąd bezpieczeństwa i uruchamia złośliwy kod, nadal nie może wykonywać zadań administracyjnych. Nie może tworzyć i usuwać użytkowników, modyfikować programów zainstalowanych jako root(co obejmuje wszystko instalowane przez menedżera pakietów, takich jak LibreOffice), ani zmieniać systemu na głębokim poziomie.

Słyszałem o su. Co to jest? Czy mogę tego użyć?

suuwierzytelnia się jako inny użytkownik i uruchamia polecenie (lub uruchamia interaktywną powłokę). Można ograniczyć, kto może używać su, ale suuwierzytelnia się przy użyciu hasła do konta docelowego , a nie hasła uruchomionego użytkownika.

Na przykład działa jako nazwa użytkownika , podobnie jak .su username -c 'command...'command...sudo -u username command...

Ale kiedy uruchomisz polecenie tak jak w usernameprzypadku sudo, wprowadź hasło . Kiedy uruchomisz polecenie jak w usernameprzypadku su, wprowadź usernamehasło .

Ponieważ suwykonuje uwierzytelnianie dla użytkownika docelowego , sumożesz uruchamiać polecenia tylko jako użytkownicy, których konta są włączone .

rootKonto (jak www-datai nobody) jest domyślnie wyłączona. Nie ma hasła, które będzie działać, aby zalogować się jako root. Dlatego nie można używać sudo uruchamiania poleceń jako root.

Państwo może używać sudo wykonywania poleceń jako inny użytkownik, który może zalogować się (który zazwyczaj zawiera wszystkie konta użytkowników w systemie, które reprezentują ludzi).

Po zalogowaniu jako gość nie możesz w ogóle korzystać su.

Łączenie suisudo

Ktoś, kto nie jest administratorem, może nawet suuruchomić sudojako administrator. (Jest to OK, ponieważ potrzebują hasła administratora, aby uruchamiać polecenia jako administrator.) Oznacza to, że ograniczony użytkownik może użyć supolecenia, sudoaby uruchomić polecenie jako root. Może to wyglądać następująco:

su username -c 'sudo command...'

(Uruchamianie programów graficznych w ten sposób wymaga specjalnej uwagi ).

Czy nie subyłoby bezpieczniejszym sposobem uruchamiania poleceń jako root?

Prawdopodobnie nie.

Co jeśli użytkownik nie powinien mieć możliwości działania root?

Ustaw je jako ograniczonego użytkownika zamiast administratora.

Co zrobić, jeśli program pracuje jako administrator stara się sudodo root?

Jeśli nie zostanie ponownie skonfigurowany w sudocelu umożliwienia powodzenia bez hasła, zakończy się niepowodzeniem.

Czy program, który nie powinien być uruchamiany jako rootpiggyback dla ostatniego sudopolecenia, nie wymaga hasła?

To bardzo mało prawdopodobne, aby się udało. Obecnie większość systemów operacyjnych (w tym Ubuntu) sudoskonfigurowała się domyślnie, tak aby znaczniki czasu były stosowane tylko w określonym kontekście.

Na przykład, jeśli uruchomię sudo ...na jednej karcie Terminala i pomyślnie się uwierzytelnię, sudona innej karcie (lub uruchamiany przez niepowiązany program GUI lub uruchamiany z konsoli wirtualnej lub sesji SSH) nadal będzie monitowany o hasło. Nawet jeśli jest uruchamiany natychmiast potem.

Czy program działający jako użytkownik X nie ma dostępu do hasła użytkownika X?

Nie.

Jeśli złośliwy program może działać jako administrator, czy nie może „wsłuchiwać się” w to, co jest wpisywane, gdy administrator uwierzytelnia się za pomocą sudolub uruchamia polkit?

Potencjalnie tak. Ale wtedy może „podsłuchiwać” wpisane hasło su.

Jeśli powiem komuś moje hasło -

Nie podawaj ludziom swojego hasła.

Co jeśli ktoś musi znać moje hasło, aby zrobić coś w moim imieniu, ale nie chcę pozwolić mu na administrowanie systemem?

Idealnie powinny mieć osobne konto użytkownika, które pozwala im robić to, co trzeba. Na przykład może udostępniać pliki między kontami, umożliwiając wielu użytkownikom pisanie na nich, jednocześnie odmawiając dostępu innym użytkownikom.

Jednak w sytuacji, gdy mniej zaufana osoba może uzyskać zezwolenie na udostępnienie konta, powinno to być konto użytkownika z ograniczonym dostępem. Możesz w tym celu utworzyć osobne konto (co ma sens - jeśli jest to konto dla ciebie i kogoś, kogo chcesz mieć inne możliwości, powinno to być inne konto).

Tak, to najbardziej bezpieczne rzeczą jest, aby nie pozwolić zarówno sudoa sui ludzie zalogować się jako rootręcznie?

Nie, ponieważ istnieją poważne wady związane z umożliwieniem użytkownikom zalogowania się w rootogóle. O ile to możliwe, należy podjąć jak najmniejszą liczbę działań root. Nawet większość czynności związanych bezpośrednio z administrowaniem systemem (np. Przeglądanie konfiguracji użytkowników i odczytywanie dzienników) zwykle nie wymaga rootuprawnień.

Ponadto, podobnie jak potencjalnie złośliwy program może obserwować, co ktoś wpisuje podczas uruchamiania sudolub su, lub utworzyć fałszywe hasło sudo/ sumonit, potencjalnie złośliwy program może również stworzyć fałszywy ekran logowania.

Co sprawia, że ​​użytkownik jest administratorem?

Członkostwo w grupie.

W systemie Ubuntu 12.04 i nowszych administratorzy są członkami grupy o nazwie sudo.

W systemie Ubuntu 11.10 i wcześniejszych administratorzy są członkami grupy o nazwie admin.

Gdy system Ubuntu przed 12.04 zostanie zaktualizowany do wersji 12.04 lub nowszej, admingrupa jest zachowywana w celu zachowania kompatybilności wstecznej (i nadal zapewnia użytkownikom uprawnienia administracyjne), ale sudogrupa jest również używana.

Konta z ograniczoną liczbą użytkowników

Czy mogę korzystać z konta użytkownika z ograniczonym dostępem zamiast konta administratora?

Jeśli chcesz, na pewno. Utwórz konto użytkownika z ograniczeniami w Ustawieniach systemu > Konta użytkowników i zaloguj się jako ten użytkownik.

Czy mogę ustawić moje konto administratora jako ograniczone konto użytkownika?

Tak, po prostu usuń go z grup sudoi admin(patrz wyżej).

Należy jednak upewnić się, że istnieje co najmniej jedno inne konto administratora, aby można było administrować systemem. Jeśli nie, musisz uruchomić komputer w trybie odzyskiwania lub na dysku CD i ponownie ustawić administratora jako administratora . (Jest to podobne do resetowania utraconego hasła administratora ).

Graficzne narzędzia do administrowania użytkownikami i grupami zwykle powstrzymują cię przed tworzeniem systemu bez administratorów lub przynajmniej ostrzegają. Narzędzia wiersza poleceń zwykle tego nie robią (ufając, że wiesz, co robisz).

Eliah Kagan
źródło
2
@ EliahKagan - kolejny głupi :) Zrobię analogię - root jest jak rodzic, a każdy użytkownik jest jak dziecko. Starsze dzieci (administratorzy) mają więcej uprawnień. Dziecko (użytkownik) nigdy nie może być rodzicem (rootem). 12-letnie dziecko może robić w domu niebezpieczne rzeczy (OS / Ubuntu), takie jak lodówka i inne rzeczy. Nie wolno mu bezpiecznie dotykać pieniędzy. Ale 18-latek (administrator) może, używając „sudo” lub zgody rodzica, aby uzyskać dostęp do tych pieniędzy. Ale oba nie mogą dotykać broni w innym sejfie. Może to zrobić tylko root (rodzic). Ma sens ?
FirstName LastName
1
@FirstNameLastName Konta administratora reprezentują prawdziwych użytkowników, którzy w prawdziwym świecie mają całą moc. Administratorzy mogą „ rootrobić wszystko” za pomocą sudoi PolicyKit. Administrator może nawet włączyć rootkonto i zalogować się. Jeśli wyodrębnisz konto użytkownika jako kombinację działań mechanistycznych i świadomych, użytkownicy zarówno użytkownicy, jak i użytkownicy niebędący ludźmi, będą rootdziałali wyłącznie mechanicznie. Jeśli rozumiesz, jak to wszystko działa, to jeśli twoja analogia to potwierdza, świetnie! Ale nie sądzę, że tak naprawdę oddaje relację root-admin.
Eliah Kagan
7
@FirstNameLastName Wydaje mi się, że lepszą analogią jest: administratorzy są jak Bruce Wayne i rootBatman. Różnica polega wyłącznie na konstruowaniu tożsamości. Bruce Wayne może zostać Batmanem, kiedy tylko chce i robić prawie wszystko, ale zawsze będzie Bruce Wayne pod maską. Mimo to Batman jest tym, kim naprawdę jest - postać Bruce'a Wayne'a to pomysł, który chroni go przed konsekwencjami bycia Batmanem. Przedstawiając się jako Wayne w życiu codziennym, często może chronić siebie i swoich bliskich przed własnymi błędami, wadami systemu i złośliwym oprogramowaniem Gotham City.
Eliah Kagan
4

Nie ma czegoś takiego jak głupie pytanie;)

Mam nadzieję, że to trochę wyjaśnia:

W Ubuntu można utworzyć dwa różne typy kont użytkowników: konta standardowe i konta administratora . Różnica między nimi: konto standardowe nie może dokonywać żadnych ważnych zmian w systemie poprzez uzyskanie dostępu do konta root, podczas gdy konto administratora może używać swojego hasła do wprowadzania zmian jako użytkownik root. Sam użytkownik root jest jednym z wielu użytkowników utworzonych przez system, których zwykle nie widzisz ani nie zauważasz, i nie możesz się zalogować (domyślnie tak czy inaczej). Jeśli jesteś zalogowany na konto typu administrator, możesz zostać tym rootem za pomocąsudo polecenie w terminalu i możesz wpisać hasło, aby zainstalować oprogramowanie, wprowadzić zmiany systemowe itp. Jeśli jesteś zalogowany jako użytkownik standardowy, nie możesz tego zrobić.

Richard
źródło
Jeśli administrator może zostać rootem po prostu uruchamiając polecenie, czy ktoś inny / haker może uruchomić go zdalnie i zostać użytkownikiem root?
FirstName LastName
@FirstNameLastName Muszą być już zalogowani zdalnie jako jeden z pozostałych użytkowników, aby móc uruchomićsudo
Izkata
@FirstNameLastName również sudo prosi o nazwę konta i hasło przed udzieleniem dostępu do konta root.
Destrictor,
@Destrictor - tak. w rzeczywistości to mnie pomieszało. Jestem na koncie administratora i wprowadzam hasło administratora, aby zalogować się do konta root. skoro hasło i nazwa użytkownika są takie same dla administratora i roota, dlaczego mają dwa konta?
FirstName LastName
@FirstNameLastName głównym powodem, dla którego musisz wprowadzić hasło podczas korzystania z sudo, jest logowanie. Wynika to głównie ze względów bezpieczeństwa (coś się wydarzyło, a Twój dział IT dowiaduje się kto / co / gdzie)
Destrictor
3

We wszystkich systemach Linux Aby dokonać jakichkolwiek zmian w systemie, musimy zostać uwierzytelniony jako użytkownik root, a także aby zastosować wszystkie zmiany, musimy być użytkownikiem root.

Zwykli użytkownicy nie mogą zastosować zmian w całym systemie. Jest to zaleta systemu Linux w porównaniu z oknami.

Jeśli zostanie przeprowadzony jakikolwiek atak, będzie to dotyczyć tylko tego obszaru w systemie Linux / Unix, ponieważ atakowanie lub modyfikowanie pozostałych obszarów wymaga uprawnień roota, ale w systemie Windows, jeśli jedno miejsce zostało zaatakowane, wpłynie to na cały system.

Dlatego tylko w wielu pytaniach, jeśli jakikolwiek użytkownik nie poprosił o hasło roota, ostrzeżymy go, ponieważ nie jest to zalecane ze względów bezpieczeństwa i pozostawiamy wybór.

Jeśli chcesz zmienić się w użytkownika root, sudo może ci pomóc.

sudo -i 

Jeśli chcesz uruchomić aplikację jako użytkownik root, możesz sudo.

sudo <app_name>

Zawsze lepiej jest uruchomić system jako użytkownik inny niż root.

rɑːdʒɑ
źródło
3

Konto utworzone podczas instalacji jest kontem administratora .

W systemie Ubuntu konto root nie ma hasła, w związku z czym nie można zalogować się jako rootużytkownik. Istnieją sposoby na obejście tego, ale jest to ustawienie domyślne.

Konto administratora w systemie Ubuntu oznacza, że ​​użytkownik jest dodawany do grupy sudo, dzięki czemu konto kwalifikuje się do tymczasowego uzyskiwania wcześniejszych uprawnień za pomocą sudopolecenia. PolicyKit może zażądać eskalacji uprawnień, pytając o hasło administratora. (Musisz wybrać użytkownika administratora i podać hasło do tego konta).

Aby potwierdzić, że są to prawda:

  • Otwórz terminal i spróbuj zaktualizować indeks pakietu oprogramowania. apt-get updateto polecenie użyte do tego, a to wymaga uruchomienia jako root. Działa tylko wtedy, gdy zalogujesz się jako root lub wykonasz go jako root przy użyciu eskalacji uprawnień. Administrator może uruchomić sudo apt-get update, uwierzytelniając się w sudomechanizmie, który umożliwia uruchamianie poleceń jak każdy użytkownik. Standardowy użytkownik nie będzie mógł tego zrobić.

  • Otwórz konta użytkowników w Ustawieniach systemu i spróbuj dodać nowego użytkownika. Stosowanym tam mechanizmem ochrony jest PolicyKit. Administratorzy będą mogli uwierzytelniać i zwiększać uprawnienia, ale zwykli użytkownicy będą blokowani. Aby kontynuować, wymaga hasła „administratora”.

Oto jak sprawdzić, czy twoje konto jest administratorem, czy nie:

  • Otwórz konta użytkowników w Ustawieniach systemu.
  • Wybierz konto użytkownika w lewej kolumnie.
  • Powinieneś zobaczyć Administratorpod nazwą konta w obu oknach dla kont administratora i Standarddla zwykłych użytkowników.
Mahesh
źródło
2

Nie.

użytkownik, za pomocą którego logujesz się do Ubuntu, nie jest użytkownikiem administracyjnym (użytkownik administracyjny w terminologii Linuksa nazywa się root)

tomodachi
źródło
6
W najlepszym wypadku jest to mylące. Użytkownik inny niż root utworzony podczas instalacji jest administratorem. Nie root, ale administrator (co oznacza przede wszystkim, że mogą wykonywać akcje jak w rootprzypadku sudoPolicyKit).
Eliah Kagan
@EliahKagan - ok, więc jaka jest różnica między kontami administratora i root? Jestem nowy w Linuksie, a także w informatyce, więc proszę o wyrozumiałość.
FirstName LastName
@EliahKagan Nie bardzo, to tylko próba zastosowania terminologii Windows do Linuksa. sudodostęp może być ograniczony przez program, który próbujesz uruchomić jako root, co sprawia, że ​​jest znacznie bardziej niewyraźny.
Izkata,
@FirstNameLastName Istnieje użytkownik o nazwie „root” (zwykle; słyszałem, że można go zmienić, ale nie wiem jak). Ma dostęp do wszystkiego.
Izkata,
2
@Izkata Nie, administrator ma określone znaczenie w Ubuntu. Po prostu całkowicie błędne jest twierdzenie, że konto użytkownika utworzone podczas instalacji nie jest administratorem. Nie ma znaczenia, czy zezwalanie na uruchamianie określonych poleceń jest takie samo jak w rootprzypadku sudo. Administratorzy mogą uruchamiać dowolne polecenia jak w rootprzypadku sudo. Domyślnie nikt inny nie może uruchamiać żadnych poleceń jako root(lub jakikolwiek inny użytkownik) sudo. Ponadto sudojest tylko jednym mechanizmem wykonywania działań jako root - w sudodzisiejszych czasach ludzie często myślą, że tak naprawdę to często PolicyKit.
Eliah Kagan