PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ldap Apache mod_auth_ldap Gruppen



BeatRider
23.11.04, 19:31
Hallo,

ich moechte nun nach der Gruppenverwaltung mittels ldap nun auch die Apache Authorisierung / Authentifizierung mittels ldap erledigen.
Ich habe bereits eine Gruppe developers, der ich gerne auch die Berechtigungen fuer Gewisse Verzeichnisse auf dem apache geben moechte.
Das Problem ist nun, das ich immer mehrere Eintraege zurueckgeliefert bekomme, wie das folgende Beispiel zeigt:




ldapsearch -x '(&(objectClass=posixGroup)(cn=developers))'
# extended LDIF
#
# LDAPv3
# base <> with scope sub
# filter: (&(objectClass=posixGroup)(cn=developers))
# requesting: ALL
#

# developers, groups, cft.firma
dn: cn=developers,ou=groups,dc=cft,dc=firma
objectClass: posixGroup
cn: developers
gidNumber: 1001
memberUid: d024976
memberUid: d000934
memberUid: d032889
memberUid: d033243
memberUid: d042399
memberUid: i029619
memberUid: i029972
memberUid: d043893
memberUid: d044160
memberUid: d043655

# search result
search: 2
result: 0 Success

# numResponses: 2
# numEntries: 1


-------------------------------------------------------------------------------------------------


ctl:~/Desktop # ldapsearch -x '(&(objectClass=posixGroup)(cn=developers)(memberUid= d042399))'
# extended LDIF
#
# LDAPv3
# base <> with scope sub
# filter: (&(objectClass=posixGroup)(cn=developers)(memberUid= d042399))
# requesting: ALL
#

# developers, groups, cft.firma
dn: cn=developers,ou=groups,dc=cft,dc=firma
objectClass: posixGroup
cn: developers
gidNumber: 1001
memberUid: d024976
memberUid: d000934
memberUid: d032889
memberUid: d033243
memberUid: d042399
memberUid: i029619
memberUid: i029972
memberUid: d043893
memberUid: d044160
memberUid: d043655

# search result




Ich dachte es laege an der Art der objectClass ( posixGroup ) und wollte nun eine weitere objectClass ( objectClass groupOfUniqueNames ) einfuegen. Jedoch laesst das der Server nicht zu.
Deshalb habe ich zwei Fragen, zu denen ich bisher leider nirgends eine Antwort finden konnte:

1) Ist meine Anfrage falsch ?

2) Warum kann ich diese beiden objectClass en nicht miteinander kombinieren ? Nach langem versuchen habe ich rausgefunden, dass der auxiliary Eintrag fuer

uniqueMember uid=d042399,ou=members,dc=cft,dc=firma
# in einem anderen Eintrag

lauten muss. Aber dennoch sind die Klassen nicht vereinbar
:mad:

Naja, waere fuer jede Hilfe sehr dankbar.
Danke und schoenen Gruss kc

bom
23.11.04, 20:40
Ich verstehe nicht ganz genau, was Du meinst, aber wenn Du die User, die in einer bestimmten LDAP-Gruppe Mitglied sind autentifizieren willst, sollte das hier in Deiner httpd.conf reichen:



<Directory "/usr/local/apache2/htdocs/secure">
AuthType basic
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
AuthType basic
AuthName "enter the secret area"
AuthLDAPURL ldap://mein.ldapserver.de/ou=groups,dc=cft,dc=firma
?cn
group cn=developers,ou=groups,dc=cft,dc=firma
require valid-user
</Directory>


Hoffe, dass Dir das hilft.

cu
bom

BeatRider
23.11.04, 21:10
Hm,
ja koennte sein, dass das reicht - leider kann ich es heute abend nicht mehr ausprobieren, aber ich wollte egtl über die .htaccess gehen, und da mit
require group (http://httpd.apache.org/docs-2.0/mod/mod_auth_ldap.html#reqgroup) arbeiten. Allerdings liefert meine Anfrgae immer 5 Eintraege zurueck. und damit kann ich nicht authentifizieren.
Die zweite Frage koennte auch lauten: Gibt es zwischen gewissen LDAP Ojekt Klassen Inkompatibilitaeten, und wenn ja: Wie finde ich die raus ?

Danke und Gruss kc

bom
23.11.04, 21:19
Die zweite Frage koennte auch lauten: Gibt es zwischen gewissen LDAP Ojekt Klassen Inkompatibilitaeten, und wenn ja: Wie finde ich die raus ?

Danke und Gruss kc

Da müsste man vielleicht mal die Entwickler des mod_auth_ldap fragen.
Hier bist Du dafür am Besten aufgehoben:
news://developer-forums.novell.com:119/novell.devsup.webserver.apache2

Ich weiss nämlich nicht, welche objectclass dieses Modul voraussetzt. Es könnte villeicht user bzw inetOrgPerson sein?!?

BeatRider
24.11.04, 11:56
Hallo,

leider konnte ich in der httpd.conf nicht viel erreichen. Daher habe ich mich weiter auf die Suche nach brauchbaren Directiven gemacht, und habe nun auch die richtigen gefunden :)

.htaccess


AuthType Basic
AuthName "2be accessed area"
AuthLDAPURL ldap://ld0228:389/dc=cft,dc=firma?uid
AuthLDAPGroupAttribute memberUid
AuthLDAPGroupAttributeIsDN off
require group cn=developers,ou=groups,dc=cft,dc=firma


Das Problem war, das man ohne AuthLDAPGroupAttributeIsDN off nur nach voll qualifizierten dn´s Suchen kann. Die noetigen Attribute werden defaultmaessig nur von den Objektklassen groupOfNames und groupOfUniqueNames angeboten. Daher empfiehlt sich noch ein AuthLDAPGroupAttribute memberUid, um die posixGroup verwenden zu koennen.

Vielleicht hilft es ja jemandem ;-)

Schoenen Gruss kc