Wyszukiwanie w witrynie

Zintegruj Ubuntu z Samba4 AD DC z SSSD i Realm — część 15


W tym samouczku dowiesz się, jak dołączyć komputer Ubuntu Desktop do domeny Samba4 Active Directory za pomocą SSSD i Realmd > usługi w celu uwierzytelniania użytkowników w Active Directory.

Wymagania:

  1. Utwórz infrastrukturę Active Directory za pomocą Samby4 na Ubuntu

Krok 1: Wstępne konfiguracje

1. Przed rozpoczęciem dołączania Ubuntu do Active Directory upewnij się, że nazwa hosta jest poprawnie skonfigurowana. Użyj polecenia hostnamectl, aby ustawić nazwę komputera lub ręcznie edytować plik /etc/hostname.

sudo hostnamectl set-hostname your_machine_short_hostname
cat /etc/hostname
hostnamectl

2. W następnym kroku edytuj ustawienia interfejsu sieciowego komputera i dodaj prawidłowe konfiguracje IP oraz prawidłowe adresy IP serwerów DNS, aby wskazywały kontroler domeny Samba AD, jak pokazano na poniższym zrzucie ekranu.

Jeśli skonfigurowałeś serwer DHCP w swojej siedzibie, aby automatycznie przypisywał ustawienia IP dla komputerów w sieci LAN z właściwymi adresami IP AD DNS, możesz pominąć ten krok i przejść dalej.

Na powyższym zrzucie ekranu 192.168.1.254 i 192.168.1.253 reprezentują adresy IP kontrolerów domeny Samba4.

3. Uruchom ponownie usługi sieciowe, aby zastosować zmiany, korzystając z graficznego interfejsu użytkownika lub wiersza poleceń, i wydaj serię poleceń ping w odniesieniu do nazwy domeny, aby sprawdzić, czy rozpoznawanie DNS jest prawidłowe działa zgodnie z oczekiwaniami. Użyj także polecenia host, aby przetestować rozpoznawanie DNS.

sudo systemctl restart networking.service
host your_domain.tld
ping -c2 your_domain_name
ping -c2 adc1
ping -c2 adc2

4. Na koniec upewnij się, że czas maszynowy jest zsynchronizowany z Samba4 AD. Zainstaluj pakiet ntpdate i zsynchronizuj czas z AD, wydając poniższe polecenia.

sudo apt-get install ntpdate
sudo ntpdate your_domain_name

Krok 2: Zainstaluj wymagane pakiety

5. Na tym etapie zainstaluj niezbędne oprogramowanie i wymagane zależności, aby dołączyć Ubuntu do Samba4 AD DC: usługi Realmd i SSSD.

sudo apt install adcli realmd krb5-user samba-common-bin samba-libs samba-dsdb-modules sssd sssd-tools libnss-sss libpam-sss packagekit policykit-1 

6. Wpisz nazwę domeny domyślnej wielkimi literami i naciśnij klawisz Enter, aby kontynuować instalację.

7. Następnie utwórz plik konfiguracyjny SSSD z następującą zawartością.

sudo nano /etc/sssd/sssd.conf

Dodaj następujące linie do pliku sssd.conf.

[nss]
filter_groups = root
filter_users = root
reconnection_retries = 3

[pam]
reconnection_retries = 3

[sssd]
domains = tecmint.lan
config_file_version = 2
services = nss, pam
default_domain_suffix = TECMINT.LAN


[domain/tecmint.lan]
ad_domain = tecmint.lan
krb5_realm = TECMINT.LAN
realmd_tags = manages-system joined-with-samba
cache_credentials = True
id_provider = ad
krb5_store_password_if_offline = True
default_shell = /bin/bash
ldap_id_mapping = True
use_fully_qualified_names = True
fallback_homedir = /home/%d/%u
access_provider = ad

auth_provider = ad
chpass_provider = ad
access_provider = ad
ldap_schema = ad
dyndns_update = true
dyndns_refresh_interval = 43200
dyndns_update_ptr = true
dyndns_ttl = 3600

