Hallo,
ich möchte einer Gruppe von Benutzern schreibzugriff auf einen Teil des LDAP Baumes geben, welche Art von Gruppe muß ich dafür erstellen ?
Und wie sieht der ACL Eintrag aus, damit die Mitglieder dieser Gruppe dann auch schreibrechte bekommen ?
Grüße
Andreas
Hi!
[x] konkretere Angaben wünschenswert
"man slapd.access" ist ein Einstieg,
>> Dieser Thread << (http://www.openldap.org/lists/openldap-software/200209/msg00426.html) ist sehr interessant
Grüße
Manx
Hallo,
mein LDAP-Baum sieht so aus:
c=de (Country)
o=eval (Organisation)
-ou=I1 (Organisational Unit)
--ou=group (Organisational Unit)
---cn=Admins (PosixGroup)
--ou = User (Organisational Unit)
---cn = User1 (PosixAccount, SambaSamAccount)
---cn = User2 "
Was ich jetzt erreichen will ist, das alle Mitglieder der Gruppe Admins auf die OU I1 schreibend zugreifen können. Damit wenn jetzt ein neuer Benutzer User3 erstellt wird, er nur noch der Gruppe Admins zugefügt werden muß um ebenfalls Schreibrechte auf I1 bekommt.
Ich hatte versucht mit der Regel:
access to dn="ou=I1,o=eval,c=de"
by group="cn=Admins,ou=group,ou=I1,o=eval,c=de" write
by self write
by * auth
das ganze zu realisieren.User1 ist Mitglied der Gruppe Admins und kann zwar bei sich Änderungen machen, jedoch nicht bei User2.
Wenn ich den andreren Thread richtig verstanden habe, ging es darum, das der Benutzer nur auf sich und darunter schreiben darf.
Grüße
Andreas
... o.k, Ldap ACLs sind für mich auch mehr oder weniger ein spanisches Dorf ;) aber ich schau mir's an, interessiert mich auch!
Noch eine Frage:
Mitglieder der Gruppe Admins sollen auf I1 schreibend zugreifen können.
Auf wirklich ALLES unter I1?
Sprich auch auf die Passwörter der anderen Admins z.B.?
Grüße
Manx
Hi!
Erster Lösungsansatz:
So wie Du Dir das vorstellst, hab' ich's nicht geschafft, da mir aber bei weitem noch nicht alles klar ist, könnte es einfacher auch noch funktionieren.
Ich gehe davon aus, dass sich die Benutzer (Admins) per DN (cn=Admin1,ou=User,ou=I1,o=eval,c=de") am LDAP anmelden. Nach diesem DN greifen auch die ACLs.
Problem (IMHO ;) )
Admins und User unterscheiden sich nicht im DN , bis auf das erste "cn=..."
Admin: cn=Admin1,ou=User,ou=I1,o=eval,c=de
User: cn=User1,ou=User,ou=I1,o=eval,c=de
Möglichkeit 1: (nicht getestet!)
zur Unterscheidung den LDAP-Tree im User-Zweig untergliedern:
c=de (Country)
o=eval (Organisation)
-ou=I1 (Organisational Unit)
--ou=group (Organisational Unit)
---cn=Admins (PosixGroup)
--ou = User (Organisational Unit)
---cn=admins
----cn=Admin1 (dn: cn=Admin1,cn=admins,ou=User,ou=I1,o=eval,c=de)
---cn=users
----cn = User1 (PosixAccount, SambaSamAccount)
----cn = User2 (dn: cn=User2,cn=users,ou=User,ou=I1,o=eval,c=de)
Somit wärte IMHO eine Unterscheidung nach DN möglich und eine ACL per regex stetzbar.
Möglichkeit 2: (Kurztest, Verbesserungen möglich ;) )
Du legst im User Zweig ein neues Objekt:
dn: cn=acl,ou=User,ou=I1,o=eval,c=de
objectClass: top
objectClass: groupOfUniqueNames
cn: acl
uniqueMember: cn=Admin1,ou=User,ou=I1,o=eval,c=de
uniqueMember: nach belieben mit weitern Admin DNs ergänzen
in dieses Objekt werden die Benutzer eingetragen die Schreibzugriff bekommen
die ACLs für meinen LDAP Tree, der folgendermaßen ausschaut:
dc=manx,dc=homelinux,dc=org
-ou=Benutzer
--cn=acl # obiger Eintrag mit uniqueMembers
--uid=user1
--uid=user2
usw.
-ou=Gruppen
--cn=domadmins
--cn=domusers
usw.
-ou=Computer
-ou=idmap
-cn=manager,... # der LDAP-Root, Admin
-cn=nss,... # ein Benutzer für NSS-Anfragen, testweise (kommt vielleicht noch weg)
-sambaDomainName
# 1.)
access to dn.subtree="dc=manx,dc=homelinux,dc=org"
attrs=userPassword,sambaNTPassword,sambaLMPassword
by dn="cn=manager,dc=manx,dc=homelinux,dc=org" write
by self write
by anonymous auth
# 2.)
access to dn.one="ou=Benutzer,dc=manx,dc=homelinux,dc=org"
by group/groupofuniquenames/uniquemember="cn=acl,ou=Benutzer,dc=manx,dc=homelinux,dc=org" write
by dn="cn=nss,dc=manx,dc=homelinux,dc=org" read
by users read
# 3.)
access to dn.regex="ou=(.*),dc=manx,dc=homelinux,dc=org"
by users read
# 4.)
# für anonymen access
#access to * by * read
ad 1.)
Nur der LDAP-Admin (manager) hat Zugriff auf Passwörter
ad 2.)
auf die Ebene Benutzer und eine darunter haben die, in der Ojektklasse "groupOfUniqueNames" aufgeführten Benutzer Schreibzugriff (auf Passwörter nicht!), mein nss-Benutzer (der noch weg kommt) darf lesen, denn die authentifizierten Benutzer dürfen ja auch lesen.
ad 3.)
Authentifizierte Benutzer dürfen überall lesen, das mit ou= beginnt (und darunter). Somit sehen meine Benutzer nichts vom cn=manager, nichts vom cn=nss und nicht den sambaDomainName (also die erste Ebene)
ad 4.)
ist klar ;)
Grüße
Manx
PS: LDAP ACL Gurus mögen mich steinigen, Verbesserungen, Kritik erwünscht
Hallo Manix,
sorry das ich mich jetzt erst wieder melde, mußte was für meinen Geldbeutel tun ;) .
Der Lösungsansatz 2 entspricht genau dem was ich haben wollte, eine Gruppe von "Göttern" im Teilbaum I2. Natürlich gibt es dann warscheinlich noch weitere Gruppen, die nur einzelne Attribute ändern dürfen.
Vielen Dank für die Hilfe.
Grüße
Andreas
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.