Hallo,
"luisa merenda"
Hallo,
bin gerade dabei mein LDAP - Server aufzusetzen bzw. er läuft schon ganz gut. Der LDAP - Server soll später zur Benutzer Authentifizierung dienen. Ich hab schon ein paar LDAP-User und diese Können sich auch auf dem LDAP-Server Authentifizieren. Für meine Tests habe ich zwei Abteilungen angelt:
Sehr löblich!
Mein Problem ist nur das ich diese Abteilungen auf verschiedene Clients Verteilen möchte. Ein ein Mitarbeiter vom Einkauf darf sich nicht auf dem Server vom Verkauf befinden und anders herum auch nicht. Heute habe ich das Problem über der der /etc/ldap.conf gelöst, in dem ich einfach auf den einzelnen Clients folgendes eingetragen habe:
VERKAUF: /etc/ldap.conf:
nss_base_passwd ou=verkauf,ou=users,o=avci,c=de nss_base_shadow ou=verkauf,ou=users,o=avci,c=de nss_base_group ou=verkauf,ou=users,o=avci,c=de
Du kannst doch nicht einfach meinen rootDSE klauen :-)
EINKAUF: /etc/ldap.conf:
nss_base_passwd ou=einkauf,ou=users,o=avci,c=de nss_base_shadow ou=einkauf,ou=users,o=avci,c=de nss_base_group ou=einkauf,ou=users,o=avci,c=de
Für meine Tests war das ganz ok. Aber wenn ich das mal Produktiv einsetzen möchte, dann wird das wirklich lästig, dass auf jedem einzelnen Client zu verwalten. Ich hab jetzt im Netzt gelesen, dass man das auf dem LDAP-Server in der /etc/openldap/slapd.conf einstellen kann. Aber leider bekomme ich das nicht gebacken die Abteilungen zu trennen. Ich habe es Folgendermaßen versucht:
Ich weiss nicht, welche OpenLDAP Version du verwendest, aber die aktuelle hat auch das referential integrity overlay, mit man solche Spielchen einfacher lösen kann.
LDAP-SERVER: /etc/openldap/slapd.conf:
access to dn.base="ou=users,ou= einkauf,o=avci,c=de" by peername=127.0.0.1 read by peername=10.206.157.86 read by * none
access to dn.base="ou=users,ou=verkauf,o=avci,c=de" by peername=127.0.0.1 read by peername=10.206.157.87 read by * none
Wenn ich es dann mit "getent passwd" testen möchte bekomme ich keine User angezeigt. Was mache ich an der Berechtigungsfreigabe falsch ?!
Denke einmal darüber nach, was denn dn.base bedeuten könnte. Als Hinweis man slapd.access(5) Du möchtest doch sicher den Scope subtree durchsuchen lassen. Ein anderer Lösungsansatz wären Access Regeln mittels Sets. http://www.openldap.org/faq/data/cache/1133.html Das klingt komplizierter als es wirklich ist. -Dieter -- Dieter Klünter | Systemberatung http://www.dkluenter.de GPG Key ID:01443B53