Upewnij się, że odpowiednio zastąpiłeś nazwę domeny w następujących parametrach:

domains = tecmint.lan
default_domain_suffix = TECMINT.LAN
[domain/tecmint.lan]
ad_domain = tecmint.lan
krb5_realm = TECMINT.LAN

8. Następnie dodaj odpowiednie uprawnienia dla pliku SSSD wydając poniższe polecenie:

sudo chmod 700 /etc/sssd/sssd.conf

9. Teraz otwórz i edytuj plik konfiguracyjny Realmd i dodaj następujące linie.

sudo nano /etc/realmd.conf

Fragment pliku Realmd.conf:

[active-directory]
os-name = Linux Ubuntu
os-version = 17.04

[service]
automatic-install = yes

 [users]
default-home = /home/%d/%u
default-shell = /bin/bash

[tecmint.lan]
user-principal = yes
fully-qualified-names = no

10. Ostatni plik, który musisz zmodyfikować, należy do demona Samby. Otwórz plik /etc/samba/smb.conf do edycji i dodaj następujący blok kodu na początku pliku, po sekcji [global], jak pokazano na obrazek poniżej.

 workgroup = TECMINT
   client signing = yes
   client use spnego = yes
   kerberos method = secrets and keytab
   realm = TECMINT.LAN
   security = ads

Upewnij się, że zastąpiłeś wartość nazwa domeny, zwłaszcza wartość obszaru, aby była zgodna z nazwą Twojej domeny, i uruchom polecenie testparm, aby sprawdzić, czy konfiguracja plik nie zawiera błędów.

sudo testparm

11. Po wprowadzeniu wszystkich wymaganych zmian przetestuj uwierzytelnianie Kerberos przy użyciu konta administracyjnego AD i wyświetl bilet, wydając poniższe polecenia.

