Integrați Ubuntu în Samba4 AD DC cu SSSD și Realm - Partea 15


Acest tutorial vă va ghida despre cum să vă conectați la o mașină Ubuntu Desktop într-un domeniu Samba4 Active Directory cu SSSD și Realmd > servicii pentru a autentifica utilizatorii împotriva unui Active Directory.

Cerințe:

  1. Creați o infrastructură Active Directory cu Samba4 pe Ubuntu

Pasul 1: Configurații inițiale

1. Înainte de a începe să vă alăturați Ubuntu într-un Active Directory, asigurați-vă că numele de gazdă este configurat corect. Utilizați comanda hostnamectl pentru a seta numele mașinii sau editați manual fișierul /etc/hostname.

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

2. La pasul următor, editați setările interfeței de rețea a mașinii și adăugați configurațiile IP adecvate și adresele corecte ale serverului IP DNS pentru a indica controlerul de domeniu Samba AD, așa cum este ilustrat în captura de ecran de mai jos.

Dacă ați configurat un server DHCP la sediul dumneavoastră pentru a atribui automat setări IP pentru mașinile dumneavoastră LAN cu adresele IP AD DNS adecvate, atunci puteți sări peste acest pas și să mergeți mai departe.

În captura de ecran de mai sus, 192.168.1.254 și 192.168.1.253 reprezintă adresele IP ale controlerelor de domeniu Samba4.

3. Reporniți serviciile de rețea pentru a aplica modificările folosind GUI sau din linia de comandă și lansați o serie de comandă ping împotriva numelui dvs. de domeniu pentru a testa dacă rezoluția DNS este funcționează conform așteptărilor. De asemenea, utilizați comanda gazdă pentru a testa rezoluția DNS.

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

4. În cele din urmă, asigurați-vă că timpul aparatului este sincronizat cu Samba4 AD. Instalați pachetul ntpdate și sincronizați ora cu AD lansând comenzile de mai jos.

sudo apt-get install ntpdate
sudo ntpdate your_domain_name

Pasul 2: Instalați pachetele necesare

5. În acest pas, instalați software-ul necesar și dependențele necesare pentru a vă alătura Ubuntu în Samba4 AD DC: servicii 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. Introduceți numele domeniului implicit cu majuscule și apăsați tasta Enter pentru a continua instalarea.

7. Apoi, creați fișierul de configurare SSSD cu următorul conținut.

sudo nano /etc/sssd/sssd.conf

Adăugați următoarele linii în fișierul 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

Asigurați-vă că înlocuiți numele de domeniu în următorii parametri în consecință:

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

8. Apoi, adăugați permisiunile corespunzătoare pentru fișierul SSSD lansând comanda de mai jos:

sudo chmod 700 /etc/sssd/sssd.conf

9. Acum, deschideți și editați fișierul de configurare Realmd și adăugați următoarele rânduri.

sudo nano /etc/realmd.conf

Extras din fișierul 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. Ultimul fișier pe care trebuie să-l modificați aparține demonului Samba. Deschideți fișierul /etc/samba/smb.conf pentru editare și adăugați următorul bloc de cod la începutul fișierului, după secțiunea [global] așa cum este ilustrat pe imaginea de mai jos.

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

Asigurați-vă că înlocuiți valoarea nume de domeniu, în special valoarea domeniului pentru a se potrivi cu numele domeniului dvs. și executați comanda testparm pentru a verifica dacă configurația fișierul nu conține erori.

sudo testparm

11. După ce ați făcut toate modificările necesare, testați autentificarea Kerberos folosind un cont administrativ AD și enumerați biletul lansând comenzile de mai jos.

sudo kinit [email 
sudo klist

Pasul 3: alăturați-vă Ubuntu la Samba4 Realm

12. Pentru a vă alătura mașinii Ubuntu la Samba4 Active Directory, emiteți o serie de comenzi, așa cum este ilustrat mai jos. Utilizați numele unui cont AD DC cu privilegii de administrator pentru ca legarea la tărâm să funcționeze conform așteptărilor și înlocuiți valoarea numelui de domeniu în consecință.

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. După ce a avut loc legarea domeniului, rulați comanda de mai jos pentru a vă asigura că toate conturile de domeniu au permisiunea de a se autentifica pe computer.

sudo realm permit --all

Ulterior, puteți permite sau refuza accesul unui cont de utilizator de domeniu sau unui grup utilizând comanda domeniului, așa cum este prezentat în exemplele de mai jos.

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

14. De pe o mașină Windows cu instrumente RSAT instalate, puteți deschide AD UC și navigați la containerul Computeres și verificați dacă există un cont de obiect cu numele a mașinii dvs. a fost creat.

Pasul 4: Configurați autentificarea conturilor AD

15. Pentru a vă autentifica pe mașina Ubuntu cu conturi de domeniu, trebuie să rulați comanda pam-auth-update cu privilegii root și să activați toate profilurile PAM, inclusiv opțiunea de a crea automat directoarele de acasă pentru fiecare cont de domeniu la prima conectare.

Verificați toate intrările apăsând tasta [spațiu] și apăsați pe ok pentru a aplica configurația.

sudo pam-auth-update

16. Pe sisteme, editați manual fișierul /etc/pam.d/common-account și următoarea linie pentru a crea automat case pentru utilizatorii de domenii autentificați.

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

17. Dacă utilizatorii Active Directory nu își pot schimba parola din linia de comandă în Linux, deschideți fișierul /etc/pam.d/common-password și eliminați use_authtokde la linia parolei pentru a arăta în cele din urmă ca în fragmentul de mai jos.

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

18. În cele din urmă, reporniți și activați serviciul Realmd și SSSD pentru a aplica modificări, lansând comenzile de mai jos:

sudo systemctl restart realmd sssd
sudo systemctl enable realmd sssd

19. Pentru a testa dacă mașina Ubuntu a fost integrată cu succes în realm, rulați instalați pachetul winbind și rulați comanda wbinfo pentru a lista conturile și grupurile de domeniu, așa cum este ilustrat mai jos.

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

20. De asemenea, verificați modulul Winbind nsswitch lansând comanda getent împotriva unui anumit utilizator sau grup de domeniu.

sudo getent passwd your_domain_user
sudo getent group ‘domain admins’

21. De asemenea, puteți utiliza comanda Linux id pentru a obține informații despre un cont AD, așa cum este ilustrat în comanda de mai jos.

id tecmint_user

22. Pentru a vă autentifica pe gazda Ubuntu cu un cont Samba4 AD, utilizați parametrul nume de utilizator al domeniului după comanda su –. Rulați comanda id pentru a obține informații suplimentare despre contul AD.

su - your_ad_user

Utilizați comanda pwd pentru a vedea directorul de lucru curent al utilizatorului de domeniu și comanda passwd dacă doriți să schimbați parola.

23. Pentru a utiliza un cont de domeniu cu privilegii root pe mașina dvs. Ubuntu, trebuie să adăugați numele de utilizator AD la grupul de sistem sudo lansând comanda de mai jos:

sudo usermod -aG sudo [email 

Conectați-vă la Ubuntu cu contul de domeniu și actualizați sistemul rulând comanda apt update pentru a verifica privilegiile root.

24. Pentru a adăuga privilegii de rădăcină pentru un grup de domenii, editați fișierul /etc/sudoers folosind comanda visudo și adăugați următoarea linie, așa cum este ilustrat .

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

25. Pentru a utiliza autentificarea contului de domeniu pentru Ubuntu Desktop, modificați managerul de afișare LightDM editând /usr/share/lightdm/lightdm.conf.d/50-ubuntu. conf, adăugați următoarele două rânduri și reporniți serviciul lightdm sau reporniți aparatul, aplicați modificări.

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

Conectați-vă la Ubuntu Desktop cu un cont de domeniu utilizând fie sintaxa your_domain_username, fie your_domain_username@your_domain.tld.

26. Pentru a utiliza formatul de nume scurt pentru conturile Samba AD, editați fișierul /etc/sssd/sssd.conf, adăugați următorul rând în [sssd] bloc așa cum este ilustrat mai jos.

full_name_format = %1$s

și reporniți demonul SSSD pentru a aplica modificările.

sudo systemctl restart sssd

Veți observa că solicitarea bash se va schimba în numele scurt al utilizatorului AD fără a adăuga omologul numelui de domeniu.

27. În cazul în care nu vă puteți autentifica din cauza argumentului enumerate=true setat în sssd.conf, trebuie să ștergeți baza de date cache sssd lansând comanda de mai jos :

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

Asta e tot! Deși acest ghid se concentrează în principal pe integrarea cu un Samba4 Active Directory, aceiași pași pot fi aplicați pentru a integra Ubuntu cu serviciile Realmd și SSSD într-un Microsoft Windows Server Active Directory.