[gelöst] sssd mit LDAP - Verständnis und Konfiguration

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
Benutzeravatar
McAldo
Moderator
Beiträge: 2064
Registriert: 26.11.2003 11:43:36
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Terra / Sol-System / Milchstraße

[gelöst] sssd mit LDAP - Verständnis und Konfiguration

Beitrag von McAldo » 23.07.2018 09:42:09

Hallo,

ich versuche aktuell auf einem Notebook sssd einzurichten. Die Benutzer kommen von einem LDAP-Server (keine AD oder sonstiges Windows-Zeugs weit und breit :-) ). Ist das Notebook vom Netz getrennt, soll sssd die Anmeldung aus den gecachten Anmeldedaten ermöglichen.

Jetzt habe ich einiges an Infos gelesen und mehr verwirrt als zuvor. :-)

Benötigt der sssd für den Kontakt mit dem LDAP-Server einen zusätzlichen Dienst wie nscd (libnss-ldap, libpam-ldap) oder nslcd? Wozu schreibt man dann die ganzen LDAP-Parameter in die sssd.conf, wenn diese nicht ohne die Hilfe von diesen Zusatzdiensten genutzt werden können?

Ich habe aktuell das System nur mit sssd konfiguriert. Damit können die LDAP-User nicht ermittelt werden.