sudo kinit [email 
sudo klist

Krok 3: Dołącz do Ubuntu w krainie Samba4

12. Aby dołączyć komputer Ubuntu do usługi Samba4 Active Directory, wykonaj serię poleceń przedstawionych poniżej. Użyj nazwy konta AD DC z uprawnieniami administratora, aby powiązanie z dziedziną działało zgodnie z oczekiwaniami, i odpowiednio zastąp wartość nazwy domeny.

sudo realm discover -v DOMAIN.TLD
sudo realm list
sudo realm join TECMINT.LAN -U ad_admin_user -v
sudo net ads join -k

13. Po powiązaniu domeny uruchom poniższe polecenie, aby upewnić się, że wszystkie konta domeny mogą uwierzytelniać się na komputerze.

sudo realm permit --all

Następnie możesz zezwolić lub zabronić dostępu do konta użytkownika domeny lub grupy za pomocą polecenia realm, jak pokazano w poniższych przykładach.

sudo realm deny -a
realm permit --groups ‘domain.tld\Linux Admins’
realm permit [email 
realm permit DOMAIN\\User2

14. Na komputerze z systemem Windows i zainstalowanymi narzędziami RSAT możesz otworzyć AD UC i przejść do kontenera Komputery i sprawdzić, czy konto obiektowe o nazwie Twojej maszyny został utworzony.

Krok 4: Skonfiguruj uwierzytelnianie kont AD

15. Aby uwierzytelnić się na komputerze Ubuntu z kontami domeny, musisz uruchomić komendę pam-auth-update z uprawnieniami roota i włączyć wszystkie profile PAM, w tym opcję automatycznego tworzenia katalogi domowe dla każdego konta domeny przy pierwszym logowaniu.

Sprawdź wszystkie wpisy, naciskając klawisz [spacja] i naciśnij ok, aby zastosować konfigurację.

sudo pam-auth-update

16. W systemach ręcznie edytuj plik /etc/pam.d/common-account i następujący wiersz, aby automatycznie tworzyć domy dla uwierzytelnionych użytkowników domeny.

session    required    pam_mkhomedir.so    skel=/etc/skel/    umask=0022

17. Jeśli użytkownicy Active Directory nie mogą zmienić swojego hasła z wiersza poleceń w systemie Linux, otwórz plik /etc/pam.d/common-password i usuń plik use_authtok z linii hasła, aby ostatecznie wyglądać jak w poniższym fragmencie.

password       [success=1 default=ignore]      pam_winbind.so try_first_pass

18. Na koniec uruchom ponownie i włącz usługi Realmd i SSSD, aby zastosować zmiany, wydając poniższe polecenia:

sudo systemctl restart realmd sssd
sudo systemctl enable realmd sssd

19. Aby sprawdzić, czy komputer Ubuntu został pomyślnie zintegrowany z domeną, uruchom instalację pakietu winbind i uruchom polecenie wbinfo, aby wyświetlić listę kont i grup domen, jak pokazano poniżej.

sudo apt-get install winbind
wbinfo -u
wbinfo -g

20. Sprawdź także moduł Winbind nsswitch, wydając polecenie getent wobec określonego użytkownika domeny lub grupy.

sudo getent passwd your_domain_user
sudo getent group ‘domain admins’

21. Możesz także użyć polecenia id systemu Linux, aby uzyskać informacje o koncie AD, jak pokazano w poniższym poleceniu.

id tecmint_user

22. Aby uwierzytelnić się na hoście Ubuntu za pomocą konta Samba4 AD, użyj parametru nazwy użytkownika domeny po poleceniu su. Uruchom polecenie id, aby uzyskać dodatkowe informacje o koncie AD.

su - your_ad_user

Użyj polecenia pwd, aby zobaczyć bieżący katalog roboczy użytkownika domeny i polecenia passwd, jeśli chcesz zmienić hasło.

23. Aby używać konta domeny z uprawnieniami roota na komputerze Ubuntu, musisz dodać nazwę użytkownika AD do grupy systemowej Sudo, wydając poniższe polecenie:

sudo usermod -aG sudo [email 

Zaloguj się do Ubuntu przy użyciu konta domeny i zaktualizuj system, uruchamiając polecenie apt update, aby sprawdzić uprawnienia roota.

24. Aby dodać uprawnienia roota dla grupy domeny, otwórz i edytuj plik /etc/sudoers za pomocą polecenia visudo i dodaj następujący wiersz, jak pokazano na ilustracji .

%domain\ [email        		 ALL=(ALL:ALL) ALL

25. Aby używać uwierzytelniania konta domeny dla Ubuntu Desktop, zmodyfikuj menedżera wyświetlania LightDM, edytując /usr/share/lightdm/lightdm.conf.d/50-ubuntu. conf, dołącz następujące dwa wiersze i zrestartuj usługę lightdm lub uruchom ponownie komputer i zastosuj zmiany.

greeter-show-manual-login=true
greeter-hide-users=true

Zaloguj się do Ubuntu Desktop przy użyciu konta domeny, używając składni nazwa_użytkownika_twoja_domena lub nazwa_użytkownika_twoja_domena@twoja_domena.tld.

26. Aby używać formatu krótkiej nazwy dla kont Samba AD, edytuj plik /etc/sssd/sssd.conf i dodaj następujący wiersz w [sssd] blok, jak pokazano poniżej.

full_name_format = %1$s

i zrestartuj demona SSSD, aby zastosować zmiany.

sudo systemctl restart sssd

Zauważysz, że znak zachęty bash zmieni się na krótką nazwę użytkownika AD bez dodawania odpowiednika nazwy domeny.

27. Jeśli nie możesz się zalogować z powodu argumentu enumerate=true ustawionego w sssd.conf, musisz wyczyścić bazę danych buforowaną sssd, wydając poniższe polecenie :

rm /var/lib/sss/db/cache_tecmint.lan.ldb

To wszystko! Chociaż ten przewodnik koncentruje się głównie na integracji z Active Directory Samba4, te same kroki można zastosować, aby zintegrować Ubuntu z usługami Realmd i SSSD z Active Directory Microsoft Windows Server.