Jakie są różnice między sudo, su, visudo, chroot i gksu?

Odpowiedzi:

24
  • chrootjest sposobem na wejście do folderu i „sfałszowanie” tego folderu /na wszystko, co jest w nim wykonywane. Dzięki temu możesz uruchamiać pliki wykonywalne podczas instalacji Ubuntu, która nie uruchamia się, instalując ją w innym miejscu /i używając /bin/bash(tego w instalacji), aby uzyskać monit terminalu.

  • sudo- Umożliwia uwierzytelnianie niektórych kont w celu uruchomienia programu jako użytkownik root lub inny użytkownik. Niektóre programy mogą nie potrzebować hasła zdefiniowanego w sudoerspliku. To, czy żądanie jest dozwolone, zależy od uruchomionego użytkownika (i grupy) sudooraz polecenia do uruchomienia, zgodnie z definicją w sudoers.

  • su- Również sposób podniesienia uprawnień, ale ma różnice, ponieważ wykonuje pełne interaktywne logowanie jako root (lub inny użytkownik) i wyświetla monit bash, chyba że podano inaczej z argumentami. Używa poświadczeń użytkownika docelowego jako uwierzytelnienia.

  • visudo- Edytuje sudoersplik. Korzysta ze specjalnego pliku wykonywalnego, który sprawdza składnię pliku, aby upewnić się, że nie jest zablokowany z sudopowodu uszkodzonego sudoerspliku. Jeśli spróbujesz zapisać niepoprawną konfigurację, zatrzyma cię i wróci do edytora, aby ją naprawić.

  • gksudolubgksu jest taki sam jak sudo, z wyjątkiem tego, że jest graficzny i przepisuje niektóre ścieżki, aby programy graficzne nie powodowały problemów z uprawnieniami w profilu użytkownika, szczególnie z ~/.Xauthority.

ζ--
źródło
1
Aby być dokładnym sui sudoumożliwić wykonywanie procesów jako inny użytkownik , nie musi to być root. suzawsze można użyć do przełączenia na dowolnego innego użytkownika (uwierzytelnianie przy użyciu poświadczeń tego użytkownika). Chociaż sudomoże być szczególnie skonfigurowany, aby umożliwić wykonywanie określonych programów w określonym kontekście użytkownika przez określonych użytkowników. Najczęściej jednak oba są używane do uzyskania uprawnień roota.
Paul Hänsch
44

sudo:

Sudo (superuser do) pozwala administratorowi systemu dać niektórym użytkownikom (lub grupom użytkowników) możliwość uruchamiania niektórych (lub wszystkich) poleceń jako root podczas rejestrowania wszystkich poleceń i argumentów. Sudo działa na zasadzie polecenia.

Nie zastępuje powłoki.

Funkcje obejmują: możliwość ograniczenia, które polecenia użytkownik może uruchamiać dla poszczególnych hostów, obfite rejestrowanie każdego polecenia (zapewniając wyraźną ścieżkę audytu, kto zrobił co), konfigurowalny limit czasu polecenia sudo oraz możliwość użycia ten sam plik konfiguracyjny (sudoers) na wielu różnych komputerach.

źródło

visudo

visudo to narzędzie wiersza polecenia, które umożliwia bezpieczną edycję /etc/sudoerspliku. Otwiera się /etc/sudoers, używając domyślnie interfejsu edytora vi (choć można to zmienić, ustawiając zmienną środowiskową EDITOR powłoki na inny edytor tekstowy), zapobiega wielu jednoczesnym edycjom z blokadami, wykonuje testy poprawności i sprawdza błędy analizy.

źródło

SU

Polecenie su, określane również jako użytkownik zastępczy, superużytkownik lub użytkownik przełączający, pozwala operatorowi komputera zmienić bieżące konto użytkownika powiązane z uruchomioną konsolą wirtualną.

Domyślnie, bez żadnych innych argumentów wiersza poleceń, podniesie to bieżącego użytkownika do superużytkownika systemu lokalnego.

Po uruchomieniu z wiersza polecenia su pyta o hasło użytkownika docelowego, a jeśli zostanie uwierzytelnione, zapewnia operatorowi dostęp do tego konta oraz do plików i katalogów, do których konto ma dostęp.

Dodatkowo można przełączyć na innego użytkownika, który nie jest superużytkownikiem

źródło

korzeń

root to nazwa użytkownika lub konto, które domyślnie ma dostęp do wszystkich poleceń i plików w systemie Linux lub innym systemie operacyjnym podobnym do Uniksa. Jest również określany jako konto root, użytkownik root i administrator.

Słowo „root” ma również kilka dodatkowych, powiązanych znaczeń, gdy jest używane jako część innych terminów.

Jednym z nich jest katalog główny, który jest katalogiem najwyższego poziomu w systemie. To jest katalog, w którym znajdują się wszystkie inne katalogi, w tym ich podkatalogi i pliki. Katalog główny jest oznaczony ukośnikiem ( /).

Innym jest /root(wymawiany ukośnik), który jest katalogiem domowym użytkownika root.

Może także odnosić się do użytkownika root, który jest administratorem systemu z pełnymi uprawnieniami.

źródło

chroot

Chroot to operacja, która zmienia pozorny katalog główny bieżącego procesu i jego potomków. na przykład, jeśli wykonasz chroot, /mnt/chroot-testkatalog /mnt/chroot-testbędzie twoim wirtualnym rootem, do którego możesz się odwoływać /.

źródło

Zastosowania chroots

Oto niektóre możliwe zastosowania chroots:

  1. Izolowanie niepewnych i niestabilnych aplikacji

  2. Uruchamianie aplikacji 32-bitowych w systemach 64-bitowych

  3. Testowanie nowych pakietów przed ich instalacją w systemie produkcyjnym

  4. Uruchamianie starszych wersji aplikacji na nowszych wersjach Ubuntu

  5. Budowanie nowych pakietów, umożliwiających staranną kontrolę nad zainstalowanymi pakietami zależności

źródło i więcej informacji o chroot


źródło
1
prawie myląco, na Ubuntu, visudo używa nano. Znajduję łatwy sposób na zapamiętanie, co to jest „su” = zmiana użytkownika (do rootowania - tak, możesz użyć go również do przełączania się na innych użytkowników), „sudo” = zmiana użytkownika do rootowania i zrobienia, i chroot jako „ zmień root ”. Nie do końca dokładne, ale wystarczająco blisko, aby zapamiętać.
Journeyman Geek
1
@JourneymanGeek Bardziej dokładnym i, jak sądzę, równie łatwym rozszerzeniem systemu supneumatycznego sudojest powiedzenie, że sudooznacza to „Switched User DO” (tj. Wykonaj jako przełączony użytkownik) lub „SuperUser DO” (tj. Wykonaj jako superuser). To sprawia, że sudoerselegancko kojarzy się (tj. „DOER przełączonych użytkowników” zamiast tylko „przełączania użytkowników i przełączania”). Powodem, dla którego warianty te są dokładniejsze, jest to, że sudoktoś może wykonać akcję jako alternatywny użytkownik, ale niekoniecznie musi to być ogólnie ten inny użytkownik (w zależności od zawartości /etc/sudoers).
Eliah Kagan,
@maythux: To tylko jedno znaczenie chroot . (Nie pytaj tylko Wikipedii.) Zazwyczaj oznacza to bezpieczny (i zablokowany) podsystem działający w systemie Unix / Linux, który pozwala na użycie tylko niewielkiego zestawu plików wykonywalnych (lub usług).
david6,
5

SU łączy Cię jako root.

Terminal pozostanie jako root dla sesji.

Dzięki sudo (superuser do) możesz wykonywać operacje jako root, będąc jednocześnie zwykłym użytkownikiem.

Luso
źródło