Hallo,
Tobias Hofmann
hei all, :)
At 16:01 03.09.2002, you wrote:
Rehihi Tobias/Liste,
Rehi Harry, At 15:16 03.09.2002, you wrote: [...] dn: cn=CMS Administrator, ou=Groups, dc=medien,dc=uni-weimar,dc=de Hier sind doch die spaces ^ ^ oder etwa nicht ?
Jetzt wirds interessant - darauf hatte ich noch garnicht geachtet: Das obige ist copy-paste aus einem ldif, das von LDAP Browser\Editor
Ich traue diesen Drittprodukten nicht immer über den Weg :-) erstelle mal mittels slapcat eine ldif Datei des gesamten Inhaltes. slapcat -l /tmp/test.ldif sollte da helfen.
v.2.8.2 erstellt wurde, das folgende ein copy-paste aus einem Terminal, in dem ich einfach mal "ldapsearch -x" eingab:
... # CMS Administrator, Groups, medien, uni-weimar, de dn: cn=CMS Administrator,ou=Groups,dc=medien,dc=uni-weimar,dc=de objectClass: posixGroup gidNumber: 1000 cn: CMS Administrator memberUid: uid=hofmann9,ou=Users,dc=medien,dc=uni-weimar,dc=de ...
Ergo: im dn aus dem ldif stehts mit space, hier ohne. What gives? :)
Nix, kein schulterzuckendes was soll's. Zwischen den Ausgaben von ldapsearch und einer *.ldif Datei liegen Welten. Eine ldif Datei gibt den Inhalt der Datenbank wider, ldapsearch das Suchergebnis einer Anfrage eines Clients.
Der springende Punkt ist aber imho, dass nach folgendem Eintrag gesucht wird
memberUid: uid=hofmann9,ou=Users,dc=medien,dc=uni-weimar,dc=de
weil der Filter ja so aussieht (copy von oben):
filter: (&(objectClass=posixGroup) #line-break by me... (memberUid=uid=hofmann9,ou=Users, dc=medien,dc=uni-weimar,dc=de)
und dieser ist wiederum copy-paste aus Terminal mit debug-level 255...
Will meinen, er sucht nicht nach dem dn, sondern nach dem dn, der posixGroup ist und den memberUid-Eintrag hat - oder?
Das ist jetzt alles etwas zerfleddert, woher kommt der Eintrag #line-break by me Was läuft mit debug-level 255, ist das slapd oder ldapsearch? Für slapd gibt es keinen debug level 255. Um die Ausgabe der filter zu debuggen, sollte der level -d 32 gesetzt werden. Was und wie gesucht wird, ist abhängig von den Indices, die Angabe der index Werte aus slapd.conf sollte hier hinweise liefern.
Bei openldap-software@OpenLDAP.org empfiehlt man mir ein update auf 2.1.x, damit seien diese meine Probleme geloest.
Das glaube ich nicht.
Haelst Du es jetzt fuer moeglich?
Das ist einer den wenigen Punkte in denen ich nicht mit Harry übereinstimme :-) OpenLDAP-2.1 ist genauso für eine Produktionsumgebung geeignet wie die Version 2.0. Alle Releases gelten als STABLE, nur das CVS HEAD ist unstable. Ich glaube aber, ebenso wie Harry, daß dir OpenLDAP-2.1.x nicht bei deinem Problem helfen wird. Eher wird das Gegenteil der Fall sein. In den aktuellen Versionen findet eine stringentere Prüfung des syntaktischen Aufbaus und der Schema statt. Die Versionen 2.0 lassen vielfach noch fünf gerade sein. [...]
entferne die Spaces aus dem/den directory-Einträgen ...
S.o.: Der relevante Eintrag scheint mir der der memberUid, und der ist, sowohl im Browser als auch im Terminal, gleich - ohne Spaces.
Wie schon dargelegt, die Ausgabe von Clients muß nicht dem tatsächlichen Dateneintrag entsprechen, auch Clients sind fehlertolerant.
Wenn ich die Spaces (per Browser) setze, wird der Eintrag gefunden, und der User als der Gruppe zugehoerig deklariert, was Ziel der Uebung war.
Wie gesagt, das besagt nicht viel. [...]
Ich habe das mit den Leerzeichen immer noch nicht verstanden. Sendet denn der Client die Anfrage mit den "fehlerhaften" Leerzeichen in der dn ?
Yep, genauso wie oben geschrieben - vor "dc=medien,..." ist ein space. Wenn ich einen Link haette, der bestaetigt, dass Spaces in solchen Anfragen nix koennen, wuerde ich den gerne dem Hersteller der Soft geben... :) Mir hat die Lektuere von RFC 2254 und 2252 nicht sehr weitergeholfen.
Für das LDIF Format ist ja auch RFC 2849 zuständig. -Dieter -- Dieter Kluenter | Systemberatung Tel:040.64861967 | Fax: 040.64891521 mailto: dkluenter@schevolution.com http://www.schevolution.com/tour