Tobias Crefeld [13.11.2015 19:22]:
Am Fri, 13 Nov 2015 16:52:21 +0100 schrieb Werner Flamme
: Hallo miteinander,
ich versuche gerade, eine Konfiguration hinzubekommen, wie ich mich gegen LDAP authentifizieren kann. Das soll ja mit sssd möglich sein, und "man sssd-ldap" ist auch recht lang.
Bei mir geht das einfach nicht. Wenn ich als root angemeldet bin und "ssh wflamme@localhost" versuche, erhalte ich nach korrekter Eingabe des Passworts nur:
pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=localhost user=wflamme
im Log. Obwohl ich bei allen Aufrufen von pam_unix schon den Parameter debug mitgebe, erhalte ich hier keine weitere Info.
Ein "getent passwd wflamme" funktioniert, die Daten werden korrekt aus dem LDAP gezogen.
In dem [domain/intranet] Abschnitt habe ich folgende Einträge:
id_provider = ldap auth_provider = ldap chpass_provider = ldap access_provider = ldap ldap_access_filter = (uid=wflamme) ldap_schema = rfc2307 ldap_uri = ldaps://192.168.22.91 ldap_search_base = dc=fasel,dc=bla ldap_user_search_base = ou=People,dc=fasel,dc=bla ldap_tls_reqcert = never ldap_tls_cacertdir = /etc/ssl/certs ldap_user_uuid = entryuuid ldap_group_uuid = entryuuid cache_credentials = true enumerate = False
Habe ich da offensichtliche Fehler drin? Der GUI im YaST ist ja keine wirkliche Hilfe. Oder wo kann ich suchen, wenn mir pam_unix schon keine Infos gibt?
In /var/log/sssd gibt es eine Datei ldap_child.log mit 0 Bytes, im sssd.log steht nur Sülz, in sssd_pam.log finde ich keinen Hinweis auf einen Login-Versuch, sssd_nss.log ist auch leer. In sssd_intranet.log finde ich immerhin Hinweise, dass der LDAP-Server als "working" markiert wird. Und eine Anfrage wird gestartet, die mit "Success(0), no errmsg set" endet.
Bei mir war's ein Fehler beim SSL-Zertifikat, aber das muss nichts heißen.
Inwiefern ldap_schema rfc2307 reicht, ist auch so eine Frage. Die korrekte Unterstützung von Unix-Clients auf einem LDAP, dass auch Windows-Clients unterstützt, benötigt wohl zwangsläufig rfc2307bis, aber lassen wir das.
Der LDAP-Server ist ein Oracle-Exemplar, ehemals Sun Java Directory Server, der hatte aber auch andere Namen. Der ist nicht für Windows-Clients da, für die gibt es Windows-Domaincontroller.
Wichtig ist natürlich erstmal, dass in /etc/nsswitch.conf sss verwendet wird, also irgendwas wie "passwd files sss" eingetragen ist.
Das ist es offenbar so, denn bei "getent passwd wflamme" bekomme ich ja die Zeile zurück, obwohl wflamme ein LDAP-User ist. passwd: compat sss group: compat sss [...] passwd_compat: files group_compat: files
Im Kern scheint mir jedoch für Deine weitere Fehleranalyse eine Erhöhung des debug-Levels pro Sektion angeraten (siehe man sssd.conf).
Bei debug_level habe ich 0x0770 eingetragen. Bedeutet also Fatal, Critical und Serious Failures (keine Minor errors), Configuration settings, Function data und Trace messages for operation functions. Da sollte doch alles auftauchen, oder? Zumindest sollten hier Fehler der Art "User nicht gefunden" kommen. Und der Eintrag ist in allen Sections vorhanden. Gruß Werner --