PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : LDAP: Mehrere Adressbücher -> Zugangsberechtigung



michael.sprick
14.12.06, 09:49
Hallo ihr,

ich arbeite mich gerade in LDAP ein und versuche, einen LDAP Server einzurichten, der mehrere Adressbücher für unterschiedliche Leute/Firmen bereitstellt....

die Struktur, die ich mir überlegt habe, sieht in etwa so aus:




dc=meineFirma
|
+- cn=Manager
+- ou=UserAccounts
| |
| +- User1
| +- User2
|
+- ou=Kunde1
| |
| +- ou=people (Adressbuch)
|
+- ou=Kunde2
| |
| +- ou=people (Adressbuch)


In den Adressbüchern ist jeweils ein Testeintrag drin...
Nun soll der Zugriff beschränkt werden. User1 darf nur auf ou=Kunde1 zugreifen und User2 nur auf ou=Kunde2.
Genau da liegt mein Problem.

In der slapd.conf habe ich folgendes eingetragen:



access to dn="ou=Kunde1,dc=meineFirma"
by dn="cn=User1, ou=UserAccounts, dc=meineFirma" write

access to dn="ou=Kunde2,dc=meineFirma"
by dn="cn=User2, ou=UserAccounts, dc=meineFirma" write


Wenn ich nun versuche mich als User1 anzumelden, erhalte ich immer die Fehlermeldung "Invalid Credentials".

User1 und User2 sind als POSIX Accounts angelegt. Ist das evtl. falsch?
Oder geht diese Struktur vielleicht überhaupt nicht?
Kann mir jemand erklären, wie ich in LDAP (nur) für den Zugriff auf eine bestimmte ou einen User anlege?

Danke für jegliche Hilfestellung,

Michael

heatwalker
14.12.06, 10:13
Bin zwar nicht der LDAP Crack, aber versuch doch mal folgendes:


access to dn="ou=Kunde1,cn=User1,dc=meineFirma"
by dn="cn=User1,dc=meineFirma write

eventuell macht es mehr Sinn über die UID zu gehen.

access to dn="ou=Kunde1,uid=XXX,dc=meineFirma"
by dn="uid=XXX,dc=meineFirma" write

michael.sprick
14.12.06, 11:30
Bin zwar nicht der LDAP Crack, aber versuch doch mal folgendes:


access to dn="ou=Kunde1,cn=User1,dc=meineFirma"
by dn="cn=User1,dc=meineFirma write

eventuell macht es mehr Sinn über die UID zu gehen.

access to dn="ou=Kunde1,uid=XXX,dc=meineFirma"
by dn="uid=XXX,dc=meineFirma" write


Funktioniert leider auch nicht. Die Fehlermeldung bleibt identisch.
Nach meinem Verständnis muss die dn in "access to dn=..." so etwas wie einen Pfad zu dem Objekt, auf das sich die ACL bezieht, darstellen. Daher bin ich mir nicht sicher, was das "cn=User1" in der dn zu suchen hat.

Kannst Du mir die Änderung erklären?

Und wie würden denn generell neue LDAP User angelegt? Ich habe die beiden bisherigen User mit phpldapadmin als "User Account" oder auch "Simple Security Object" angelegt - mit beiden konnte ich mich nicht am LDAP Server anmelden...

In meinen Büchern ist immer nur beschrieben, wie ich in LDAP neue System User erzeuge, Samba User anlege, Mailaccounts, etc... aber ein Beispiel, wie ich LDAP User zum Zugriff auf LDAP Objekte anlege, gibt es nicht.

:confused:

heatwalker
14.12.06, 12:01
Das war der Versuch, meine slapd.conf auf deine Anforderung umzulegen.

Bei mir wird "cn" im Kontext als "cn=users" genutzt. Die absolute Unterscheidung erfolgt eigentlich über "uid=user1".

Bin aber selber erst dabei mich in LDAP einzulesen.