Website-Suche

Integration von Ubuntu zu Samba4 AD DC mit SSSD und Realm - Teil 15


In diesem Tutorial erfahren Sie, wie Sie einen Ubuntu Desktop-Computer mit SSSD- und Realmd-Diensten in eine Samba4 Active Directory-Domäne einbinden, um Benutzer gegen ein Active Directory zu authentifizieren.

Anforderungen:

  1. Erstellen einer Active Directory-Infrastruktur mit Samba4 auf Ubuntu

Schritt 1: Erstkonfigurationen

1. Bevor Sie mit dem Verbinden von Ubuntu mit einem Active Directory beginnen, stellen Sie sicher, dass der Hostname richtig konfiguriert ist. Verwenden Sie den Befehl hostnamectl, um den Maschinennamen festzulegen, oder bearbeiten Sie die Datei /etc/hostname manuell.

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

2. Bearbeiten Sie im nächsten Schritt die Einstellungen für die Netzwerkschnittstelle des Computers, und fügen Sie die richtigen IP-Konfigurationen und die richtigen DNS-IP-Serveradressen hinzu, um auf den Samba AD-Domänencontroller zu verweisen, wie im folgenden Screenshot dargestellt.

Wenn Sie einen DHCP-Server an Ihrem Standort so konfiguriert haben, dass IP-Einstellungen für Ihre LAN-Computer automatisch mit den richtigen AD DNS-IP-Adressen zugewiesen werden, können Sie diesen Schritt überspringen und fortfahren.

Auf dem obigen Screenshot stellen 192.168.1.254 und 192.168.1.253 die IP-Adressen der Samba4-Domain-Controller dar.

3. Starten Sie die Netzwerkdienste neu, um die Änderungen über die GUI oder über die Befehlszeile zu übernehmen, und geben Sie eine Reihe von Ping-Befehlen für Ihren Domainnamen ein, um zu testen, ob die DNS-Auflösung wie erwartet funktioniert. Verwenden Sie außerdem den Befehl host, um die DNS-Auflösung zu testen.

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

4. Stellen Sie abschließend sicher, dass die Maschinenzeit mit Samba4 AD synchronisiert ist. Installieren Sie das ntpdate-Paket und synchronisieren Sie die Zeit mit dem AD, indem Sie die folgenden Befehle ausführen.

$ sudo apt-get install ntpdate
sudo ntpdate your_domain_name

Schritt 2: Installieren der erforderlichen Pakete

5. Installieren Sie in diesem Schritt die erforderliche Software und die erforderlichen Abhängigkeiten, um Ubuntu in die Samba4 AD DC: Realmd- und SSSD-Dienste einzubinden.

$ 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. Geben Sie den Namen des Standardbereichs in Großbuchstaben ein und drücken Sie die Eingabetaste, um die Installation fortzusetzen.

7. Erstellen Sie als Nächstes die SSSD-Konfigurationsdatei mit dem folgenden Inhalt.

$ sudo nano /etc/sssd/sssd.conf

Fügen Sie der Datei sssd.conf die folgenden Zeilen hinzu.

