Jakiej metody użyć do przyznania sudo

13

Jaka jest różnica między dodawaniem użytkownika do /etc/sudoersa usermod -a -G sudo? Jaką metodę należy zastosować do przyznania sudo?

Sonique
źródło
6
W przypadku Ubuntu należy bardzo zdecydowanie unikać edytowania /etc/sudoerspod żadnym warunkiem. Zamiast tego dodaj do /etc/sudoers.dkatalogu fragmenty konfiguracji . Korzystanie z folderu fragmentów ułatwia aktualizację, ponieważ zmodyfikowałeś plik konfiguracyjny.
Zoredache,
@Zoredache - doskonały punkt. Czy zależy ci, czy dodam to do mojej odpowiedzi? Nie chcę tego przypisywać, ale ta wskazówka powinna gdzieś znaleźć odpowiedź, na wypadek, gdyby bogowie komentowali to z jakiegoś powodu.
EEAA
2
@EEAA, wyrażam zgodę na korzystanie z powyższego oraz wszelkie inne komentarze, które zamieszczam, aby scalić się z rzeczywistymi odpowiedziami. Dodaję komentarze, ponieważ jestem zbyt leniwy / zajęty, aby dodać pełną odpowiedź, ale nie mam nic przeciwko, jeśli ludzie wezmą moje komentarze i zintegrują je w kompletną dobrą odpowiedź.
Zoredache,

Odpowiedzi:

19

Jeśli możesz tego uniknąć, nigdy nie przyznawaj uprawnień sudo poszczególnym użytkownikom. Zawsze przyznawaj uprawnienia grupie, a następnie dodawaj użytkowników do tej grupy.

W przypadku serwerów opartych na Ubuntu, zamiast dodawać wiersze /etc/sudoers, dodaj fragmenty plików konfiguracyjnych do /etc/sudoers.d. Jest to bardziej elastyczne, łatwiejsze do zrozumienia, bardziej odporne na aktualizacje i działa lepiej z systemami zarządzanymi przez systemy zarządzania konfiguracją.

UWAGA: nigdy nie edytuj /etc/sudoersbezpośrednio. Zamiast tego użyj visudo, który wykona sprawdzenie składni Twoich edycji, zapobiegając uszkodzeniu konfiguracji sudo z nieprawidłową składnią.

EEAA
źródło
dlaczego nie dodać grupy /etc/sudoers?
Flak DiNenno
1
@FlakDiNenno - właśnie tak zasugerowałem.
EEAA
ahhh ... Myślałem, że masz na myśliusermod -a -G sudo
Flak DiNenno
+1 za ostrzeżenie o używaniu visudo zamiast bezpośredniej edycji
Flak DiNenno
Dobra uwaga na temat visudo. Niektóre osoby nie zdają sobie sprawy, że istnieje powód /etc/sudoersoznaczony jako „tylko do odczytu”.
ub3rst4r
9

Właśnie znalazłem ten mały smakołyk ... wydaje się, że musisz zachować szczególną ostrożność, korzystając z -Gopcji w Ubuntu, w szczególności z -gopcją kombinacji . Więc:

  1. Służy usermod -aGdo dodawania użytkowników do grupy.
  2. Następnie, zgodnie z sugestią @EEAA , dodaj grupę do pliku / etc / sudoers za pomocą $ sudovisudopolecenia (automatycznie wywołuje uprzywilejowanego edytora z kontrolą składni).

Oto informacje o -aGopcji na Ubuntu, pobrane stąd http://ubuntuforums.org/showthread.php?t=1240477 :

„Czytam Wiley„ Linię poleceń Linuksa i Biblię skryptów ” - i powiedzieli, że usermod -G„ dołącza ”grupę do dowolnego konta użytkownika, które modyfikujesz. Odkryłem, że jest to nieprawda w Ubuntu, nie wiem, czy jest inaczej w innych dystrybucjach, czy literówka w książce. Usuwa cię z KAŻDEJ innej grupy, do której należysz, z wyjątkiem domyślnej grupy użytkowników (zmodyfikowanej opcją -g). Udało mi się usunąć z grupy administracyjnej i nie mogłem już nic sudo. Dzięki Bogu za tryb odzyskiwania ...

Prawidłową opcją jest usermod -aG . Wyciągnięta lekcja ...

Flak DiNenno
źródło
2
czy downvoter może uprzejmości przedstawić tutaj konstruktywną krytykę. tia.
Flak DiNenno
Nie głosowałem za tobą, ale twoja „odpowiedź” tak naprawdę nie odpowiada na zadane pytanie. Jest to dość ścisła strona z pytaniami i odpowiedziami, na ogół oczekujemy, że odpowiedzi bezpośrednio odpowiedzą na zadane pytanie. BTW, tak, wiem, że trochę podchodzisz do pytania, ale twoja „odpowiedź” wydaje się najbardziej mówiąc, rób to, co powiedział EEAA, ale ostrzegaj o tym dziwnym dziwactwie.
Zoredache,
@Zoredache dzięki za poświęcenie czasu. Czy w krokach 1 i 2 wyraźnie nie podano instrukcji dotyczących „preferowanej metody udzielania sudo”? O co zapytał PO?
Flak DiNenno
1

Nie mówisz nam, jak duże jest twoje środowisko, ale jeśli jest to więcej niż jeden komputer, możesz również rozważyć konfigurację sudoprzy użyciu LDAP jako alternatywę dla lokalnej edycji sudoers (za pomocą visudolub przy użyciu /etc/sudoers.dmetody fragmentów).

Konfiguracja LDAP to sprawdzony sposób upewnienia się, że wiele komputerów ma tę samą sudokonfigurację, i oferuje ładne, zunifikowane środowisko (z centralnym zarządzaniem ważnym mechanizmem autoryzacji). Jako bonus, jeśli już używasz LDAP (lub AD) do uwierzytelniania / autoryzacji w swoim środowisku, możesz skorzystać z istniejącej infrastruktury (a jeśli nie, powinieneś poważnie to rozważyć - centralizacja ma wiele zalet).

Wszystko, co ludzie już powiedzieli w innych odpowiedziach na temat tworzenia autoryzowanych grup, jest nadal aktualne - jest to łatwiejsze, gdy skalujesz się w górę, aby przyznać uprawnienia grupie i zarządzać członkostwem grupy, niż jest to związane z zarządzaniem prawami dla poszczególnych użytkowników.

voretaq7
źródło