[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: