Zoeken op website

Integreer Ubuntu met Samba4 AD DC met SSSD en Realm - Deel 15


In deze tutorial leert u hoe u een Ubuntu Desktop-machine kunt koppelen aan een Samba4 Active Directory-domein met SSSD en Realmd > services om gebruikers te authenticeren tegen een Active Directory.

Vereisten:

  1. Creëer een Active Directory-infrastructuur met Samba4 op Ubuntu

Stap 1: Initiële configuraties

1. Voordat u begint met het toevoegen van Ubuntu aan een Active Directory, moet u ervoor zorgen dat de hostnaam correct is geconfigureerd. Gebruik de opdracht hostnamectl om de machinenaam in te stellen of bewerk het bestand /etc/hostname handmatig.

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

2. Bij de volgende stap bewerkt u de netwerkinterface-instellingen van de machine en voegt u de juiste IP-configuraties en de juiste DNS IP-serveradressen toe om naar de Samba AD-domeincontroller te verwijzen, zoals geïllustreerd in de onderstaande schermafbeelding.

Als u op uw locatie een DHCP-server hebt geconfigureerd om automatisch IP-instellingen toe te wijzen aan uw LAN-machines met de juiste AD DNS IP-adressen, kunt u deze stap overslaan en verder gaan.

Op de bovenstaande schermafbeelding vertegenwoordigen 192.168.1.254 en 192.168.1.253 de IP-adressen van de Samba4-domeincontrollers.

3. Start de netwerkservices opnieuw op om de wijzigingen toe te passen via de GUI of vanaf de opdrachtregel en voer een reeks ping-opdrachten uit tegen uw domeinnaam om te testen of de DNS-resolutie correct is werkt zoals verwacht. Gebruik ook de opdracht host om de DNS-resolutie te testen.

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

4. Zorg er ten slotte voor dat de machinetijd synchroon loopt met Samba4 AD. Installeer het ntpdate pakket en synchroniseer de tijd met de AD door de onderstaande opdrachten uit te voeren.

sudo apt-get install ntpdate
sudo ntpdate your_domain_name

Stap 2: Installeer de vereiste pakketten

5. Installeer bij deze stap de benodigde software en vereiste afhankelijkheden om Ubuntu te kunnen aansluiten bij Samba4 AD DC: Realmd en SSSD services.

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. Voer de naam van de standaardrealm in hoofdletters in en druk op de Enter-toets om door te gaan met de installatie.

7. Maak vervolgens het SSSD-configuratiebestand met de volgende inhoud.

sudo nano /etc/sssd/sssd.conf

Voeg de volgende regels toe aan het bestand 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

Zorg ervoor dat u de domeinnaam overeenkomstig in de volgende parameters vervangt:

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

8. Voeg vervolgens de juiste machtigingen voor het SSSD-bestand toe door de onderstaande opdracht uit te voeren:

sudo chmod 700 /etc/sssd/sssd.conf

9. Open en bewerk nu het Realmd configuratiebestand en voeg de volgende regels toe.

sudo nano /etc/realmd.conf

Realmd.conf bestandsfragment:

[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. Het laatste bestand dat u moet wijzigen, behoort tot de Samba-daemon. Open het bestand /etc/samba/smb.conf om het te bewerken en voeg het volgende codeblok toe aan het begin van het bestand, na de sectie [global], zoals geïllustreerd op de afbeelding hieronder.

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

Zorg ervoor dat u de waarde domeinnaam vervangt, vooral de realm-waarde zodat deze overeenkomt met uw domeinnaam en voer de opdracht testparm uit om te controleren of de configuratie bestand bevat geen fouten.

sudo testparm

11. Nadat u alle vereiste wijzigingen heeft aangebracht, test u de Kerberos-authenticatie met een AD-beheerdersaccount en vermeldt u het ticket door de onderstaande opdrachten te geven.

sudo kinit [email 
sudo klist

Stap 3: Sluit u aan bij Ubuntu bij Samba4 Realm

12. Om de Ubuntu-machine te koppelen aan Samba4 Active Directory, volgt u een reeks opdrachten, zoals hieronder geïllustreerd. Gebruik de naam van een AD DC-account met beheerdersbevoegdheden zodat de binding aan realm naar verwachting werkt en vervang de domeinnaamwaarde dienovereenkomstig.

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. Nadat de domeinbinding heeft plaatsgevonden, voert u de onderstaande opdracht uit om er zeker van te zijn dat alle domeinaccounts zich op de machine mogen verifiëren.

sudo realm permit --all

Vervolgens kunt u de toegang voor een domeingebruikersaccount of een groep toestaan of weigeren met behulp van de realm-opdracht, zoals weergegeven in de onderstaande voorbeelden.

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

14. Vanaf een Windows-computer waarop RSAT-tools zijn geïnstalleerd, kunt u AD UC openen en naar de container Computers gaan en controleren of er een objectaccount met de naam van uw machine is aangemaakt.

Stap 4: Configureer AD-accountverificatie

15. Om te authenticeren op een Ubuntu-machine met domeinaccounts moet u de opdracht pam-auth-update uitvoeren met rootrechten en alle PAM-profielen inschakelen, inclusief de optie om automatisch aan te maken homemappen voor elk domeinaccount bij de eerste aanmelding.

Controleer alle invoer door op de [spatie]-toets te drukken en op ok te drukken om de configuratie toe te passen.

sudo pam-auth-update

16. Bewerk op systemen handmatig het /etc/pam.d/common-account bestand en de volgende regel om automatisch huizen te maken voor geverifieerde domeingebruikers.

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

17. Als Active Directory-gebruikers hun wachtwoord niet kunnen wijzigen via de opdrachtregel in Linux, open dan het bestand /etc/pam.d/common-password en verwijder de use_authtok-instructie van de wachtwoordregel om er uiteindelijk uit te zien zoals in het onderstaande fragment.

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

18. Start ten slotte de Realmd- en SSSD-service opnieuw op en schakel deze in om wijzigingen toe te passen door de onderstaande opdrachten uit te voeren:

sudo systemctl restart realmd sssd
sudo systemctl enable realmd sssd

19. Om te testen of de Ubuntu-machine succesvol is geïntegreerd in realm, voert u het winbind-pakket uit en voert u de opdracht wbinfo uit om domeinaccounts en -groepen weer te geven, zoals hieronder weergegeven.

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

20. Controleer ook de Winbind nsswitch-module door de opdracht getent uit te voeren tegen een specifieke domeingebruiker of groep.

sudo getent passwd your_domain_user
sudo getent group ‘domain admins’

21. Je kunt ook de Linux id-opdracht gebruiken om informatie over een AD-account te krijgen, zoals geïllustreerd in de onderstaande opdracht.

id tecmint_user

22. Om te authenticeren op een Ubuntu-host met een Samba4 AD-account gebruikt u de domeingebruikersnaamparameter na het su – commando. Voer de opdracht id uit om extra informatie over het AD-account te krijgen.

su - your_ad_user

Gebruik de opdracht pwd om de huidige werkmap van uw domeingebruiker te bekijken en de opdracht passwd als u het wachtwoord wilt wijzigen.

23. Om een domeinaccount met rootrechten op uw Ubuntu-machine te gebruiken, moet u de AD-gebruikersnaam toevoegen aan de sudo-systeemgroep door de onderstaande opdracht te geven:

sudo usermod -aG sudo [email 

Meld u aan bij Ubuntu met het domeinaccount en update uw systeem door de opdracht apt update uit te voeren om de rootrechten te controleren.

24. Om rootrechten voor een domeingroep toe te voegen, opent u het bestand /etc/sudoers met de opdracht visudo en voegt u de volgende regel toe, zoals weergegeven .

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

25. Om domeinaccountverificatie voor Ubuntu Desktop te gebruiken, wijzigt u LightDM weergavebeheer door /usr/share/lightdm/lightdm.conf.d/50-ubuntu te bewerken. conf bestand, voeg de volgende twee regels toe en start de lightdm-service opnieuw of start de machine opnieuw op en pas de wijzigingen toe.

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

Meld u aan bij Ubuntu Desktop met een domeinaccount met behulp van de syntaxis uw_domein_gebruikersnaam of uw_domein_gebruikersnaam@uw_domein.tld.

26. Om de korte naamnotatie voor Samba AD-accounts te gebruiken, bewerkt u het bestand /etc/sssd/sssd.conf en voegt u de volgende regel toe in [sssd] sterk> blok zoals hieronder geïllustreerd.

full_name_format = %1$s

en start de SSSD-daemon opnieuw om de wijzigingen toe te passen.

sudo systemctl restart sssd

U zult merken dat de bash-prompt verandert in de korte naam van de AD-gebruiker zonder de tegenhanger van de domeinnaam toe te voegen.

27. Als u niet kunt inloggen vanwege het enumerate=true argument dat is ingesteld in sssd.conf, moet u de in de sssd opgeslagen database leegmaken door de onderstaande opdracht uit te voeren :

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

Dat is alles! Hoewel deze handleiding vooral gericht is op integratie met een Samba4 Active Directory, kunnen dezelfde stappen worden toegepast om Ubuntu met Realmd- en SSSD-services te integreren in een Microsoft Windows Server Active Directory.