Bei einer Konfiguration nach dieser Anleitung (https://www.anleitungen.rrze.fau.de/bet ... iguration/) konnten die LDAP-User ermittelt werden, allerdings versuchte ich keine Offline-Anmeldung. Hierbei kam aber auch der nscd zum Einsatz.

Funktioniert es überhaupt, wenn man nur sssd nutzen möchte (kein kerberos, nscd, nslcd, ad, ...)?
Hier meine config:

Code: Alles auswählen

[sssd]                
domains = LDAP
config_file_version = 2
services = nss, pam         
debug_level = 3

[domain/LDAP]
id_provider = ldap  
auth_provider = ldap    
#access_provider = ldap
ldap_schema = rfc2307
ldap_uri = ldap://ldap.mynet.lan
ldap_default_bind_dn = cn=auth,ou=services,dc=mynet,dc=lan
ldap_default_authtok = -secret-
#ldap_default_authtok_type = password
ldap_search_base = dc=mynet,dc=lan
ldap_user_search_base = ou=users,dc=mynet,dc=lan
ldap_group_search_base = ou=groups,dc=mynet,dc=lan
ldap_tls_cacert = /etc/ssl/certs/ldap-ca.crt
ldap_tls_reqcert = never
ldap_id_use_start_tls = true
ldap_purge_cache_timeout = 0
ignore_group_members = true
enumerate = false
cache_credentials = true
ldap_id_mapping = true
use_fully_qualified_names = false
debug_level = 3
#override_homedir = /home/%u

[nss]
filter_users = root
filter_groups = root
reconnection_retries = 3
debug_level = 3

[pam]
reconnection_retries = 3
offline_credentials_expiration = 30
offline_failed_login_attempts = 3
offline_failed_login_delay = 30
filter_users = root
filter_groups = root
debug_level = 3
Damit können die Benutzer aus LDAP nicht ausgelesen werden. Was fehlt also?
Achte auf deine Gedanken, denn sie werden Worte.
Achte auf deine Worte, denn sie werden Handlungen.
Achte auf deine Handlungen, denn sie werden Gewohnheiten.
Achte auf deine Gewohnheiten, denn sie werden dein Charakter.
Achte auf deinen Charakter, denn er wird dein Schicksal.
(Talmud)

Benutzeravatar
McAldo
Moderator
Beiträge: 2064
Registriert: 26.11.2003 11:43:36
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Terra / Sol-System / Milchstraße

Re: sssd mit LDAP - Verständnis und Konfiguration

Beitrag von McAldo » 24.07.2018 15:07:58

Offenbar ist der search-filter nicht richtig. Da habe ich aber den Default-Filter. Das ist die Fehlermeldung im Log:

Code: Alles auswählen

[sssd[be[LDAP]]] [sdap_get_generic_ext_step] (0x0080): ldap_search_ext failed: Bad search filter
(Tue Jul 24 15:01:10 2018) [sssd[be[LDAP]]] [generic_ext_search_handler] (0x0040): sdap_get_generic_ext_recv failed [1432158245]: Malformed search filter
(Tue Jul 24 15:01:10 2018) [sssd[be[LDAP]]] [sdap_get_users_done] (0x0040): Failed to retrieve users [1432158245][Malformed search filter].
Das hier ist der verwendete Filter:

Code: Alles auswählen

[sssd[be[LDAP]]] [sdap_get_generic_ext_step] (0x0400): calling ldap_search_ext with [(&(uid=tux)(objectclass=posixAccount)(uid=*)((null)=*))][ou=users,dc=mynet,dc=lan].
Versucht hatte ich mit "id tux" Infos zum User anzeigen zu lassen.

Mittels Parameter "ldap_user_search_filter" habe ich schon versucht einen anderen Filter einzufügen, klappte jedoch nicht. Der Zusatzfilter wurde mit dem vorhandenen verknüpft.

Was muss anders eingestellt werden, damit es klappt?
Achte auf deine Gedanken, denn sie werden Worte.
Achte auf deine Worte, denn sie werden Handlungen.
Achte auf deine Handlungen, denn sie werden Gewohnheiten.
Achte auf deine Gewohnheiten, denn sie werden dein Charakter.
Achte auf deinen Charakter, denn er wird dein Schicksal.
(Talmud)

Benutzeravatar
McAldo
Moderator
Beiträge: 2064
Registriert: 26.11.2003 11:43:36
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Terra / Sol-System / Milchstraße

Re: sssd mit LDAP - Verständnis und Konfiguration

Beitrag von McAldo » 24.07.2018 19:42:10

Die Lösung ist in diesem Fall, wie immer, sehr einfach:

Code: Alles auswählen

ldap_id_mapping = false
anstatt "true".

Und hier wegen der Vollständigkeit die funktionierende sssd.conf

Code: Alles auswählen

[sssd]
domains = LOCAL, LDAP
config_file_version = 2
reconnection_retries = 3
sbus_timeout = 30
services = nss, pam
debug_level = 2

[domain/LOCAL]
description = local user domain
id_provider = local
enumerate = true
min_id = 1000
max_id = 5000

[domain/LDAP]
id_provider = ldap
auth_provider = ldap
#access_provider = ldap
ldap_schema = rfc2307
ldap_uri = ldap://ldap.mynet.lan
ldap_default_bind_dn = cn=auth,ou=services,dc=mynet,dc=lan
ldap_default_authtok = -secret-
#ldap_default_authtok_type = password
ldap_search_base = dc=mynet,dc=lan
ldap_user_search_base = ou=users,dc=mynet,dc=lan
ldap_group_search_base = ou=groups,dc=mynet,dc=lan
ldap_tls_cacert = /etc/ssl/certs/ldap-ca.crt
ldap_tls_reqcert = never
ldap_id_use_start_tls = true
entry_cache_timeout = 600
ldap_purge_cache_timeout = 0
ignore_group_members = true
enumerate = true
cache_credentials = true
ldap_id_mapping = false
use_fully_qualified_names = false
debug_level = 2
#override_homedir = /home/%u

[nss]
filter_users = root
filter_groups = root
reconnection_retries = 3
debug_level = 2

[pam]
reconnection_retries = 3
offline_credentials_expiration = 30
offline_failed_login_attempts = 3
offline_failed_login_delay = 30
debug_level = 2
Achte auf deine Gedanken, denn sie werden Worte.
Achte auf deine Worte, denn sie werden Handlungen.
Achte auf deine Handlungen, denn sie werden Gewohnheiten.
Achte auf deine Gewohnheiten, denn sie werden dein Charakter.
Achte auf deinen Charakter, denn er wird dein Schicksal.
(Talmud)

Antworten