Szenario
Ich habe (wie in meinem früheren Artikel „SAMBA4 Domain Controller zu existierender W2012R2 AD Domäne hinzufügen“ beschrieben) eine 2008R2 AD Domäne MYDOM.LOCAL mit mindestens einem Domain Controller, LINDC.MYDOM.LOCAL (Debian GNU/Linux „jessie/sid“ mit SAMBA4 aus GIT).
Auf LINDC möchte ich nun auch die Benutzerkonten des Active Directory bei der Anmeldung zur Verfügung stehen haben. Das möchte ich mit dem System Security Services Daemon (SSSD) und Pluggable Authentication Modules (PAM) lösen.
SSSD installieren
Auf Debian installiere ich SSSD mit Active Directory Back End mit
~# apt-get install sssd sssd-ad
Ich deaktiviere den Dienst „nscd“ (SSSD macht sein eigenes Caching, mit NSCD kann er durcheinandergeraten)
~# systemctl disable nscd.service
~# service nscd stop
Hinweis: Die Debian-Installationsroutine hat die benötigten Einträge in /etc/nsswitch.conf und den Dateien in /etc/pam.d/ bereits hinzugefügt, darum brauche ich mich nicht mehr zu kümmern.
Kerberos konfigurieren
Die Datei /etc/krb5.conf bleibt wie im vorangegangenen Artikel:
[libdefaults]
default_realm = MYDOM.LOCAL
dns_lookup_realm = true
dns_lookup_kdc = true
Kerberos-Anmeldedaten in Keytab abspeichern
Der Security Principal, der im AD die Benutzerkonten abfragen möchte, ist der lokale Rechner, hier identifiziert durch den Namen seines Maschinen-Kontos, LINDC$@MYDOM.LOCAL. Dessen Anmeldeinformationen für Kerberos speichere ich lokal in einer Datei ab, die nur für Benutzer „root“ lesbar ist:
~# samba-tool domain exportkeytab /etc/krb5.keytab --principal LINDC\$@MYDOM.LOCAL
~# chown root:root /etc/krb5.keytab
~# chmod 600 /etc/krb5.keytab
Hinweis: /etc/krb5.keytab ist der Standard-Dateiname für die Kerberos-Keytab und muss in der Konfiguration von Kerberos nicht gesondert angegeben werden.
SSSD konfigurieren
Die Datei /etc/sssd/sssd.conf sieht so aus:
[sssd]
config_file_version = 2
domains = mydom.local
services = nss, pam
[domain/mydom.local]
id_provider = ad
auth_provider = ad
access_provider = ad
SSSD starten
~# service sssd start
Optional: Kerberos-Keytab in SAMBA4 verwenden
Ich kann die Anmeldeinformationen aus der Datei /etc/krb5.keytab auch in SAMBA4 verwenden, dazu füge ich in der Datei /etc/samba/smb.conf in der Sektion [global] folgende Zeilen hinzu:
kerberos method = dedicated keytab
dedicated keytab file = /etc/krb5.keytab
Test
Ich lege einen AD-Benutzeraccount an und verwende ihn als Account in Linux:
~# samba-tool user create tilt Pass123
User 'tilt' created successfully
~# id tilt
uid=1396201605(tilt) gid=1396200513(domänen-benutzer) Gruppen=1396200513(domänen-benutzer)
Hinweis: Ich muss beim Aufruf von samba-tool keine Anmeldeinformationen mehr angeben, weil die aus der Kerberos-Keytab genommen werden (siehe vorangegangener Abschnitt), und da ich einen DC als Principal verwende, habe ich das Recht, Benutzerkonten anzulegen.
- SAMBA4 Domain Controller zu existierender W2012R2 AD Domäne hinzufügen
- Anmeldung von AD-Domänenbenutzern auf Linux mit SSSD und PAM
- Active Directory Member Server mit SAMBA4 und PAM-Winbind
- AD-Precreation using ktutil, kinit and adcli
- Taking an Online Backup of a SAMBA-4 ActiveDirectory
- Comparing Distinguished LDAP Names