Website-Suche

Integrieren Sie Ubuntu in Samba4 AD DC mit SSSD und Realm – Teil 15


In diesem Tutorial erfahren Sie, wie Sie eine Ubuntu Desktop-Maschine einer Samba4 Active Directory-Domäne mit SSSD und Realmd hinzufügen > Dienste zur Authentifizierung von Benutzern gegenüber einem Active Directory.

Anforderungen:

  1. Erstellen Sie eine Active Directory-Infrastruktur mit Samba4 unter Ubuntu

Schritt 1: Erstkonfigurationen

1. Bevor Sie Ubuntu in ein Active Directory einbinden, stellen Sie sicher, dass der Hostname richtig konfiguriert ist. Verwenden Sie den Befehl hostnamectl, um den Computernamen 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 Netzwerkschnittstelleneinstellungen der Maschine 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 an Ihrem Standort einen DHCP-Server konfiguriert haben, der Ihren LAN-Computern automatisch IP-Einstellungen mit den richtigen AD-DNS-IP-Adressen zuweist, können Sie diesen Schritt überspringen und fortfahren.

Im obigen Screenshot stellen 192.168.1.254 und 192.168.1.253 die IP-Adressen der Samba4-Domänencontroller dar.

3. Starten Sie die Netzwerkdienste neu, um die Änderungen über die GUI oder die Befehlszeile zu übernehmen, und geben Sie eine Reihe von Ping-Befehlen für Ihren Domänennamen aus, um zu testen, ob die DNS-Auflösung funktioniert Funktioniert wie erwartet. 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 Paket ntpdate 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: Erforderliche Pakete installieren

5. Installieren Sie in diesem Schritt die erforderliche Software und die erforderlichen Abhängigkeiten, um Ubuntu in die Dienste Samba4 AD DC: Realmd und SSSD 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 mit der Installation fortzufahren.

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

Realmd.conf-Dateiauszug:

[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 zum Bearbeiten und fügen Sie den folgenden Codeblock am Anfang der Datei nach dem Abschnitt [global] hinzu, wie auf der Abbildung dargestellt Bild unten.

 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 Domänennamen-Wert, insbesondere den Realm-Wert, so ersetzen, dass er mit Ihrem Domänennamen übereinstimmt, und führen Sie den Befehl testparm aus, um die Konfiguration zu überprüfen Datei enthält keine Fehler.

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, führen Sie die folgenden Befehle aus, 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 Domänennamenwert 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. Führen Sie nach der Domänenbindung 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 mithilfe des Realm-Befehls 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 mit installierten RSAT-Tools können Sie AD UC öffnen, zum Container Computer navigieren und prüfen, ob ein Objektkonto mit dem Namen vorhanden ist Ihrer Maschine wurde erstellt.

Schritt 4: Konfigurieren Sie die 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 einschließlich der Option zur automatischen Erstellung aktivieren Home-Verzeichnisse für jedes Domänenkonto bei der ersten Anmeldung.

Überprüfen Sie alle Einträge, indem Sie die [Leertaste]-Taste drücken und auf OK klicken, um die Konfiguration zu übernehmen.

sudo pam-auth-update

16. Bearbeiten Sie auf Systemen die Datei /etc/pam.d/common-account und die folgende Zeile manuell, um automatisch Homes 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 das use_authtok-Anweisung aus der Passwortzeile, um schließlich 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 zu übernehmen, indem Sie die folgenden Befehle ausführen:

sudo systemctl restart realmd sssd
sudo systemctl enable realmd sssd

19. Um zu testen, ob die Ubuntu-Maschine erfolgreich in den Realm integriert wurde, führen Sie das Paket „install winbind“ 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 ausführen.

sudo getent passwd your_domain_user
sudo getent group ‘domain admins’

21. Sie können auch den Linux-Befehl id verwenden, um Informationen über ein AD-Konto abzurufen, 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 „Domänenbenutzername“ nach dem Befehl su. Führen Sie den Befehl id aus, um zusätzliche Informationen zum 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 ausführen:

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-Berechtigungen für eine Domänengruppe hinzuzufügen, öffnen und bearbeiten 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 Domänenkontoauthentifizierung für Ubuntu Desktop zu verwenden, ändern Sie den LightDM-Anzeigemanager, indem Sie /usr/share/lightdm/lightdm.conf.d/50-ubuntu bearbeiten. conf-Datei, hängen Sie die folgenden zwei Zeilen an und starten Sie den Lightdm-Dienst neu oder starten Sie den Computer neu, um die Änderungen anzuwenden.

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

Melden Sie sich mit einem Domänenkonto bei Ubuntu Desktop an, indem Sie entweder die Syntax Ihr_Domänenbenutzername oder Ihr_Domänenbenutzername@Ihre_Domäne.tld verwenden.

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 [sssd] hinzu. -Block, 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 das Gegenstück zum Domänennamen anzuhängen.

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

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

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