Ik probeer al tijden met slapd access-rules op te zetten. Dit zijn mijn huidige regels.
Als ik nu inlog met dn="uid=postmaster,dc=network-unlimited.org,ou=Email,ou=People,ou=Account,dc=network-unlimited,dc=org" dan kan ik alle items onder ou=Email,ou=People,ou=Account,dc=network-unlimited,dc=org opvragen.
Als ik inlog met cn=admin,dc=network-unlimited,dc=org dan kan ik geen enkel item opvragen.
Draai ik de regels
en
om in de config file dan werkt het admin account wel maar de postmaster niet meer. Ik heb werkelijk geen idee waar ik het moet zoeken. De debug van slapd begrijp ik ook niet echt moet ik zeggen.
edit.
Ik lijk het opeens een beetje te beginnen te snappen. Alle regels worden 1 voor gescanned totdat het attribuut/dn wat je wil hebben gevonden wordt. Dan wordt er gekeken of en wat voor toegang je hebt volgens die rule. Heb je volgens die who rules geen access dan is het jammer maar er wordt niet verder gezocht of je in een volgende rule wel toegang hebt. Dit vind ik erg onlogisch omdat je dan volgens mij heel moeilijk moet gaan denken af en toe. Is het niet mogelijk om te zeggen dat er verder gezocht moet worden.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
| access to attrs=userPassword,shadowLastChange
by dn="cn=admin,dc=network-unlimited,dc=org" write
by anonymous auth
by self write
by * none
access to dn.subtree="ou=Email,ou=People,ou=Account,dc=network-unlimited,dc=org"
by dn="uid=postmaster,dc=network-unlimited.org,ou=Email,ou=People,ou=Account,dc=network-unlimited,dc=org" read
by * none
#access to dn.regex="uid=postmaster,dc=(.+),ou=Email,ou=People,ou=Account,dc=network-unlimited,dc=org"
# by dn.exact,expand="uid=postmaster,dc=$1,ou=Email,ou=People,ou=Account,dc=network-unlimited,dc=org" write
access to *
by dn="cn=admin,dc=network-unlimited,dc=org" write |
Als ik nu inlog met dn="uid=postmaster,dc=network-unlimited.org,ou=Email,ou=People,ou=Account,dc=network-unlimited,dc=org" dan kan ik alle items onder ou=Email,ou=People,ou=Account,dc=network-unlimited,dc=org opvragen.
Als ik inlog met cn=admin,dc=network-unlimited,dc=org dan kan ik geen enkel item opvragen.
Draai ik de regels
code:
1
2
3
| access to dn.subtree="ou=Email,ou=People,ou=Account,dc=network-unlimited,dc=org"
by dn="uid=postmaster,dc=network-unlimited.org,ou=Email,ou=People,ou=Account,dc=network-unlimited,dc=org" read
by * none |
en
code:
1
2
| access to *
by dn="cn=admin,dc=network-unlimited,dc=org" write |
om in de config file dan werkt het admin account wel maar de postmaster niet meer. Ik heb werkelijk geen idee waar ik het moet zoeken. De debug van slapd begrijp ik ook niet echt moet ik zeggen.
edit.
Ik lijk het opeens een beetje te beginnen te snappen. Alle regels worden 1 voor gescanned totdat het attribuut/dn wat je wil hebben gevonden wordt. Dan wordt er gekeken of en wat voor toegang je hebt volgens die rule. Heb je volgens die who rules geen access dan is het jammer maar er wordt niet verder gezocht of je in een volgende rule wel toegang hebt. Dit vind ik erg onlogisch omdat je dan volgens mij heel moeilijk moet gaan denken af en toe. Is het niet mogelijk om te zeggen dat er verder gezocht moet worden.
[ Voor 13% gewijzigd door TrailBlazer op 18-12-2008 15:02 ]