Skip to main content

AD Beitritt Open Suse 16

Hier ist eine kompakte, kopierfertige Anleitung für die Domänenintegration mit Offline-Login unter openSUSE Leap 16 / SLE 16. Einfach Schritt für Schritt abarbeiten – von der Installation bis zum Test der Offline-Anmeldung.


📋 Anleitung: openSUSE Leap 16 in Active Directory einbinden (mit Offline-Login)

Voraussetzungen:

  • Domänenname: BEISPIEL.DOMAENE.LAN (ersetzen!)
  • Domänen-Admin: Administrator (oder anderer Berechtigter)
  • Netzwerkverbindung zum Domänencontroller (DC)

1️⃣ Pakete installieren

sudo zypper refresh
sudo zypper install --no-confirm realmd sssd sssd-ad sssd-tools adcli krb5-client oddjob oddjob-mkhomedir pam_krb5 pam_winbind samba-client

2️⃣ Hostname und DNS prüfen

# Hostname setzen (muss im AD eindeutig sein)
sudo hostnamectl set-hostname client1.beispiel.domäne.lan

# DNS prüfen (muss den DC auflösen können)
ping dc1.beispiel.domäne.lan
nslookup dc1.beispiel.domäne.lan

→ Falls DNS nicht funktioniert:

sudo vi /etc/resolv.conf

Eintrag hinzufügen:

nameserver 192.168.1.10  # IP des DC
search beispiel.domäne.lan

3️⃣ Domäne mit realmd beitreten

# Domäne entdecken (Test)
sudo realm discover BEISPIEL.DOMAENE.LAN

# Domäne beitreten (Passwort des AD-Admins eingeben)
sudo realm join -U Administrator BEISPIEL.DOMAENE.LAN --verbose

Erwartete Ausgabe: Successfully enrolled machine in realm


4️⃣ SSSD für Offline-Login konfigurieren

sudo vi /etc/sssd/sssd.conf

Folgende Zeilen anpassen/ergänzen:

[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  # Anmeldung mit "benutzername" statt "benutzername@domäne.lan"
fallback_homedir = /home/%u
access_provider = ad
entry_cache_timeout = 1209600     # Cache-Gültigkeit: 14 Tage (in Sekunden)
account_cache_expiration = 14     # Account-Cache: 14 Tage

Berechtigungen setzen:

sudo chmod 600 /etc/sssd/sssd.conf

5️⃣ PAM für Home-Verzeichnis und Offline-Login konfigurieren

# Automatische Erstellung von Home-Verzeichnissen aktivieren
sudo pam-config --add --mkhomedir

# PAM-Konfiguration prüfen
sudo vi /etc/pam.d/common-session

Folgende Zeile hinzufügen (falls nicht vorhanden):

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

6️⃣ Dienste neu starten

sudo systemctl restart sssd
sudo systemctl enable --now oddjobd

7️⃣ 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.


8️⃣ 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
klist -l       # Sollte gecachte Tickets zeigen

9️⃣ Fehlersuche (falls nötig)

ProblemBefehl zur Diagnose
Anmeldung fehlgeschlagenjournalctl -u sssd -f
Keine Benutzer auflösbargetent passwd testuser
Kerberos-Fehlerkinit testuser (manueller Test)
DNS-Problemedig dc1.beispiel.domäne.lan

🔧 Wichtige Dateien & Befehle im Überblick

ZweckDatei/Befehl
SSSD-Konfiguration/etc/sssd/sssd.conf
Kerberos-Einstellungen/etc/krb5.conf
PAM-Konfiguration/etc/pam.d/common-session
Cache löschensudo systemctl stop sssd; sudo rm -f /var/lib/sss/db/cache_*.ldb; sudo systemctl start sssd
Ticket-Cache prüfenklist -l
Benutzerdaten prüfenid testuser

✅ Fertig!

  • Der Rechner ist jetzt in der 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 konfigurieren

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

💡 Tipp: Falls Smartcards oder Zertifikatsauthentifizierung benötigt werden, muss zusätzlich pam_pkcs11 oder sssd mit certificate-Backend konfiguriert werden. Lass es mich wissen, falls du das brauchst!

Viel Erfolg! 🚀