
Hi, hat irgendwer eine 10.3 mit LDAP Authentifizierung laufen? Ich hab schon alle Verdächtigen (nsswitch.conf, pam, ldap.conf) duchgesehen aber ein Problem bleibt hartnäckig: 1. getent group liefert mir alle gruppen. 2. id username liefert nur die haupt-gruppe des users, nicht die anderen Gruppenmitgliedschaften des users. aus 1. schließe ich das der dn für die gruppen in der ldap.conf richtig angegeben ist. Wo aber der Unterschied zwischen 1 und 2 herrühren könnte kann ich mir derzeit nicht so recht erklären. Logfiles geben nichts her, ein Debug 9999 in der ldap.conf zeigt das bei beiden Abfragen (getent,id) die gruppeninfos vom ldap server anscheinend abgerufen werden. Die Konfiguration habe ich mit yast gemacht und anschließend an den besagten Stellen mehrfach kontrolliert, schaut alles sinnvoll und schlüssig aus. Leider komme ich erst nächste Woche wieder an das System heran, falls ich Tipps bekomme kann ich erst dann was dazu sagen ... Gruss Falk -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org

* Dienstag, 30. Oktober 2007 um 14:09 (+0100) schrieb Falk Sauer:
hat irgendwer eine 10.3 mit LDAP Authentifizierung laufen?
Ja, ich z.B.
Hast du den 'nscd' abgeschaltet? Der hat bei mir zusammen mit LDAP noch bei keiner SUSE-Version richtig funktioniert. Gruß Andreas -- XMMS spielt gerade nichts... GPG-ID/Fingerprint: 6F28CF96/0B3B C287 30CE 21DF F37A AF63 A46C D899 6F28 CF96 GPG-Key on request or on public keyservers -- -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org

Falk Sauer <falk@hb-fein.de> writes:
welche ldap.conf? Für dieses Problem ist nur /etc/ldap.conf wichtig, nicht aber /etc/openldap/ldap.conf
Das kann mehrere Ursachen haben, ich weiss nicht wie SuSE die Gruppenmitgliedschaften organisiert, als Attribut des Users oder der User als member Attribut der Gruppe. Wenn der User als member Attributwert verwaltet wird, ist ein zweiter Suchlauf notwendig.
Diesen Loglevel gibt es nicht und ein Eintrag in ldap.conf (egal welcher der beiden) wird nicht von slapd ausgelesen, die einzige Stelle ist slapd.conf, oder noch besser direkt in's config backend schreiben.
Da hat Yast seine Grenzen. Mache doch einfach mal als rootdn ein ldapsearch auf den gesamten Inhalt (sofern du nicht einige Tausend Einträge hast) und sieh dir die Einträge an. ldapsearch -x -D "cn=<dein rootdn> -w <rootpw> -H ldap://localhost -b "<dein suffix> -s sub "*" + -Dieter -- Dieter Klünter | Systemberatung http://www.dkluenter.de GPG Key ID:8EF7B6C6 -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org

Hi Dieter, @Andreas, den nscd hab ich bislang noch laufen Am Di 30.Oktober 2007 15:07:07 schrieb Dieter Kluenter:
nur die /etc/ldap.conf, der ldap server ist auf einer 10.0 und geht mit ebendieser ganz hervorragend.
ein 2. suchlauf? Die user stehen in ou=Users,dc=example,dc=de, die Gruppen in ou=Groups,dc=example,dc=de als memberUid Attribut in cn's - den gruppen. Wie stösst man denn da einen 2. suchlauf an? Wie gesagt bei der 10.0 geht das einfach so.
nein, der lokale client loggt dann wie ein wilder.
das fürchte ich auch, aber ich hatte gehofft das das mittlerweile geht.
ich denke das die Einträge im ldap ok sind weil es ja mit einer anderen 10.0 prima geht, und wie gesagt der getent group bringt alle gruppen, nur der id nicht. Gruss Falk -- MfG. Falk Sauer -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org

