von Thomas
Erstellt am 01.10.2023
Das Active Directory ist ein Verzeichnisdienst, welcher in windowsbasierten Computernetzwerken zur Verwaltung von diversen Ressourcen eingesetzt wird. Das Active Directory versucht ein Unternehmen als logische Organisation in einer Datenbank abzubilden. Die Abbildung erfolgt in Netzwerkressourcen oder auch Netzwerkobjekten. In der Regel sind die Ressourcen Mitglied einer sogenannten Domäne. Eine der wichtigsten Aufgabe des Active Directory ist die Möglichkeit zur Verwaltung von Benutzerrechten für einzelne Geräte und Objekte. Daher sollte es nur einem Administrator möglich sein ein AD zu verwalten.
Informationen aus der Datenbank des Active Directory werden bei nicht windowsbasierten Systemen üblicherweise mittels des Lightweight Directory Access Protocol (LDAP) abgerufen. Bei der Authentifizierung eines Domänen-Accounts an einem Windows Computer, der Mitglied in einer Windows Domäne ist, werden beispielsweise die nötigen Informationen von dem zuständigen Domänen-Controller abgerufen.
Das Active Directory kann noch viel mehr Funktionen, die ich hier nicht ausführlich beschreiben kann, da es den Rahmen des Artikels sprengen würde. Aber nicht nur Computer mit Microsofts Betriebssystem Windows können Mitglied einer Windows Domäne werden, sondern auch Computer mit Linux Betriebssystemen. Im Folgenden möchte ich beschreiben und praktisch zeigen, wie ein Ubuntu Server Mitglied einer Windows Domäne werden kann.
Zunächst erst mal das System auf den aktuellen Stand bringen.
sudo apt-get update
Anschließend den Hostnamen an die Domain anpassen. Im Artikel werde ich als Beispiel die Domain beispiel.local verwenden.
sudo hostnamectl set-hostname ubuntu-server-01.beispiel.local
Der gesetzte Hostname kann mit folgendem Befehl überprüft werden:
hostnamectl
Die Software die für die Kommunikation mit dem Active Diretory verwendet wird, ist in diesem Artikel der System Security Services Deamon – kurz sssd. Sssd stellt die Softwareschnittstelle dar, die zur Authentifizierung gegen das Active Directory mittels LDAP benötigt wird. Folgende Tools müssen dazu installiert werden:
sudo apt-get install realmd libnss-sss libpam-sss sssd sssd-tools adcli samba-common-bin oddjob oddjob-mkhomedir packagekit
Nach der Installation kann bereits ein Discover der Windows Domäne durchgeführt werden.
sudo realm discover beispiel.local beispiel.local type: kerberos realm-name: BEISPIEL.LOCAL domain-name: beispiel.local configured: no server-software: active-directory client-software: sssd required-package: sssd-tools required-package: sssd required-package: libnss-sss required-package: libpam-sss required-package: adcli required-package: samba-common-bin
Ist die Ausgabe des Discovers korrekt, können wir der Domäne beitreten.
Sudo realm join -v -U Administrator beispiel.local
Die Option -U legt den Nutzer fest, welcher verwendet werden soll um den Server der Domäne beitreten zu lassen. In der Regel muss das ein beliebiger Domänen-Administrator sein. Passwort eingeben und mit list können wir unsere aktuelle Domäne anzeigen lassen:
realm list beispiel.local type: kerberos realm-name: BEISPIEL.LOCAL domain-name: beispiel.local configured: kerberos-member server-software: active-directory client-software: sssd required-package: sssd-tools required-package: sssd required-package: libnss-sss required-package: libpam-sss required-package: adcli required-package: samba-common-bin login-formats: %U@example.com login-policy: allow-realm-logins
Es kann nun mittels id überprüft werden, ob beispielsweise Nutzeridentitäten vom Active Directory abgerufen werden können.
id nutzer@beispiel.local
Ein Nutzer der sich das erste mal anmeldet, wird nur noch kein home Verzeichnis zur Verfügung haben. Das Verzeichnis kann aber bei Anmeldung automatisch erzeugt werden, dazu muss folgender Befehl ausgeführt werden:
sudo pam-auth-update --enable mkhomedir
Nutzer können sich nun anmelden und bekommen auch ein home Verzeichnis automatisch angelegt. Oftmals ist es aber auch von Nutzen, wenn Domänen-Administratoren automatisch sudo Berechtigungen auf dem Linux Server haben. Dazu muss eine sudoers Datei mit folgendem Inhalt angelegt werden:
sudo vim /etc/sudoers.d/domain_admins ### für einen einzelnen Nutzer nutzer@beispiel.local ALL=(ALL) ALL ### für eine ganze Gruppe %ad-gruppe@beispiel.local ALL=(ALL) ALL
Die Konfiguration von sssd kann jederzeit unter /etc/sssd/sssd.conf angepasst und eingesehen werden.