Dieter Kluenter schrieb:
Hallo,
"M. Schlegel"
writes: Hallo,
als LDAP-Novize versuche ich gerade, mir von der Konsole aus ein Verständnis von den Zugriffsrechten auf einen LDAP-Server zu verschaffen. Ich habe ein Adressbuch, auf das ich die Rechte wie nachfolgend dokumentiert verteilt habe.
Da hast du dir ja einiges vorgenommen :-)
Meinst Du wirklich ? :-[
-------- slapd.conf ------------ access to dn=".*,ou=private-addressbook,uid=(.*),ou=auth_user,o=company.com" by dn="uid=$1,ou=auth_user,o=company.com" write by self write by dn="cn=Manager,o=company.com" write by * none # Setzen der Leserechte auf das Attribut im UserOrdner access to dn="uid=(.*),ou=auth_user,o=company.com" by dn="uid=$1,ou=auth_user,o=company.com" read by self write by dn="cn=Manager,o=company.com" write by * none --------------------------------
Wie soll denn die Struktur des Adressbuches aussehen? Ich will mal deine access Regel mit Fleisch füllen, um dir das zu deutlichen
access to dn="cn=Eva,ou-privat-addressbook,uid=michael,ou=auth_user..." by dn="uid=cn=Eva,ou=auth_user,o=company.com"
Das ist eine Regel die nicht funktionieren kann :-)
Ok! Ich glaube, so (!) gesehen kann ich das ziemlich leicht einsehen ;-) Ich erklär' mal kurz meine Absicht: nach allen Beispielen, die ich bisher durchgeackert habe, obliegt es dem LDAP-Manager, Datensätze hinzuzufügen. Das kann aber unmöglich sein, dann müsste ja jeder Client über vollen Zugang zum LDAP-Server verfügen. Oder nicht? Nun, ich bemühte mich also um eine Rechtevergabe, in der jeder Mitarbeiter neben dem zentralen Adressbuch sein privates Adressbuch füllen kann ohne über Manager-Rechte zu verfügen. Das ist es eigentlich schon. Dein Gedanke mit dem UserPassword ist natürlich bestechend, alleine mir ist nicht klar, wie ich das mache. Das UserPassword ist doch in einer anderen Tabelle? :-[
was du möchtest wäre access to dn=.*,ou=privat-addressbook,uid=$2,ou=auth_user..."
Die Regel 'by self write' besagt, daß 'Eva' ihren Eintrag schreibend verändern darf, ich denke mal, daß dies bei einem Adressbuch-Eintrag überflüssig ist.
Deine Rechte im User Ordner sind auch nicht ganz in Ordnung. Du wirst nie deinen eigenen Eintrag schreibend verändern können, denn die Regel by dn="uid=$1,ou=auth_user ..." read wird beim Parsen der Regeln zuerst getroffen, wenn du versuchst, auf deinen Eintrag zuzugreifen, die Regel 'by self write' wird nicht mehr erkannt, da beim ersten Treffer das Parsen beendet wird. Was möchtest du denn mit dieser Regel bewirken?
Das habe ich mir zwischenzeitlich auch schon gedacht und habe es geändert.
Du solltest wenigstens das Attribut userPasswd zur Authentifizierung freigeben, sonst kannn das System dich ja nicht verifizieren.
Setze in slapd.conf 'loglevel 128', damit kannst du dann in /var/log/localmessages prüfen, ob deine access Regeln funktionieren.
Habe ich getan, aber "tail -f /var/log/messages" bestätigt nur mein Dilemma :'(
-Dieter
Vielen Dank schon mal für Deine Unterstützung!! Grüße, Michael P.S. Sach mal, warum macht den Thunderbird nicht 72 Zeichen, wenn ich ihm das sage??