AD Beitritt Ubuntu 26.04 LTS
AD-Beitritt unter Ubuntu 26.04 LTS
Hier ist eine komplette, kopierfertige Anleitung für Ubuntu 26.04 LTS (Resolute Raccoon, erschienen im April 2026) mit SSSD + Realmd für AD-Integration inkl. Offline-Login – ohne Winbind, da SSSD zuverlässiger für Offline-Szenarien ist. Ubuntu 24.04 LTS bleibt ebenfalls kompatibel.
📋 Ubuntu AD-Integration mit Offline-Login (SSSD + Realmd)
Voraussetzungen:
- Ubuntu 26.04 LTS (auch Ubuntu 24.04 LTS bleibt kompatibel) (frisch installiert)
- Domänenname:
BEISPIEL.DOMAENE.LAN(ersetzen!) - AD-Admin-Benutzer:
Administrator(oder anderer berechtigter Benutzer) - Netzwerkverbindung zum Domänencontroller (DC)
1️⃣ Pakete installieren & System vorbereiten
# System aktualisieren
sudo apt update && sudo apt full-upgrade -y
# Benötigte Pakete installieren
sudo apt install -y realmd sssd-ad sssd-tools libnss-sss libpam-sss adcli samba-common-bin krb5-user packagekit oddjob oddjob-mkhomedir
# Zeitsynchronisation aktivieren und Status prüfen
sudo timedatectl set-ntp true
timedatectl status
# Hostname setzen (muss im AD eindeutig sein)
sudo hostnamectl set-hostname ubuntu-client1.beispiel.domaene.lan
Hinweis zu den Paketen:
sssd-adist das für Active Directory benötigte SSSD-Backend; das allgemeine Metapaketsssdist dafür nicht erforderlich.pam_krb5ist ein RHEL-Paketname und unter Debian/Ubuntu nicht verfügbar. Das veraltete Paketntpist zudem nicht mehr im Ubuntu-Archiv; die Zeitsynchronisation erfolgt hier übersystemd-timesyncdviatimedatectl. Alternativ kannchronyinstalliert und der Domänencontroller als Zeitquelle konfiguriert werden (z. B.sudo apt install -y chrony).
2️⃣ Kerberos konfigurieren
sudo vi /etc/krb5.conf
Inhalt ersetzen durch:
[libdefaults]
default_realm = BEISPIEL.DOMAENE.LAN
dns_lookup_realm = true
dns_lookup_kdc = true
ticket_lifetime = 24h
renew_lifetime = 7d
forwardable = true
rdns = false
[realms]
BEISPIEL.DOMAENE.LAN = {
kdc = dc1.beispiel.domaene.lan
admin_server = dc1.beispiel.domaene.lan
}
[domain_realm]
.beispiel.domaene.lan = BEISPIEL.DOMAENE.LAN
beispiel.domaene.lan = BEISPIEL.DOMAENE.LAN
3️⃣ DNS prüfen & anpassen
# Testen, ob der DC erreichbar ist
ping dc1.beispiel.domaene.lan
nslookup dc1.beispiel.domaene.lan
# DNS des DC dauerhaft über Netplan setzen
sudo vi /etc/netplan/01-netcfg.yaml
Beispielinhalt:
network:
version: 2
ethernets:
enp1s0:
dhcp4: true
dhcp4-overrides:
use-dns: false
nameservers:
addresses: [192.168.1.10]
search: [beispiel.domaene.lan]
Ersetze
enp1s0durch den tatsächlichen Interface-Namen. Ab Ubuntu 24.04/26.04 sollten Netplan-Dateien nicht für normale Benutzer lesbar sein:sudo chmod 600 /etc/netplan/01-netcfg.yaml.
sudo chmod 600 /etc/netplan/01-netcfg.yaml
sudo netplan apply
resolvectl status
→ Wichtig: /etc/resolv.conf ist unter Ubuntu üblicherweise ein Symlink auf /run/systemd/resolve/stub-resolv.conf. Direkte manuelle Änderungen daran überleben einen Neustart nicht; systemd-resolved daher nicht deaktivieren.
4️⃣ Domäne mit realmd beitreten
# Domäne entdecken (Test)
sudo realm discover BEISPIEL.DOMAENE.LAN
# Domäne beitreten (AD-Admin-Passwort eingeben)
sudo realm join -U Administrator BEISPIEL.DOMAENE.LAN --verbose
→ Erwartete Ausgabe:
Successfully enrolled machine in realm
Beitritt prüfen:
sudo realm list
id testuser@beispiel.domaene.lan
5️⃣ SSSD für Offline-Login konfigurieren
sudo vi /etc/sssd/sssd.conf
Folgende Konfiguration einfügen:
[sssd]
domains = BEISPIEL.DOMAENE.LAN
config_file_version = 2
services = nss, pam, sudo, ssh
[domain/BEISPIEL.DOMAENE.LAN]
ad_domain = BEISPIEL.DOMAENE.LAN
krb5_realm = BEISPIEL.DOMAENE.LAN
realmd_tags = manages-system joined-with-adcli
cache_credentials = true # Offline-Login aktivieren!
krb5_store_password_if_offline = True
default_shell = /bin/bash
ldap_id_mapping = true
use_fully_qualified_names = false # Kurze Benutzernamen (z. B. "user" statt "user@domaene.lan")
fallback_homedir = /home/%u
access_provider = ad
entry_cache_timeout = 1209600 # Cache-Gültigkeit: 14 Tage
account_cache_expiration = 14 # Account-Cache: 14 Tage
Hinweis:
account_cache_expirationist nur zusammen mitkrb5_store_password_if_offline = truesinnvoll. Die Datei mussroot:rootgehören und die Rechte600haben.
SSSD und Benutzerzugriff verifizieren:
sudo sssctl domain-status BEISPIEL.DOMAENE.LAN
sssctl user-checks <user>
Berechtigungen setzen:
sudo chown root:root /etc/sssd/sssd.conf
sudo chmod 600 /etc/sssd/sssd.conf
6️⃣ PAM für Home-Verzeichnisse & Offline-Login anpassen
# Automatische Home-Verzeichnisse aktivieren
sudo pam-auth-update --enable mkhomedir
# Manuell prüfen (falls nötig)
sudo vi /etc/pam.d/common-session
Folgende Zeile hinzufügen (falls nicht vorhanden):
session required pam_mkhomedir.so skel=/etc/skel umask=0022
7️⃣ Dienste neu starten
sudo systemctl restart sssd
sudo systemctl enable --now oddjobd
8️⃣ Test: Online-Anmeldung (Cache füllen)
# Testbenutzer anmelden (ersetze "testuser" mit einem AD-Benutzer)
su - testuser
exit
# Kerberos-Ticket prüfen
klist
→ Erwartet: Ein gültiges Ticket für testuser@BEISPIEL.DOMAENE.LAN.
9️⃣ Test: Offline-Login
# Netzwerk trennen (z. B. Kabel ziehen oder WLAN deaktivieren)
sudo systemctl stop NetworkManager
# Offline-Login testen
su - testuser # Sollte funktionieren!
id testuser # Sollte Benutzerdaten anzeigen
id testuser@beispiel.domaene.lan # FQDN-Notation prüfen
klist -l # Sollte gecachte Tickets zeigen
🔧 Fehlersuche (falls nötig)
| Problem | Befehl zur Diagnose |
|---|---|
| Anmeldung fehlgeschlagen | journalctl -u sssd -f |
| Keine Benutzer auflösbar | getent passwd testuser |
| Kerberos-Fehler | kinit testuser (manueller Test) |
Unable to locate package pam_krb5 / ntp |
Nicht installieren: Paketnamen sind unter Ubuntu nicht verfügbar; sssd-ad verwenden und Zeitsynchronisation mit timedatectl (alternativ chrony) einrichten. |
| DNS-Probleme | dig dc1.beispiel.domaene.lan |
| SSSD-Cache löschen | sudo systemctl stop sssd; sudo rm -f /var/lib/sss/db/cache_*.ldb; sudo systemctl start sssd |
✅ Fertig!
- Ubuntu ist jetzt in der AD-Domäne und unterstützt Offline-Login.
- Wichtig: Jeder Benutzer muss sich mindestens einmal online anmelden, bevor er offline arbeiten kann.
📌 Optional: Automatische Ticket-Erneuerung
Falls Kerberos-Tickets zu schnell ablaufen:
sudo vi /etc/krb5.conf
Folgende Zeilen anpassen:
[libdefaults]
ticket_lifetime = 24h
renew_lifetime = 7d
forwardable = true
Dann SSSD neu starten:
sudo systemctl restart sssd
💡 Warum SSSD statt Winbind?
| Kriterium | SSSD | Winbind |
|---|---|---|
| Offline-Login | ✅ Zuverlässig (cached credentials) | ❌ Oft problematisch |
| Kerberos-Integration | ✅ Voll unterstützt | ⚠ Teilweise manuelle Konfiguration nötig |
| Performance | ✅ Schneller (lokaler Cache) | ⚠ Langsamer (mehr DC-Abfragen) |
| Gruppenrichtlinien (GPO) | ❌ Nicht unterstützt | ✅ Teilweise möglich |
| Einfachheit | ✅ realmd macht viel automatisch |
⚠ Manuelle Konfiguration nötig |
🚀 Fazit
- SSSD + Realmd ist die beste Wahl für Ubuntu mit Offline-Login.
- Winbind ist nur nötig, wenn GPOs oder Samba-Freigaben im Vordergrund stehen.
- Smartcards? → Dann zusätzlich
pam_pkcs11installieren und konfigurieren.
Falls du Samba-Freigaben oder Gruppenrichtlinien brauchst, lass es mich wissen – dann ergänze ich die Anleitung! 😊
📝 Änderungsnotiz
Stand: August 2026 – aktualisiert für Ubuntu 26.04 LTS
- Paketinstallation auf
sssd-ad,samba-common-binund aktuelle Ubuntu-Pakete angepasst;pam_krb5undntpentfernt. - Zeitsynchronisation und DNS-Konfiguration für Ubuntu 24.04/26.04 aktualisiert.
- Domänenbeispiele auf ASCII-FQDN
beispiel.domaene.lanvereinheitlicht und SSSD-/Verifikationsprüfungen ergänzt.