Falk Sauer <falk@hb-fein.de> writes:
OK, dann vergleiche mal beide ldap.conf genau, insbesondere die Werte für pam_groupdn, pam_member_attribute, nss_schema
Möglicherweise muss da der Suchfilter in ldap.conf verändert Werden. Welcher Wert hat denn pam_filter.
In simpel gesprochen macht id ein ldapsearch mit dem attribut uid=foo unter dem in ldap.conf definierten Zweig nss_base_passwd und nss_base_shadow und bekommt dann die entsprechenden Werte aus dem Eintrag von uid=foo zurückgeliefert, getent group sucht nach im ldap.conf definierten Zweig nss_base_group und sucht nach dem pam_member_attribute Um beides zu verbinden, kann man in ldap.conf pam_filter einen entsprechenden Suchfilter definieren.
Das verstehe ich nicht, welcher lokale client loggt wohin und was
[...] -Dieter -- Dieter Klünter | Systemberatung http://www.dkluenter.de GPG Key ID:8EF7B6C6 -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org

Hi Dieter, Am Di 30.Oktober 2007 19:50:35 schrieb Dieter Kluenter:
mach ich, aber wie gesagt, nächste Woche.
schau ich nach
zur Struktur siehe Antwort an Arno.
ok, jetzt kommen wir der Sache Verständismäßig gaanz langsam näher, was mir dabei nicht ganz klar ist, ist was zb. id von dem ldap genau für ein Ergebnis erwartet. Wenn zb. die Abfrage nach uid=foo Ergebnisse liefert für uidNumber=1234,gidNumber=5678 etc. sollten dann die Ergebnisse für weitere Gruppen also gleich mit kommen? Oder in simpel sprech: der getent group geht nur auf den nss_base_group los und kriegt von dem _nur_ Gruppen und der id will von dem nss_base_passwd alles für diesen User in einem haben und schaut selber nicht nach dem was in nss_base_group steht? das würde bedeuten das bei pam_filter praktisch sowas ähnliches mit drin stehen müsste: sub ?(&(objectClass=PosixGroup)(memberUid=foo)(gidNumber=*)) wobei mir noch völlig unklar ist wie ich den Teil der bis jetzt funktioniert (aus dem ou=Users,dc=example,dc=de) dazu packe und wie ich die Variable foo nach der aktuell gesucht wird an den Filter zu übergeben habe. Das was bei man ldap.conf kommt ist nicht mal ein bruchteil von dem was in einer /etc/ldap.conf schon von Haus aus drin steht, gibts irgendwo was zum Nachlesen mit Beispielen wo auch die Parameter drin stehen die du anführst?
der lokale LDAP Client (nehme ich an) beim Ausführen von id oder getent auf stderr, das 'was' kann ich dir nächste Woche posten. Gruss Falk -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org

* Mittwoch, 31. Oktober 2007 um 16:05 (+0100) schrieb Falk Sauer:
AFAIK nein.
Ebenfalls AFAIK nein: Wenn 'id' (über libnss_ldap) zuerst nach den Userdaten sucht, wird "nss_base_passwd" als Suchbasis benutzt und wenn es danach die Gruppendaten sucht, dann wird "nss_base_group" benutzt.
"pam_filter" hat mit den Gruppendaten nichts zu tun, es wird nur für die Suche nach den Userdaten verwendet. Wenn dort etwas falsch (oder in "pam_login_attribute") würde dir IMHO ein 'id' gar keine Daten ausgeben (bzw. ein "no such user").
'man ldap.conf' beschreibt "/etc/openldap/ldap.conf". Was du suchst, findest du mit 'man pam_ldap' und 'man nss_ldap'. Gruß Andreas BTW: Mein Favorit für den Fehler ist immer noch der 'nscd'... -- XMMS spielt gerade nichts... GPG-ID/Fingerprint: 6F28CF96/0B3B C287 30CE 21DF F37A AF63 A46C D899 6F28 CF96 GPG-Key on request or on public keyservers -- -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org

Hi Andreas, Am Mi 31.Oktober 2007 23:12:07 schrieb Andreas Koenecke:
hmm
das würde ja heißen das das setting in Ordnung sein sollte.
danke!
BTW: Mein Favorit für den Fehler ist immer noch der 'nscd'...
Der ist auf der funktionierenden 10.0 aber nicht abgestellt, das habe ich gerade eben nachgeschaut. ich halt euch auf jeden Fall auf dem Laufenden. Gruss Falk -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org

Am Dienstag 30 Oktober 2007 schrieb Falk Sauer: [...]
[...] Das klingt doch ganz genau wie der Fehler, der sich in der 10.2 durch ein clib-Update eingeschlichen hat (und AFAIK werden viele Fixes parallel in verschiedenen openSUSE Versionen eingespielt) siehe http://lists.opensuse.org/opensuse-de/2007-10/msg01017.html oder http://lists.opensuse.org/opensuse-de/2007-10/msg01072.html Ob's eine ähnliche Lösung für die 10.3 gibt, kann ich mangels 10.3 nicht sagen. Andreas -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org

