Hallo, "Manfred Schmid" <linux@tux-city.de> writes:
Nein nicht über Filter, sondern schlicht über die 'ldap suffix' Definition, slapd liest dann den Wert des Attributes 'member' als Alias auf den richtigen Eintrag.
Vielleicht stell ich mich zur Zeit auch nur zu dumm an !
Das hab ich mir auch schon einmal so gedacht, nur leider funktioniert das irgendwie nicht.
Ich lege mir eine Gruppe an
dn: cn=gruppe1,ou=service,o=system objectClass: groupofNames cn: gruppe1 member: uid=mschmid,ou=People,o=system
Dann habe ich einen User:
dn: uid=mschmid,ou=People,o=system ... ...
mache ein ldapsearch -x -a always -b ou=service,o=system
der Schalter -a ist hier nicht nötig, nur bei echtem 'alias dereferencing' und das gibt es in openldap-2.1.x nicht, da das darunter liegende Database Management System BerkeleyDB-4.1 dann nicht stabil arbeitet. Erst in openldap-2.2.x und BerkeleyDB-4.2.52 geht echtes alias dereferencing. Es macht sogar richtig Spaß. Ich habe in meiner Testumgebung mal 2.000 Aliases erstellt, die Lesezeit ist kaum reduziert.
und bekomme ?
dn: cn=gruppe1,ou=service,o=system objectClass: groupofNames cn: gruppe1 member: uid=mschmid,ou=People,o=system
das reicht ja schon. Ich habe mal meinen loglevel auf 128 gesetzt, sorry für die Überlänge, muß aber sein: ,----[ Logauszug ] |: <= acl_get: [6] acl cn=Unwichtiger Angestellter 1024,ou=benchmark,o=avci,c=de attr: sn |: => acl_mask: access to entry "cn=Unwichtiger Angestellter 1024,ou=benchmark,o=avci,c=de", attr "sn" requeste |: => acl_mask: to value by "cn=dieter kluenter,ou=partner,o=avci,c=de", (=n) |: => bdb_group: found group: "cn=administratoren,o=avci,c=de" |: <= bdb_group: found objectClass groupOfNames and member |: <= bdb_group: "cn=dieter kluenter,ou=partner,o=avci,c=de" is in "cn=administratoren,o=avci,c=de": member |: <= acl_mask: [1] applying write(=wrscx) (stop) |: <= acl_mask: [1] mask: write(=wrscx) |: => access_allowed: search access granted by write(=wrscx) |: => access_allowed: read access to "cn=Unwichtiger Angestellter 1024,ou=benchmark,o=avci,c=de" "entry" reques |: => acl_get: [1] check attr entry `---- Bei Gruppenzugeörigkeiten geht es doch nur darum, bei einem Authentifizierungsversuch zu prüfen, ob der auch einer bestimmten Gruppe zugehört, damit slapd die entsprechenden Rechte setzen kann.
ich habs dann so zum Spass mal mit find, search probiert, immer das gleiche.
Ach im übrigen habe ich 318 Seiten gelesen, aber über Verweise steht in meinem Buch leider so gut wie nichts drin.
Das wird sich in der nächsten Auflage ändern. Erscheinungstermin September 04.
Wen man mich fragen würde, sind verweise, entweder noch nicht richtig implementiert oder nicht gut genug dokumentiert. Oder ich bin einfach nur zu dumm !
Das Thema Gruppenbildung, gerade in Verbindung mit Samba, Exim und proFTP wird häufiger auf der OpenLDAP Mailingliste angesprochen, obwohl dort streng OFF TOPIC, aber eine Suche im Archiv der letzen 6 Monate bringt sicher einiges zu Tage. http://www.openldap.org/lists/openldap-software/
Aber trotzdem danke ! Ihr Buch ist trotzdem ne gut Hilfe ! Und eins der wenigen in Deutsch !
Das einzige deutschsprachige Buch zu dem Thema :-) Danke für die Blumen. -- Dieter Kluenter | Systemberatung Tel:040.64861967 | Fax: 040.64891521 mailto: dkluenter(at)dkluenter.de http://www.avci.de