Client-Anbindung via DNS Service Discovery: Unterschied zwischen den Versionen
| (12 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 7: | Zeile 7: | ||
Damit die Discovery funktioniert, muss der DNS-Server (it213.int) entsprechende SRV-Einträge für den LDAP-Dienst bereitstellen. | Damit die Discovery funktioniert, muss der DNS-Server (it213.int) entsprechende SRV-Einträge für den LDAP-Dienst bereitstellen. | ||
| − | |||
<pre> | <pre> | ||
_ldap._tcp.it213.int. IN SRV 10 70 389 ldap.it213.int. | _ldap._tcp.it213.int. IN SRV 10 70 389 ldap.it213.int. | ||
| Zeile 21: | Zeile 20: | ||
* apt update | * apt update | ||
* apt install -y sssd libnss-sss libpam-sss libsss-sudo sssd-tools oddjob-mkhomedir | * apt install -y sssd libnss-sss libpam-sss libsss-sudo sssd-tools oddjob-mkhomedir | ||
| + | {| class="wikitable" | ||
| + | ! Paket !! Funktion / Beschreibung | ||
| + | |- | ||
| + | | '''sssd''' || Der Hauptdienst (System Security Services Daemon) zur zentralen Identitätsverwaltung. | ||
| + | |- | ||
| + | | '''libnss-sss''' || Schnittstelle für den Name Service Switch (NSS). Liefert User- und Gruppen-IDs an das System. | ||
| + | |- | ||
| + | | '''libpam-sss''' || PAM-Modul für die Authentifizierung. Übernimmt die Passwortprüfung beim Login. | ||
| + | |- | ||
| + | | '''libsss-sudo''' || Ermöglicht das Auslesen und Anwenden von zentralen Sudo-Regeln aus dem LDAP. | ||
| + | |- | ||
| + | | '''sssd-tools''' || Enthält Hilfswerkzeuge zur Fehlersuche und Verwaltung (z. B. <code>sssctl</code>). | ||
| + | |- | ||
| + | | '''oddjob-mkhomedir''' || Erstellt beim ersten Login automatisch das Home-Verzeichnis für Netzwerk-Benutzer. | ||
| + | |} | ||
| + | |||
| + | '''Hinweis:''' Ein separates LDAP-Client-Paket (wie ldap-utils) ist auf den Clients nicht erforderlich, da SSSD die Kommunikation mit dem Verzeichnisdienst eigenständig übernimmt. | ||
== SSSD Konfiguration am Client == | == SSSD Konfiguration am Client == | ||
| Zeile 26: | Zeile 42: | ||
Die Konfiguration nutzt den Parameter "_srv_", um die DNS-Abfrage zu starten. | Die Konfiguration nutzt den Parameter "_srv_", um die DNS-Abfrage zu starten. | ||
| + | = SSSD Konfiguration mit DNS Discovery Erweiterung = | ||
* vim /etc/sssd/sssd.conf | * vim /etc/sssd/sssd.conf | ||
| − | |||
| − | |||
| − | |||
[sssd] | [sssd] | ||
| Zeile 35: | Zeile 49: | ||
services = nss, pam, sudo | services = nss, pam, sudo | ||
domains = it213.int | domains = it213.int | ||
| − | + | ||
[domain/it213.int] | [domain/it213.int] | ||
id_provider = ldap | id_provider = ldap | ||
auth_provider = ldap | auth_provider = ldap | ||
| + | <span style="color:red">chpass_provider = ldap</span> | ||
access_provider = permit | access_provider = permit | ||
sudo_provider = ldap | sudo_provider = ldap | ||
| − | + | ||
<span style="color:red">ldap_uri = _srv_</span> | <span style="color:red">ldap_uri = _srv_</span> | ||
<span style="color:red">dns_discovery_domain = it213.int</span> | <span style="color:red">dns_discovery_domain = it213.int</span> | ||
| − | + | ||
ldap_search_base = dc=it213,dc=int | ldap_search_base = dc=it213,dc=int | ||
ldap_sudo_search_base = ou=sudo,dc=it213,dc=int | ldap_sudo_search_base = ou=sudo,dc=it213,dc=int | ||
| − | + | ||
| + | <span style="color:red">ldap_default_bind_dn = cn=admin,dc=it213,dc=int</span> | ||
| + | <span style="color:red">ldap_default_authtok = 123Start$</span> | ||
| + | |||
cache_credentials = True | cache_credentials = True | ||
| − | |||
ldap_id_use_start_tls = false | ldap_id_use_start_tls = false | ||
| + | ldap_auth_disable_tls_never_use_in_production = true | ||
ldap_tls_reqcert = never | ldap_tls_reqcert = never | ||
| − | + | ||
| − | + | <span style="color:red">[nss]</span> | |
| − | <span style="color:red"> | ||
| − | |||
| − | |||
<span style="color:red">filter_users = root,daemon,bin,sys,sync,games,man,lp,mail,news,uucp,proxy,www-data,backup,list,irc,gnats,nobody,systemd-network,systemd-resolve,messagebus,_apt,uuidd,nslcd</span> | <span style="color:red">filter_users = root,daemon,bin,sys,sync,games,man,lp,mail,news,uucp,proxy,www-data,backup,list,irc,gnats,nobody,systemd-network,systemd-resolve,messagebus,_apt,uuidd,nslcd</span> | ||
<span style="color:red">filter_groups = root,daemon,bin,sys,adm,tty,disk,lp,mail,news,uucp,man,proxy,kmem,dialout,fax,voice,cdrom,floppy,tape,sudo,audio,dip,www-data,backup,operator,list,irc,src,gnats,shadow,utmp,video,sasl,plugdev,staff,games,users,nogroup,systemd-journal,systemd-network,systemd-resolve,input,kvm,render,crontab,netdev,messagebus,_apt,uuidd,ssh,nslcd</span> | <span style="color:red">filter_groups = root,daemon,bin,sys,adm,tty,disk,lp,mail,news,uucp,man,proxy,kmem,dialout,fax,voice,cdrom,floppy,tape,sudo,audio,dip,www-data,backup,operator,list,irc,src,gnats,shadow,utmp,video,sasl,plugdev,staff,games,users,nogroup,systemd-journal,systemd-network,systemd-resolve,input,kvm,render,crontab,netdev,messagebus,_apt,uuidd,ssh,nslcd</span> | ||
| − | + | ||
| − | [pam] | + | <span style="color:red">[pam]</span> |
<span style="color:red">offline_credentials_expiration = 2</span> | <span style="color:red">offline_credentials_expiration = 2</span> | ||
| − | + | ||
| − | + | ;[[Erklärungen sssd-2]] | |
* chmod 600 /etc/sssd/sssd.conf | * chmod 600 /etc/sssd/sssd.conf | ||
Aktuelle Version vom 2. April 2026, 11:41 Uhr
Client-Anbindung via DNS Service Discovery
In dieser Konfiguration suchen die Clients ihren LDAP-Server automatisch über DNS SRV Records. Dies erhöht die Flexibilität im Labornetzwerk, da keine statischen IP-Adressen in den Konfigurationsdateien der Clients gepflegt werden müssen.
Voraussetzungen im DNS (Bind9)
Damit die Discovery funktioniert, muss der DNS-Server (it213.int) entsprechende SRV-Einträge für den LDAP-Dienst bereitstellen.
_ldap._tcp.it213.int. IN SRV 10 70 389 ldap.it213.int.
- Überprüfung vom Client aus:
- host -t SRV _ldap._tcp.it213.int
Installation der Client-Komponenten
Auf jedem Client müssen die SSSD-Module und Werkzeuge für die PAM-Integration installiert werden.
- apt update
- apt install -y sssd libnss-sss libpam-sss libsss-sudo sssd-tools oddjob-mkhomedir
| Paket | Funktion / Beschreibung |
|---|---|
| sssd | Der Hauptdienst (System Security Services Daemon) zur zentralen Identitätsverwaltung. |
| libnss-sss | Schnittstelle für den Name Service Switch (NSS). Liefert User- und Gruppen-IDs an das System. |
| libpam-sss | PAM-Modul für die Authentifizierung. Übernimmt die Passwortprüfung beim Login. |
| libsss-sudo | Ermöglicht das Auslesen und Anwenden von zentralen Sudo-Regeln aus dem LDAP. |
| sssd-tools | Enthält Hilfswerkzeuge zur Fehlersuche und Verwaltung (z. B. sssctl).
|
| oddjob-mkhomedir | Erstellt beim ersten Login automatisch das Home-Verzeichnis für Netzwerk-Benutzer. |
Hinweis: Ein separates LDAP-Client-Paket (wie ldap-utils) ist auf den Clients nicht erforderlich, da SSSD die Kommunikation mit dem Verzeichnisdienst eigenständig übernimmt.
SSSD Konfiguration am Client
Die Konfiguration nutzt den Parameter "_srv_", um die DNS-Abfrage zu starten.
SSSD Konfiguration mit DNS Discovery Erweiterung
- vim /etc/sssd/sssd.conf
[sssd] config_file_version = 2 services = nss, pam, sudo domains = it213.int [domain/it213.int] id_provider = ldap auth_provider = ldap chpass_provider = ldap access_provider = permit sudo_provider = ldap ldap_uri = _srv_ dns_discovery_domain = it213.int ldap_search_base = dc=it213,dc=int ldap_sudo_search_base = ou=sudo,dc=it213,dc=int ldap_default_bind_dn = cn=admin,dc=it213,dc=int ldap_default_authtok = 123Start$ cache_credentials = True ldap_id_use_start_tls = false ldap_auth_disable_tls_never_use_in_production = true ldap_tls_reqcert = never [nss] filter_users = root,daemon,bin,sys,sync,games,man,lp,mail,news,uucp,proxy,www-data,backup,list,irc,gnats,nobody,systemd-network,systemd-resolve,messagebus,_apt,uuidd,nslcd filter_groups = root,daemon,bin,sys,adm,tty,disk,lp,mail,news,uucp,man,proxy,kmem,dialout,fax,voice,cdrom,floppy,tape,sudo,audio,dip,www-data,backup,operator,list,irc,src,gnats,shadow,utmp,video,sasl,plugdev,staff,games,users,nogroup,systemd-journal,systemd-network,systemd-resolve,input,kvm,render,crontab,netdev,messagebus,_apt,uuidd,ssh,nslcd [pam] offline_credentials_expiration = 2
- chmod 600 /etc/sssd/sssd.conf
- systemctl restart sssd
PAM und NSS Integration
Damit das System die SSSD-Daten nutzt und beim ersten Login das Home-Verzeichnis erstellt, wird die Konfiguration aktualisiert.
- pam-auth-update --enable sss mkhomedir
Funktionstest
- getent passwd thomas
- id tina
- sudo -l -U thomas