Hi Andreas, Am Di 30.Oktober 2007 20:06:07 schrieb Andreas Kyek:
Das sind ja Aussichten ... Gruss Falk -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org

Hi, 30.10.2007 16:58,, Falk Sauer wrote::
Vorweg: Ich hab' mich auch schon über nscd geärgert. Im Moment habe ich einen SUSE 9.2 und einen 10.3 Server hier laufen. Beide beziehen die Benutzeraccounts per LDAP mit dem SUSE-Schema, d.h. in ou=group,dc=xxx,dc=de stehen Sachen wie dn: cn=its,ou=group,dc=xxx,dc=de cn: its gidNumber: 2001 member: uid=its-info,ou=people,dc=xxx,dc=de member: uid=its-admin,ou=people,dc=xxx,dc=de member: uid=arno,ou=people,dc=xxx,dc=de member: uid=its-al,ou=people,dc=xxx,dc=de objectClass: top objectClass: posixGroup objectClass: groupOfNames für die Gruppen.
Hier auch, auf 9.2 und 10.3.
2. id username liefert nur die haupt-gruppe des users, nicht die anderen Gruppenmitgliedschaften des users.
Hier nicht:
Exakt identische Ausgabe auf beiden Systemen; so solls ja auch sein, geht ja gegen das gleiche LDAP-Backend...
Letzteres.
Ja, zuerst wird der geforderte user im ou=people,...-Subtree gesucht und gefunden. Dann werden im ou=group,...-Subtree alle Gruppen mit diesem Member gesucht.
Man gar nicht - das macht wohl PAM bzw. wer immer da als Middleware arbeitet.
Wie gesagt bei der 10.0 geht das einfach so.
Bei 9.2 und 10.3 auch. Dummerweise habe ich unter 10.2 zwar einen Server am laufen, aber da gibt's keine Nutzeraccounts, und also auch kein LDAP-Backend.
Ja, hier auch, aber bei meinem normalen Loglevel bringt das nicht viel an Erkenntnissen. Ausserndem geht's ja :-)
Zufall, bei dem Loglevel :-) Hier gilt nicht "viel hilft viel", sondern es geht um die richtigen Bits in der LogLevel-Zahl.
Jedenfalls nicht prinzipiell. Übrigens *glaube* ich dass dieses LDAP-Backend unter 9.2 eingerichtet wurde und seitdem mit vielen aktuelleren SUSEs problemlos zusammenspielte.
das fürchte ich auch, aber ich hatte gehofft das das mittlerweile geht.
Nochmal: Hier geht's, wenn auch nicht mit genau deiner Konfiguration.
Ist jedenfalls immer lesenswert :-)
Hast du ein anderes System in greifbarere Nähe das du mal testhalber mit dem LDAP-Server als Backend ausprobieren könntest? Arno
Gruss Falk
-- Arno Lehmann IT-Service Lehmann www.its-lehmann.de -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org

Hi Arno, Am Di 30.Oktober 2007 21:28:30 schrieb Arno Lehmann:
ok hier hätten wir schon einen Unterschied, ich verwende die Struktur die bei samba empfohlen wird: in ou=Groups,dc=excample,dc=de dn: cn=Gruppenname,ou=Groups,dc=example,dc=de cn: Gruppenname gidNumber: 0815 memberUid: falk memberUid: test usw. die objectClass hab ich jetzt nicht im Kopf
hab ich leider nur auf der 10.0 so
ok, dann probiere ich nächste woche mal ne sehr große hexzahl mit vielen einsen in dezimalschreibweise.
ich kann das unmodifizierte System was auf der gleichen VM liegt nächste woche mal duplizieren und nochmal einen jungfäulichen test anwerfen. Oder mal eine VM bauen die nur aus Files von der CD besteht, ohne updates, nicht das es wirklich das Problem mit der glibc ist ... Gruss Falk -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org

Falk Sauer <falk@hb-fein.de> writes:
Da wird zwar posixGroup eingebunden, aber das Attribut member gehört zur Klasse groupOfNames, nur gidNumber ist der posixGroup Klasse entnommen.
Das ist posixGroup, eine auxiliary Klasse, da die entsprechende Samba Objektklasse sambaSamAccount ebenfalls auxiliary ist muss noch eine strukturelle Objektklasse eingebunden sein. -Dieter -- Dieter Klünter | Systemberatung http://www.dkluenter.de GPG Key ID:8EF7B6C6 -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org

Hi Dieter, Dieter Kluenter schrieb:
Ich hab mir das Problem nochmal vorgenommen, und nach dem intensiven Betrachten der alten ldap.conf und eurer tipps bin ich dann auf folgende funktionierende version gekommen. host ldapserver.example.de base dc=example,dc=de ldap_version 3 binddn cn=Manager,dc=example,dc=de bindpw gazfurchtbargeheim rootbinddn cn=Manager,dc=example,dc=de port 389 pam_filter objectclass=posixAccount pam_login_attribute uid pam_member_attribute memberuid pam_password exop nss_map_attribute uniqueMember member nss_base_passwd ou=Users,dc=example,dc=de?one nss_base_shadow ou=Users,dc=example,dc=de?one nss_base_group ou=Groups,dc=example,dc=de?one Gruss Falk -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org

Hallo Falk, Falk Sauer <falk@hb-fein.de> writes:
Darf ich dazu noch meinen persönlichen Senf hinzufügen? rootdn darf auf dem LDAP-Server einfach alles, ist also viel zu gefährlich diese Identität in einer unkontrollierten Anwendung zu konfigurieren. Zur Administration von Prozessen habe ich diverse Administratoren definiert, z.B. cn=mailadmin, cn=sambaAdmin, usw. und diesen Administratoren Schreibrechte auf den entsprechen Subtrees eingeräumt. Zur Erläuterung mal ein Muster: cn=systemAdministrator,dc=example,dc=de objectclass: person cn: systemAdministrator sn: systemAdministrator userPassword: xxxx access to dn.subtree="ou=Users,dc=example,dc=de by dn.exact="cn=systemAdministrator,dc=example,dc=de" write by users read acess to dn.subtree="ou=Groups,dc=example,dc=de by dn.exact="cn=systemAdministrator,dc=example,dc=de write by users read und in ldap.conf binddn cn=Manager,dc=example,dc=de bindpw gazfurchtbargeheim # rootbinddn cn=Manager,dc=example,dc=de -Dieter -- Dieter Klünter | Systemberatung http://www.dkluenter.de GPG Key ID:8EF7B6C6 -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org

Hi Dieter, Dieter Kluenter schrieb:
Das hab ich hier normalerweise auch so, aber ich wollte das Zwischenergebnis nicht länger zurückhalten, und für die Fehlersuche ist es imho besser nicht noch ein potentielles Problem zu haben. Es gibt für jeden produktiven dienst einen separaten user der jeweils in einer eigenen cn unter ou=Auth,dc=example,dc=de liegt. Auf der Samba Howto seite waren damals ein paar schöne Anleitungen genau dazu verlinkt. Nachdem der Betriebssystem Teil nun geht wollte ich dann mit cyrus weiter machen, aber ich fürchte das gibt noch einen weiteren Thread. :-/ Gruss Falk -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org

Hallo Falk, Falk Sauer <falk@hb-fein.de> writes:
Das ist löblich :-)
Nachdem der Betriebssystem Teil nun geht wollte ich dann mit cyrus weiter machen, aber ich fürchte das gibt noch einen weiteren Thread. :-/
Darf ich dich auf das SASL auxiliary property plugin ldapdb aufmerksam machen? Hervorragend für cyrus-imap und postfix geeignet. Eine etwas angestaubte und nicht ganz aktuelle Doku dazu findest du in meiner sig, oder warte bis Ende November und opfere € 39,-- :-) -Dieter -- Dieter Klünter | Systemberatung http://www.dkluenter.de GPG Key ID:8EF7B6C6 -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org

Hi Dieter, Dieter Kluenter schrieb:
das auxprop plugin? Da hatte ich schon mal mit gespielt und mich dann auf die andere(n) Variante(n) verlegt weil so gar kein Erfolg sichtbar war ... leider kann ich an dem Problem derzeit nicht durchgängig dran bleiben.
Eigentlich hab ich diesen Opferstock heuer schon genug mit meiner schwer verdienten kohle bedacht, aber mal sehen was das Budget noch hergibt vor Weihnachten. ;-) Gruss Falk -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
participants (5)
-
Andreas Koenecke
-
Andreas Kyek
-
Arno Lehmann
-
Dieter Kluenter
-
Falk Sauer