Integrirajte Ubuntu v Samba4 AD DC s SSSD in Realm - 15. del


Ta vadnica vas bo vodila, kako združiti namizni računalnik Ubuntu v domeno Samba4 Active Directory s storitvami SSSD in Realmd, da preverite pristnost uporabnikov pred Active Directory.

  1. Ustvarite infrastrukturo Active Directory s Samba4 v Ubuntu

1. korak: Začetne konfiguracije

1. Preden se Ubuntu pridružite v imeniku Active Directory, se prepričajte, da je ime gostitelja pravilno konfigurirano. Z ukazom hostnamectl nastavite ime naprave ali ročno uredite datoteko/etc/hostname.

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

2. Na naslednjem koraku uredite nastavitve omrežnega vmesnika stroja in dodajte ustrezne konfiguracije IP in pravilne naslove strežnikov DNS IP, ki kažejo na krmilnik domene Samba AD, kot je prikazano na spodnjem posnetku zaslona.

Če ste v svojih prostorih konfigurirali strežnik DHCP za samodejno dodelitev nastavitev IP za vaše LAN naprave z ustreznimi naslovi AD DNS IP, lahko ta korak preskočite in se premaknete naprej.

Na zgornjem posnetku zaslona 192.168.1.254 in 192.168.1.253 predstavljata naslova IP domenskih krmilnikov Samba4.

3. Znova zaženite omrežne storitve, da uporabite spremembe z uporabo grafičnega uporabniškega vmesnika ali iz ukazne vrstice, in izdajte vrsto ukazov ping za vaše ime domene, da preizkusite, ali ločljivost DNS deluje po pričakovanjih. Uporabite tudi gostiteljski ukaz za preizkus ločljivosti DNS.

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

4. Nazadnje se prepričajte, da je čas stroja sinhroniziran s Samba4 AD. Namestite paket ntpdate in sinhronizirajte čas z AD z izdajo spodnjih ukazov.

$ sudo apt-get install ntpdate
$ sudo ntpdate your_domain_name

2. korak: Namestite potrebne pakete

5. Na tem koraku namestite potrebno programsko opremo in potrebne odvisnosti, da se Ubuntu pridružijo storitvam Samba4 AD DC: Realmd in 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. Vnesite ime privzetega področja z velikimi črkami in pritisnite tipko Enter za nadaljevanje namestitve.

7. Nato ustvarite konfiguracijsko datoteko SSSD z naslednjo vsebino.

$ sudo nano /etc/sssd/sssd.conf

Dodajte naslednje vrstice v datoteko 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

Prepričajte se, da ste ustrezno zamenjali ime domene v naslednjih parametrih:

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

8. Nato dodajte ustrezna dovoljenja za datoteko SSSD z izdajo spodnjega ukaza:

$ sudo chmod 700 /etc/sssd/sssd.conf

9. Zdaj odprite in uredite konfiguracijsko datoteko Realmd ter dodajte naslednje vrstice.

$ sudo nano /etc/realmd.conf

Izvleček datoteke 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. Zadnja datoteka, ki jo morate spremeniti, pripada demonu Samba. Odprite datoteko /etc/samba/smb.conf za urejanje in dodajte naslednji blok kode na začetek datoteke, za razdelkom [global], kot je prikazano na spodnji sliki.

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

Zamenjajte vrednost imena domene, zlasti vrednost področja, da se ujema z imenom vaše domene, in zaženite ukaz testparm, da preverite, ali konfiguracijska datoteka ne vsebuje napak.

$ sudo testparm

11. Ko izvedete vse zahtevane spremembe, preizkusite preverjanje pristnosti Kerberos s skrbniškim računom AD in vnesite seznam z izdajo spodnjih ukazov.

$ sudo kinit [email 
$ sudo klist

3. korak: Pridružite se Ubuntuju v Samba4 Realm

12. Če se želite stroj Ubuntu pridružiti Samba4 Active Directory, izdajte naslednje ukaze, kot je prikazano spodaj. Uporabite ime računa AD DC s skrbniškimi pravicami, da bo vezava na področje delovala po pričakovanjih in ustrezno zamenjala vrednost imena domene.

$ 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 opravljeni vezavi domene zaženite spodnji ukaz, da zagotovite, da se bodo vsi računi domene lahko overjali v računalniku.

$ sudo realm permit --all

Nato lahko dovolite ali zavrnete dostop za uporabniški račun domene ali skupino z ukazom realm, kot je prikazano na spodnjih primerih.

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

14. V računalniku z operacijskim sistemom Windows z nameščenimi orodji RSAT lahko odprete AD UC in se pomaknete do vsebnika Computers ter preverite, ali je bil ustvarjen račun objekta z imenom vaše naprave.

4. korak: Konfigurirajte preverjanje pristnosti računov AD

15. Če želite preveriti pristnost na računalniku Ubuntu z računi domene, morate zagnati ukaz pam-auth-update s korenskimi pravicami in omogočiti vse profile PAM, vključno z možnostjo samodejnega ustvarjanja domačih imenikov za vsak račun domene ob prvi prijavi.

Preverite vse vnose s pritiskom na tipko [presledek] in pritisnite OK, da uporabite konfiguracijo.

$ sudo pam-auth-update

16. V sistemih ročno uredite datoteko /etc/pam.d/common-account in naslednjo vrstico, da samodejno ustvarite domove za overjene uporabnike domene.

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

17. Če uporabniki imenika Active Directory ne morejo spremeniti gesla iz ukazne vrstice v Linuxu, odprite datoteko /etc/pam.d/common-password in odstranite stavek use_authtok iz vrstice gesla, da bo končno videti kot na spodnjem izvlečku.

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

18. Na koncu znova zaženite in omogočite storitvam Realmd in SSSD uporabo sprememb z izdajo spodnjih ukazov:

$ sudo systemctl restart realmd sssd
$ sudo systemctl enable realmd sssd

19. Da bi preizkusili, ali je bil stroj Ubuntu uspešno integriran v real-run, namestite paket winbind in zaženite ukaz wbinfo za seznam domenskih računov in skupin, kot je prikazano spodaj.

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

20. Preverite tudi modul Winbind nsswitch, tako da izdate ukaz getent proti določenemu uporabniku ali skupini domene.

$ sudo getent passwd your_domain_user
$ sudo getent group ‘domain admins’

21. Z ukazom id za Linux lahko dobite tudi informacije o računu AD, kot je prikazano v spodnjem ukazu.

$ id tecmint_user

22. Za preverjanje pristnosti na gostitelju Ubuntu z računom Samba4 AD uporabite parameter uporabniškega imena domene po ukazu su. Zaženite ukaz id, da dobite dodatne informacije o računu AD.

$ su - your_ad_user

Z ukazom pwd si oglejte trenutni delovni imenik uporabnika domene in ukaz passwd, če želite spremeniti geslo.

23. Če želite na svojem računalniku Ubuntu uporabljati račun domene s korenskimi pravicami, morate dodati uporabniško ime AD v sistemsko skupino sudo tako, da izdate spodnji ukaz:

$ sudo usermod -aG sudo [email 

Prijavite se v Ubuntu z računom domene in posodobite sistem, tako da zaženete ukaz apt update, da preverite korenske privilegije.

24. Če želite dodati korenske pravice za skupino domene, odprite datoteko edit /etc /sudoers z ukazom visudo in dodajte naslednjo vrstico, kot je prikazano.

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

25. Če želite uporabiti preverjanje pristnosti računa domene za namizje Ubuntu, spremenite upravitelja zaslona LightDM z urejanjem datoteke /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf, dodajte naslednje dve vrstici in znova zaženite storitev lightdm ali znova zaženite stroj spremembe.

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

Prijavite se v namizje Ubuntu z domenskim računom s sintakso your_domain_username ali [email _domain.tld.

26. Če želite uporabiti obliko kratkega imena za račune Samba AD, uredite datoteko /etc/sssd/sssd.conf, dodajte naslednjo vrstico v blok [sssd], kot je prikazano spodaj.

full_name_format = %1$s

in znova zaženite demon SSSD, da uveljavite spremembe.

$ sudo systemctl restart sssd

Opazili boste, da se bo poziv za bash spremenil v kratko ime uporabnika AD, ne da bi dodal nasprotnika domene.

27. V primeru, da se zaradi nabora argumentov enumerate = true v sssd.conf ne morete prijaviti, morate počistiti predpomnjeno bazo podatkov sssd z izdajo spodnjega ukaza:

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

To je vse! Čeprav je ta vodnik v glavnem osredotočen na integracijo s Samba4 Active Directory, lahko iste korake uporabimo za integracijo Ubuntuja s storitvami Realmd in SSSD v Microsoft Windows Server Active Directory.