Jak uwierzytelnić użytkownika Linux za pomocą Microsoft Active Directory

Jak uwierzytelnić użytkownika Linux za pomocą Microsoft Active Directory
Active Directory (AD) to usługa katalogu Microsoft i jest powszechnie używana do konsolidacji uwierzytelniania systemu Windows i Linux w sieci hybrydowej, która działa w obu systemach operacyjnych.

O czym będziemy porozmawiać?

W tym artykule zobaczymy, jak uwierzytelnić użytkownika Linux za pomocą Microsoft Active Directory. W tym samouczku używamy serwera Windows 2016 i Ubuntu 20.04 OS.

Wymagania wstępne:

  1. Nie będziemy szczegółowo omawiać Active Directory, w tym jego funkcjonalność, konfigurację i konserwację. W tym przewodniku założymy, że wiesz, jak skonfigurować domenę Active Directory i masz dostęp do wymaganych poświadczeń.
  2. Kontroler domeny, Windows Server 2016 w tym przypadku, jest skonfigurowany jako podstawowy i autorytatywny rozdzielczy DNS dla domeny.
  3. Czas jest prawidłowo skonfigurowany i zsynchronizowany w obu systemach. Można to osiągnąć za pośrednictwem usług takich jak Chrony lub NTP.
  4. Do naszego samouczka używamy MyCompany.domena lokalna.

Konfigurowanie nazwy hosta klienta

Najpierw konfigurujemy nazwę hosta Ubuntu, aby wskazać domenę Active Directory. Na przykład, weźmy to jako myubuntu.moja firma.lokalny. Teraz zmodyfikuj plik Nazwa hosta w następujący sposób:

$ sudo echo miubuntu.moja firma.lokalny> /etc /hostName

Notatka: Nie możemy używać nazwy hosta jako lokalizacji, ponieważ wskazuje na 127.0.0.1.

Modyfikacja pliku /etc /hosts

Teraz otwórz plik /etc /hosts i określ adres IP naszego klienta za pomocą nazwy hosta specyficznego dla kontrolera domeny:

Modyfikacja /etc /resolv.plik CONF

Zapytanie DNS powinno najpierw dotrzeć do kontrolera domeny na naszym komputerze klienckim. Można to osiągnąć za pomocą resolv.plik CONF. Jednak ten plik jest automatycznie aktualizowany po ponownym uruchomieniu klienta. W konsekwencji wszystkie twoje ręczne edyty znikną.

Co ciekawe, możemy rozwiązać to zachowanie za pomocą pakietu ResolVConf. Przejdź do tego linku, aby naprawić Resolv.problem Con.

Wyszukiwanie determinacji.Plik CONF w naszym przypadku jest następujący:

Synchronizacja czasu

Systemy UNIX i Linux polegają na protokole czasu sieciowym (NTP) dla ich potrzeb synchronizacji czasu. Jeśli chodzi o Ubuntu, koncentruje się wokół domyślnego serwera NTP AT NTP.Ubuntu.com. Jeśli chcesz, aby Twój komputer Ubuntu zsynchronizował się idealnie z kontrolerem Active Directory, nie możesz polegać na zewnętrznym źródle czasu. To, co musisz zrobić. Możesz wykonać to zadanie, instalując i konfigurowanie usługi, takiej jak NTP lub Chrony.

Notatka: Zanim będziemy mogli przejść do następnego kroku w dodaniu naszego klienta systemu Ubuntu do domeny Active Directory, przetestuj łączność sieciową między nimi. Możemy to zrobić, pingując nazwę domeny i Active Directory DNS Nazwa:

$ ping mycompany.lokalny
$ ping Win-2rifamt88gr.moja firma.lokalny

Kluczowe jest posiadanie wiarygodnego rozdzielczości DNS i nazwy hosta.

Instalowanie pakietu Realmd

Teraz instalujemy pakiet Realmd i określamy, czy jesteśmy już częścią domeny Active Directory. Nie powinniśmy mieć żadnego członkostwa w dziedzinie, ponieważ Realmd nie było wcześniej zainstalowane:

$ sudo apt instal instaluj dziedziny

Teraz uruchom następujące polecenie:

Lista $ Realm

Tutaj pusty wynik wskazuje, że host nie jest jeszcze powiązany z usługą domeny Active Directory.

Odkrywanie domeny

Idąc dalej, teraz odkrywamy naszą domenę docelową za pomocą następującego polecenia:

$ realm odkryj mycompany.lokalny

Wymień mycompany.lokalny z nazwą domeny. Wyjście powinno być czymś w rodzaju następujących:

MOJA FIRMA.LOKALNY
Typ: Kerberos
Realm-nazwa: mycompany.LOKALNY
Nazwa domeny: MyCompany.lokalny
Skonfigurowany: Kerberos-Member
Server-Sofware: Active-Directory
Client-Sofware: SSSD
Wymagane pakiety: narzędzia SSSD
Wymagane pakowanie: SSSD
Wymagane pakowanie: Libnss-SSS
Wymagane pakowanie: Libpam-SSS
Wymagane pakowanie: Adcli
Wymagane pakowanie: samba-common-bin
login-formaty: %[email protected]
Login-Policy: Zezwalaj na loginy-realm

W szczególności dane wyjściowe określa wymagane pakiety do dołączenia do domeny. Sprawdza to również najbardziej trafne pakiety do zainstalowania za pomocą SSSD.

Instalowanie pakietów i dołączenie do domeny

Zainstalujmy poprzednie pakiety:

$ sudo apt instaluj sssd sssd-tools libnss-sss libpam-sss adcli samba-common-bin

Teraz, aby dołączyć do domeny AD (Active Directory) i skonfigurować SSSD, ponownie używamy polecenia Realm:

$ sudo realm dołącz do mycompany.lokalny

Wprowadź hasło dla administratora po wyświetleniu monitu. Możesz także określić inne konto za pomocą flagi -u:

Jeśli ponownie uruchomisz polecenie listy Realm, zobaczysz dane wyjściowe w następujący sposób:

Nie musimy dotykać konfiguracji SSSD, ponieważ jest to już zarządzane przez narzędzie Realm.

Tworzenie katalogu domowego

Jedną z rzeczy, które musimy zrobić sami, jest ustawienie katalogu domowego dla użytkowników reklam, aby zalogować się do naszego komputera klienta. Można to zrobić za pomocą następującego polecenia:

$ sudo pam-autout-update-elegancki mkhomedir

Podobnie możemy odzyskać szczegóły tych użytkowników AD za pomocą następującego polecenia:

$ getent Passwd [email protected]

Możemy również określić innych użytkowników o ich pełnej nazwie. Na przykład:

$ getent passwd [email protected]

Logowanie z kontami użytkowników reklam

Wreszcie, możemy zalogować się do konta użytkowników reklam:

login $ sudo

To prosi o wprowadzenie szczegółów użytkownika reklamy: jego nazwa użytkownika i hasła. Po pomyślnym zalogowaniu zobaczysz poniższy ekran:

W szczególności katalog domowy jest tutaj automatycznie tworzony:

Wniosek

Nauczyliśmy się teraz, jak dodać klienta hosta Linux do serwera Windows. Można uzyskać korzyści obu systemów poprzez integrację Linuksa z istniejącą domeną Active Directory. Jeśli masz więcej niż pięć systemów, rozważ zarządzanie nimi z usługą katalogową.