Dieser Beitrag zeigt, wie man einen ZorinOS bzw. Ubuntu Linux PC einem Active-Directory hinzufügt. Bei der Installation von ZorinOS kann man über die Option “Unternehmens-Account hinzufügen” zwar genau das machen, verpasst man aber die Gelegenheit oder stimmt etwas nicht mit der Namensauflösung, wird es kompliziert. Dieser Artikel führt Dich Schritt für Schritt durch den komplexen Vorgang.
- 1 Welche Vorteile hat Active-Directory?
- 2 Wie funktioniert Active-Directory unter ZorinOS / Ubuntu Linux?
- 3 Active-Directory Anbindung auf Windows Server vorbereiten
- 4 Active-Directory unter ZorinOS einrichten
- 4.1 DNS-Auflösung sauber konfigurieren
- 4.2 Active-Directory Domain Discovery testen
- 4.3 Kerberos konfigurieren
- 4.4 SSSD konfigurieren
- 4.5 Automatisches Erstellen Home-Verzeichnisse unter ZorinOS / Ubuntu Linux aktivieren
- 4.6 Active-Directory Login Erlauben
- 4.7 Active-Directory File und Print Services hinzufügen
- 5 Active-Directory unter ZorinOS / Ubuntu Linux beitreten
- 6 Andere User auf dem selben Active-Directory Client einloggen
Welche Vorteile hat Active-Directory?
Active-Directory macht dein Netzwerk zentral, sicher und einfacher verwaltbar:
- Du nutzt ein gemeinsames Benutzer- und Gruppenmanagement,
- musst Passwörter nur an einer Stelle pflegen
- und profitierst von Single Sign-On.
- Richtlinien und Zugriffsrechte kannst du zentral steuern, statt jede Maschine einzeln zu konfigurieren.
Das spart Zeit, reduziert Fehler und verbessert die Sicherheit.
Wie funktioniert Active-Directory unter ZorinOS / Ubuntu Linux?
Wenn du einen Linux-PC an ein Active-Directory-Netzwerk anbinden willst, greifen mehrere Komponenten ineinander, um Anmeldung, Rechte und Namensauflösung sauber bereitzustellen.
Zuerst brauchst du Kerberos: Es kümmert sich um die Authentifizierung. Wenn du dich am Linux-Rechner anmeldest, holt sich Kerberos ein Ticket vom Domain Controller, das deine Identität bestätigt. Ohne Kerberos keine sichere Anmeldung gegen Active-Directory.
Dann kommt LDAP ins Spiel. Der Domain Controller stellt seine Benutzer- und Gruppeninformationen über LDAP bereit. Dein Linux-System fragt dort nach, wer du bist, zu welchen Gruppen du gehörst und welche Richtlinien gelten.
Damit Linux diese Infos nutzt, wird meist SSSD eingesetzt. Es ist der zentrale Dienst auf dem Client, der Kerberos-Tickets verwaltet, LDAP-Daten zwischenspeichert und Login-Anfragen verarbeitet. SSSD sorgt auch dafür, dass Offline-Logins funktionieren, wenn mal keine Verbindung zur Domäne besteht.
Außerdem braucht der Rechner eine funktionierende DNS-Konfiguration, denn Active-Directory hängt stark an DNS-Einträgen. Der Linux-Client muss den Domain Controller per DNS finden und seine SRV-Records korrekt auflösen.
Oft wird für die eigentliche Domänenaufnahme realmd oder adcli genutzt. Diese Tools automatisieren das Verbinden mit AD, das Einrichten von Kerberos, SSSD und erforderlichen Paketen.
Alle diese Komponenten zusammen ermöglichen dir, dich mit deinem Active-Directory-Konto nahtlos am Linux-Rechner anzumelden und zentral verwaltet zu werden.
Active-Directory Anbindung auf Windows Server vorbereiten
In dem folgenden Szenario
- hat unser Windows Server die IP-Adresse 192.168.122.10,
- den Namen server2022,
- die Domain heisst VM.local,
- Active-Directory, DNS und DHCP sind bereits konfiguriert.
Wir benötigen einen Benutzer mit den folgenden Eigenschaften:
- Mitglied der Gruppen “Administratoren” und “Domain Benutzer”
- Kerberos Verschlüsselung AES 128 und 256 Bit aktiviert.
- Kerberos Preauthentication ausgeschaltet.
In unserem Beispiel heisst der Benutzer hschneider:

Unter ZorinOS installieren wir die folgenden Pakete:
|
1 2 3 |
sudo apt update sudo apt upgrade -y sudo apt install realmd sssd sssd-tools libnss-sss libpam-sss adcli samba-common-bin oddjob oddjob-mkhomedir packagekit krb5-user libpam-krb5 libpam-ccreds -y |
Active-Directory unter ZorinOS einrichten
DNS-Auflösung sauber konfigurieren
Als nächstes konfigurieren wir die DNS-Auflösung:
|
1 2 |
sudo rm /etc/resolv.conf sudo nano /etc/resolv.conf |
Inhalt:
|
1 2 3 |
nameserver 192.168.122.10 options edns0 trust-ad search VM.local |
Danach geht es weiter mit
|
1 |
sudo nano /etc/systemd/resolved.conf |
Hier tragen wir folgendes ein:
|
1 2 3 |
[Resolve] DNS=192.168.122.10 Domains=VM.local |
Wir starten den DNS-Resolver neu:
|
1 |
sudo systemctl restart systemd-resolved |
Wir testen die DNS-Auflösung mit
|
1 |
nslookup VM.local |
Die Ausgabe sollte wie folgt aussehen:
|
1 2 3 4 5 |
Server: 192.168.122.10 Address: 192.168.122.10#53 Name: VM.local Address: 192.168.122.10 |
Danach:
|
1 |
sudo nano /etc/hosts |
Wir fügen folgende Zeile hinzu:
|
1 |
192.168.122.10 server2022.VM.local server2022 |
Active-Directory Domain Discovery testen
Wie testen die Verbindung zur Active-Directory Domain mit
|
1 |
sudo realm discover VM.local |
ie Ausgabe sollte wie folgt aussehen:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
VM.local type: kerberos realm-name: VM.LOCAL domain-name: vm.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@vm.local login-policy: allow-realm-logins vm.local type: kerberos realm-name: VM.LOCAL domain-name: vm.local configured: no |
Kerberos konfigurieren
Nun konfigurieren wir Kerberos mit
|
1 |
sudo nano /etc/krb5.conf |
Hier machen wir folgende Einträge:
|
1 2 3 4 5 6 7 8 9 |
[libdefaults] default_realm = VM.LOCAL dns_lookup_realm = true dns_lookup_kdc = true ticket_lifetime = 24h forwardable = true permitted_enctypes = aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96 default_tkt_enctypes = aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96 default_tgs_enctypes = aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96 |
SSSD konfigurieren
Als Nächstes konfigurieren wir SSSD:
|
1 |
sudo nano /etc/sssd/sssd.conf |
Hier nehmen wir folgende Modifikationen vor:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
[sssd] domains = VM.local config_file_version = 2 services = nss, pam [domain/VM.local] default_shell = /bin/bash krb5_store_password_if_offline = True cache_credentials = True krb5_realm = VM.LOCAL realmd_tags = manages-system joined-with-adcli id_provider = ad fallback_homedir = /home/%u@%d ad_domain = VM.local use_fully_qualified_names = True ldap_id_mapping = True access_provider = ad |
Danach Neustart mit
|
1 2 |
sudo systemctl restart sssd sudo systemctl enable sssd |
Automatisches Erstellen Home-Verzeichnisse unter ZorinOS / Ubuntu Linux aktivieren
Damit ZorinOS nach dem ersten Login automatisch das Home-Verzeichnis für unseren ZorinOS Active-Directory User erstellt, geben wir folgenden Befehl ein:
|
1 |
sudo pam-auth-update --enable mkhomedir |
Active-Directory Login Erlauben
Nun benötigt Active Directory noch die Login Permissions.
Für alle User:
|
1 |
sudo realm permit --all |
Oder nur für einen bestimmten User:
|
1 |
sudo realm permit user@VM.local |
Oder nur für eine bestimmte Gruppe:
|
1 |
sudo realm permit -g 'Domain Admins' |
In unserem Beispiel wählen wir alle User.
Active-Directory File und Print Services hinzufügen
Die Dienste werden wie folgt installiert:
|
1 |
sudo apt update && sudo apt install python3-smbc |
Hier endet die Vorarbeit, unsere Linux Box kann nun der Active Directory beitreten …
Active-Directory unter ZorinOS / Ubuntu Linux beitreten
Das Wichtigste zuerst:
Der Beitritt zur Active-Directory Domain erfolgt nur ein einziges Mal, damit die ZorinOS Maschine im Active-Directory unter “Computer” registriert wird. Daher ist für den Beitritt des Clients ein Windows Admin Account notwendig.
Um der Active-Directory Domain beizutreten, geben wir Folgendes ein:
|
1 |
sudo adcli join -v -U hschneider VM.local |
Die Ausgabe sieht in etwas so aus:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
* Using domain name: VM.local * Calculated computer account name from fqdn: ZORIN18VM * Calculated domain realm from name: VM.LOCAL * Discovering domain controllers: _ldap._tcp.VM.local * Sending NetLogon ping to domain controller: win-epkb0l4b9o9.vm.local * Received NetLogon info from: WIN-EPKB0L4B9O9.VM.local * Wrote out krb5.conf snippet to /tmp/adcli-krb5-SbpK8V/krb5.d/adcli-krb5-conf-txkPG4 Password for hschneider@VM.LOCAL: * Authenticated as user: hschneider@VM.LOCAL * Using GSS-SPNEGO for SASL bind * Looked up short domain name: VM * Looked up domain SID: S-1-5-21-2577385027-3585745590-2008635462 * Received NetLogon info from: WIN-EPKB0L4B9O9.VM.local * Using fully qualified name: zorin18vm * Using domain name: VM.local * Using computer account name: ZORIN18VM * Using domain realm: VM.local * Calculated computer account name from fqdn: ZORIN18VM * Generated 120 character computer password * Using keytab: FILE:/etc/krb5.keytab * A computer account for ZORIN18VM$ does not exist * Found well known computer container at: CN=Computers,DC=VM,DC=local * Calculated computer account: CN=ZORIN18VM,CN=Computers,DC=VM,DC=local * Encryption type [16] not permitted. * Encryption type [23] not permitted. * Encryption type [3] not permitted. * Encryption type [1] not permitted. * Created computer account: CN=ZORIN18VM,CN=Computers,DC=VM,DC=local * Trying to set computer password with Kerberos * Set computer password * Retrieved kvno '2' for computer account in directory: CN=ZORIN18VM,CN=Computers,DC=VM,DC=local * Checking RestrictedKrbHost/ZORIN18VM * Added RestrictedKrbHost/ZORIN18VM * Checking host/ZORIN18VM * Added host/ZORIN18VM * Cleared old entries from keytab: FILE:/etc/krb5.keytab * Discovered which keytab salt to use * Added the entries to the keytab: ZORIN18VM$@VM.LOCAL: FILE:/etc/krb5.keytab * Cleared old entries from keytab: FILE:/etc/krb5.keytab * Added the entries to the keytab: host/ZORIN18VM@VM.LOCAL: FILE:/etc/krb5.keytab * Cleared old entries from keytab: FILE:/etc/krb5.keytab * Added the entries to the keytab: RestrictedKrbHost/ZORIN18VM@VM.LOCAL: FILE:/etc/krb5.keytab |
Wir melden den aktuellen User ab und klicken im Login auf “Nicht aufgeführt”.
Den Active-Directory User melden wir auf unserer ZorinOS Box mit “Domain\Username”, in unserem Beispiel mit “VM\hschneider” an:

Bitte beachte, daß die 1. Anmeldung einige Minuten dauern kann.
Auf unserem Windows Server erscheint nun der ZorinOS Client nach einem Refresh im Active-Directory unter “Computer”:

Andere User auf dem selben Active-Directory Client einloggen
Um weitere User auf der ZorinOS Maschine anzumelden, müssen diese
- Lediglich im Active-Directory vorhanden sein
- In der Gruppe “Domain User” Mitglied sein
- Die eingangs erwähnten Kerberos Settings (AES und No Pre-Auth) haben