[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

Stellen Sie sicher, dass Sie den Domänennamen in den folgenden Parametern entsprechend ersetzen:

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

8. Fügen Sie als Nächstes die richtigen Berechtigungen für die SSSD-Datei hinzu, indem Sie den folgenden Befehl ausführen:

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

9. Öffnen und bearbeiten Sie nun die Realmd-Konfigurationsdatei und fügen Sie die folgenden Zeilen hinzu.

$ sudo nano /etc/realmd.conf

Auszug aus der Datei 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. Die letzte Datei, die Sie ändern müssen, gehört zum Samba-Daemon. Öffnen Sie die Datei /etc/samba/smb.conf zur Bearbeitung und fügen Sie den folgenden Codeblock am Anfang der Datei nach dem Abschnitt [global] hinzu, wie in der Abbildung unten dargestellt.

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

Stellen Sie sicher, dass Sie den Wert des Domänennamens ersetzen, insbesondere den Bereichswert, damit er mit Ihrem Domänennamen übereinstimmt, und führen Sie den Befehl testparm aus, um zu überprüfen, ob die Konfigurationsdatei keine Fehler enthält.

$ sudo testparm

11. Nachdem Sie alle erforderlichen Änderungen vorgenommen haben, testen Sie die Kerberos-Authentifizierung mit einem AD-Administratorkonto, und listen Sie das Ticket auf, indem Sie die folgenden Befehle ausführen.

$ sudo kinit [email 
sudo klist

Schritt 3: Verbinden Sie Ubuntu mit Samba4 Realm

12. Um den Ubuntu-Computer mit Samba4 Active Directory zu verbinden, geben Sie die folgende Befehlsfolge ein, wie unten dargestellt. Verwenden Sie den Namen eines AD DC-Kontos mit Administratorrechten, damit die Bindung an den Bereich wie erwartet funktioniert, und ersetzen Sie den Wert des Domänennamens entsprechend.

$ 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. Nachdem die Domänenbindung stattgefunden hat, führen Sie den folgenden Befehl aus, um sicherzustellen, dass sich alle Domänenkonten auf dem Computer authentifizieren dürfen.

$ sudo realm permit --all

Anschließend können Sie den Zugriff für ein Domänenbenutzerkonto oder eine Gruppe mit dem Befehl realm zulassen oder verweigern, wie in den folgenden Beispielen dargestellt.

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

14. Auf einem Windows-Computer, auf dem RSAT-Tools installiert sind, können Sie AD UC öffnen, zum Container Computer navigieren und überprüfen, ob ein Objektkonto mit dem Namen Ihres Computers erstellt wurde.

Schritt 4: Konfigurieren der Authentifizierung von AD-Konten

15. Um sich auf einem Ubuntu-Computer mit Domänenkonten zu authentifizieren, müssen Sie den Befehl pam-auth-update mit Root-Rechten ausführen und alle PAM-Profile aktivieren, einschließlich der Option, bei der ersten Anmeldung automatisch Home-Verzeichnisse für jedes Domänenkonto zu erstellen.

Überprüfen Sie alle Eingaben, indem Sie die Leertaste drücken und auf OK klicken, um die Konfiguration zu übernehmen.

$ sudo pam-auth-update

16. Bearbeiten Sie auf Systemen manuell die Datei /etc/pam.d/common-account und die folgende Zeile, um automatisch ein Zuhause für authentifizierte Domänenbenutzer zu erstellen.

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

17. Wenn Active Directory-Benutzer ihr Passwort nicht über die Befehlszeile unter Linux ändern können, öffnen Sie die Datei /etc/pam.d/common-password und entfernen Sie die use_authtok-Anweisung aus der Passwortzeile, um endlich wie im folgenden Auszug auszusehen.

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

18. Starten Sie abschließend den Realmd- und SSSD-Dienst neu und aktivieren Sie ihn, um Änderungen anzuwenden, indem Sie die folgenden Befehle ausführen:

$ sudo systemctl restart realmd sssd
sudo systemctl enable realmd sssd

19. Um zu testen, ob der Ubuntu-Computer erfolgreich in Realm integriert wurde, führen Sie install winbind package aus und führen Sie den Befehl wbinfo aus, um Domänenkonten und -gruppen aufzulisten, wie unten dargestellt.

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

20. Überprüfen Sie außerdem das Winbind nsswitch-Modul, indem Sie den Befehl getent für einen bestimmten Domänenbenutzer oder eine bestimmte Gruppe ausgeben.

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

21. Sie können auch den Linux-id-Befehl verwenden, um Informationen über ein AD-Konto zu erhalten, wie im folgenden Befehl dargestellt.

$ id tecmint_user

22. Um sich auf einem Ubuntu-Host mit einem Samba4 AD-Konto zu authentifizieren, verwenden Sie den Parameter Domain username nach su – Befehl. Führen Sie den Befehl id aus, um zusätzliche Informationen über das AD-Konto zu erhalten.

$ su - your_ad_user

Verwenden Sie den Befehl pwd, um das aktuelle Arbeitsverzeichnis Ihres Domänenbenutzers anzuzeigen, und den Befehl passwd, wenn Sie das Kennwort ändern möchten.

23. Um ein Domänenkonto mit Root-Rechten auf Ihrem Ubuntu-Computer zu verwenden, müssen Sie den AD-Benutzernamen zur sudo-Systemgruppe hinzufügen, indem Sie den folgenden Befehl eingeben:

$ sudo usermod -aG sudo [email 

Melden Sie sich mit dem Domänenkonto bei Ubuntu an und aktualisieren Sie Ihr System, indem Sie den Befehl apt update ausführen, um die Root-Rechte zu überprüfen.

24. Um Root-Rechte für eine Domänengruppe hinzuzufügen, öffnen Sie die Datei /etc/sudoers mit dem Befehl visudo und fügen Sie die folgende Zeile wie abgebildet hinzu.

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

25. Um die Authentifizierung des Domänenkontos für Ubuntu Desktop zu verwenden, ändern Sie den LightDM-Anzeigemanager, indem Sie die Datei /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf bearbeiten, die folgenden zwei Zeilen anhängen und den lightdm-Dienst neu starten oder den Computer neu starten und die Änderungen vornehmen.

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

Melden Sie sich bei Ubuntu Desktop mit einem Domänenkonto an, das entweder die Syntax your_domain_username oder your_domain_username@your_domain.tld verwendet.

26. Um das Kurznamenformat für Samba AD-Konten zu verwenden, bearbeiten Sie die Datei /etc/sssd/sssd.conf und fügen Sie die folgende Zeile in den Block [sssd] ein, wie unten dargestellt.

full_name_format = %1$s

und starten Sie den SSSD-Daemon neu, um die Änderungen zu übernehmen.

$ sudo systemctl restart sssd

Sie werden feststellen, dass sich die Bash-Eingabeaufforderung in den Kurznamen des AD-Benutzers ändert, ohne dass das Gegenstück für den Domänennamen angehängt wird.

27. Falls Sie sich aufgrund des in sssd.conf gesetzten Arguments enumerate=true nicht anmelden können, müssen Sie die zwischengespeicherte sssd-Datenbank löschen, indem Sie den folgenden Befehl ausführen:

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

Das ist alles! Obwohl sich dieser Leitfaden hauptsächlich auf die Integration mit einem Samba4 Active Directory konzentriert, können die gleichen Schritte angewendet werden, um Ubuntu mit Realmd- und SSSD-Diensten in ein Microsoft Windows Server Active Directory zu integrieren.

Verwandte Artikel: