pam_ldap debugging
Hi,
ich versuche Nutzern auch eine Möglichkeit zu geben, sich mit dem in
der NDS gespeicherten Passwort an einem Linux-Rechner zu authentifizieren.
Grundsätzlich gibt es hier eine Infrastruktur aus fast ausschließlich
XP-Rechnern als Novell Clients. Einige wenige Applikationen sollen
auf einem Linux-Rechner ausgeführt werden und da wäre ein einheitliches
Passwort sehr wünschenswert.
Mit libpam-ncp bin ich nicht sehr weit gekommen und weiß auch nicht, ob
man mit solch verwaister Software rumexperimentieren sollte und glaube
daher, daß libpam-ldap das Mittel der Wahl ist. Ich habe in
/etc/ldap/ldap.conf eine Zeile
URI ldap://<NDS-host>
eingefügt. Das scheint ganz gut zu funktionieren, denn
ldapsearch -x uid=<nutzer>
liefert eine Menge Infos. Weiterhin habe ich die debconf Fragen
von libpam-ldap nach bestem Wissen beantwortet, das heißt, bei der
Frage nach rootbinddn wußte ich keine sinnvolle Antwort und habe den
Wert später auskommentiert - ich habe schlicht keinen Admin-Zugang
auf die NDS und hielt diese Angabe daher für nicht notwendig. Die
/etc/pam_ldap.conf sieht jetzt so aus:
base ou=User,ou=<gruppe>,ou=<abteilung>,o=<einrichtung>
uri ldap://<NDS-host>
ldap_version 3
pam_password nds
Weil in den logfiles immer noch etwas von
pam_ldap: could not open secret file /etc/pam_ldap.secret (Datei oder Verzeichnis nicht gefunden)
stand - es wurde vom postinst nicht angelegt - habe ich eine solche
Datei angelegt (aber leer). Danach war die Warnung weg - aber vielleicht
liegt genau hier das Problem. Ich habe keine Doku gefunden, die
vernünftig beschreibt, wofür die Datei da ist. Einige Google-Hits
dazu ließen mich vermuten, daß es mit rootbinddn zusammenhängt, was
soweit ich das verstanden habe, für mich nicht relevant ist - aber
vielleicht liegt auch gerade hier der Hase im Pfeffer ...
Nun habe ich noch in /etc/pam.d/ eine common-ldap angelegt, die ich in
den verschiedenen Dateien reinziehe. Dort steht drin:
auth sufficient pam_ldap.so use_first_pass debug
(Ja, ich habe die README.Debian gelesen, wo steht, daß man von sufficient
Abstand nehmen sollte - aber zum Testen schien mir das erstmal angebracht ...)
Soweit zur Konfiguration. Mein Versuch:
$ su <nutzer>
Password:
su: Authentication failure
schlägt sich in /var/log/auth in den Einträgen
pam_unix(su:auth): authentication failure; logname=tillea uid=4711 euid=0 tty=pts/11 ruser=tillea rhost= user=tillea
pam_ldap: error trying to bind as user "cn=TilleA,ou=User,ou=ABT3,ou=WR,o=rki" (Confidentiality required)
pam_authenticate: Authentication failure
FAILED su for tillea by tillea
nieder. Zu beachten ist dabei, daß der klein geschriebene Nutzername "tillea"
schon in TilleA (die Schreibweise in der NDS) umgewandelt wurde - was ein gutes
Zeichen ist, denn das macht der XP-Novell Client auch immer für den Fall, daß
er in der NDS einen Nutzer mit diesem Namen gefunden hat.
Was ich aber aus
pam_ldap: error trying to bind as user "..." (Confidentiality required)
grundsätzlich schließen soll, ist mir gänzlich schleierhaft und Google konnte
hier auch keine hilfreichen Links auftun. Auch meine Angabe "debug" in der
"auth" Anweisung in pam.d scheint nicht sehr viel zu bringen, denn ohne debug
ist die Ausgabe die gleiche. Auf der Suche nach Debug-Möglichkeiten habe ich
http://lists.freebsd.org/pipermail/freebsd-questions/2005-May/087110.html
gefunden und bin richtig "neidisch" auf die umfangreichen Informationen, die
da im debug log von pam_ldap stehen sollen. Wie zum Kuckuck kann ich die
hervorzaubern, um das Problem eingrenzen zu können?
Viele Grüße
Andreas.
--
http://fam-tille.de
Reply to: