Konfiguruję maszynę wirtualną serwera Ubuntu 11.04 do użytku jako serwer bazy danych. Ułatwiłoby to wszystkim życie, gdybyśmy mogli zalogować się przy użyciu poświadczeń systemu Windows, a może nawet sprawić, że komputer będzie działał z obecnymi zabezpieczeniami opartymi na AD, które mamy gdzie indziej.
Pierwsza część tego była naprawdę łatwa do zrealizowania - apt-get install likewise-open
a ja byłem prawie w interesach. Problem, który mam, polega na tym, że dostaję naszych administratorów do grup sudoersów - wydaje mi się, że nie mogę dostać nic do wzięcia. Próbowałem:
a) usermod -aG sudoers [username]
b) dodawanie nazw użytkowników w kilku formatach (DOMAIN \ użytkownik, użytkownik @ domena) do pliku sudoers.
Nic z tego nie wydawało się, nadal pojawia się komunikat „DOMAIN \ użytkownik nie znajduje się w pliku sudoers. Ten incydent zostanie zgłoszony”.
Jak więc dodać nielokalnych użytkowników do sudoers?
źródło
%Domain^Admins ALL=(ALL) ALL
Problem z innymi sugestiami jest taki
Zamiast tego chciałem czegoś takiego
Rzeczywistym rozwiązaniem jest użycie SSSD i rozszerzenie schematu AD. W ten sposób SSSD okresowo pobiera ustawienia sudo i poświadczenia użytkownika z AD i utrzymuje ich lokalną pamięć podręczną. Reguły sudo są następnie przechowywane w obiektach AD, w których można ograniczyć reguły do komputerów, użytkowników i poleceń, a wszystko to bez dotykania pliku sudoers na stacjach roboczych.
Dokładny samouczek jest zbyt długi, aby go tu wyjaśnić, ale możesz znaleźć przewodnik krok po kroku i kilka skryptów ułatwiających automatyzację tutaj:
TL; DR:
OGŁOSZENIE
Pobierz najnowszą wersję sudo , pobierz plik doc / schema.ActiveDirectory , a następnie zaimportuj go (pamiętaj, aby zmodyfikować ścieżkę domeny zgodnie z nazwą domeny):
Sprawdź to za pomocą Edycji ADSI: otwórz kontekst nazewnictwa schematu i poszukaj klasy sudoRole .
Teraz utwórz jednostkę sudoers w katalogu głównym domeny, ta jednostka organizacyjna będzie przechowywać wszystkie ustawienia sudo dla wszystkich stacji roboczych z systemem Linux. W ramach tej jednostki organizacyjnej utwórz obiekt sudoRole. Aby utworzyć obiekt sudoRole, musisz użyć Edycji ADSI, ale po utworzeniu możesz go zmodyfikować za pomocą Użytkownicy i komputery usługi Active Directory .
Załóżmy, że mam komputer o nazwie foo32linux , użytkownik o nazwie stewie.griffin i chcę pozwolić mu uruchamiać wszystkie polecenia z sudo na tym komputerze. W takim przypadku tworzę obiekt sudoRole pod OU sudoers . W sudoRole możesz użyć dowolnej nazwy - trzymam się nazwy komputera, ponieważ używam reguł dla poszczególnych komputerów. Teraz ustaw jego atrybuty w następujący sposób:
Do poleceń możesz także użyć określonych pozycji, takich jak / bin / less lub cokolwiek innego.
SSSD
Dodaj do swojego /etc/sssd/sssd.conf przynajmniej:
SSSD odświeża lokalną pamięć podręczną przy użyciu zaktualizowanych reguł co kilka godzin, ale najprostszym sposobem przetestowania jest ponowne uruchomienie komputera. Następnie zaloguj się z użytkownikiem AD i sprawdź:
Powinien zawierać listę wszystkich powiązanych wpisów dodanych do tego użytkownika i komputera. Bułka z masłem!
źródło
Najlepsze informacje, jakie mogłem znaleźć na ten temat, znajdują się tutaj:
http://www.mail-archive.com/[email protected]/msg00572.html
Zasadniczo prosi o zmodyfikowanie
/etc/sudoers
pliku za pomocą prawidłowej konfiguracji, aby umożliwić osobom z grupy administratora w AD dostęp do wszystkich uprawnień.Jeśli musisz być wybiórczy i ograniczyć użytkownika, możesz to zrobić. Ostrzega jednak, że musisz się dowiedzieć, jak nazywa się nazwa użytkownika w systemie Linux, używając
getend passwd
polecenia, jak pokazano.źródło
Za pomocą Centify direct dodałem użytkownika domeny do pliku / etc / sudoers.
(Użytkownik domeny) ALL = (ALL) ALL
źródło
Używam wspólnego polecenia
i wymienić
DOMAIN\user
zDOMAIN\\\username
.źródło