[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
ACLs problem
Hi everybody,
I have an ACL problem with OpenLDAP 2.0.23, and I don't understand where
is the error.
All my users are at the same level (ou=personne,dc=univ-savoie,dc=fr), and
I want to authorize someone (uid=xxx,ou=people,dc=univ-savoie,dc=fr) to
access at the attribute aglnPassword of all the user who have the attribut
mailGroup=dut-geii.
I include the data of interest below. If you need more information, I will
be glad to give them.
Sorry for my english, but it-s not my primary langage. Any help will be
much appreciated.
I use these ACls :
#----------------------------------------
# ACLs
defaultaccess none
access to attr=userPassword
by self write
by anonymous auth
by * none
access to dn="uid=.*,ou=personne,dc=univ-savoie,dc=fr" filter=(mailGroup=dut-geii) attr=aglnPassword
by self write
by dn="uid=xxx,ou=personne,dc=univ-savoie,dc=fr" read
by * none
access to attr=aglnPassword
by self write
by dn="uid=yyy,ou=personne,dc=univ-savoie,dc=fr" read
by * none
access to *
by * read
#----------------------------------------
I can't read the aglnPassword attribut as the uid=xxx user, why ?
You will find below le logfile of slapd (slapd -d 128) resulting from this
query : ldapsearch -D "uid=xxx,ou=personne,dc=univ-savoie,dc=fr" -W uid=zzz aglnPassword
Global ACL: access to attrs=userPassword
by self write (=wrscx)
by anonymous auth (=x)
by * none (=n)
Global ACL: access to dn.regex=uid=.*,ou=personne,dc=univ-savoie,dc=fr
filter=(mailGroup=dut-geii)
attrs=aglnPassword
by self write (=wrscx)
by dn.regex=uid=xxx,ou=personne,dc=univ-savoie,dc=fr read
(=rscx)
by * none (=n)
Global ACL: access to attrs=aglnPassword
by self write (=wrscx)
by dn.regex=uid=yyy, ou=personne, dc=univ-savoie, dc=fr read
(=rscx)
by * none (=n)
Global ACL: access to *
by * read (=rscx)
slapd starting
=> access_allowed: auth access to "uid=xxx, ou=personne, dc=univ-savoie,
dc=fr" "userPassword" requested
=> acl_get: [1] check attr userPassword
<= acl_get: [1] acl uid=xxx, ou=personne, dc=univ-savoie, dc=fr attr:
userPassword
=> acl_mask: access to entry "uid=xxx, ou=personne, dc=univ-savoie,
dc=fr", attr "userPassword" requested
=> acl_mask: to all values by "", (=n)
<= check a_dn_pat: self
<= check a_dn_pat: anonymous
<= acl_mask: [2] applying auth (=x) (stop)
<= acl_mask: [2] mask: auth (=x)
=> access_allowed: auth access granted by auth (=x)
ber_flush: 14 bytes to sd 9
=> access_allowed: search access to
"uid=zzz,ou=personne,dc=univ-savoie,dc=fr" "uid" requested
=> acl_get: [1] check attr uid
=> dnpat: [2] uid=.*,ou=personne,dc=univ-savoie,dc=fr nsub: 0
=> acl_get: [2] matched
=> access_allowed: search access to
"uid=zzz,ou=personne,dc=univ-savoie,dc=fr" "mailGroup" requested
=> acl_get: [2] check attr uid
=> acl_get: [3] check attr uid
=> acl_get: [4] check attr uid
=> acl_get: [5] check attr uid
=> acl_get: [6] check attr uid
=> acl_get: [7] check attr uid
=> acl_get: [8] check attr uid
=> acl_get: [9] check attr uid
<= acl_get: [9] acl uid=zzz,ou=personne,dc=univ-savoie,dc=fr attr: uid
=> acl_mask: access to entry "uid=zzz,ou=personne,dc=univ-savoie,dc=fr",
attr "uid" requested
=> acl_mask: to value by "UID=XXX,OU=PERSONNE,DC=UNIV-SAVOIE,DC=FR",
(=n)
<= check a_dn_pat: *
<= acl_mask: [1] applying read (=rscx) (stop)
<= acl_mask: [1] mask: read (=rscx)
=> access_allowed: search access granted by read (=rscx)
=> access_allowed: read access to
"uid=zzz,ou=personne,dc=univ-savoie,dc=fr" "entry" requested
=> acl_get: [1] check attr entry
=> dnpat: [2] uid=.*,ou=personne,dc=univ-savoie,dc=fr nsub: 0
=> acl_get: [2] matched
=> access_allowed: search access to
"uid=zzz,ou=personne,dc=univ-savoie,dc=fr" "mailGroup" requested
=> acl_get: [2] check attr entry
=> acl_get: [3] check attr entry
=> acl_get: [4] check attr entry
=> acl_get: [5] check attr entry
=> acl_get: [6] check attr entry
=> acl_get: [7] check attr entry
=> acl_get: [8] check attr entry
=> acl_get: [9] check attr entry
<= acl_get: [9] acl uid=zzz,ou=personne,dc=univ-savoie,dc=fr attr: entry
=> acl_mask: access to entry "uid=zzz,ou=personne,dc=univ-savoie,dc=fr",
attr "entry" requested
=> acl_mask: to all values by
"UID=XXX,OU=PERSONNE,DC=UNIV-SAVOIE,DC=FR", (=n)
<= check a_dn_pat: *
<= acl_mask: [1] applying read (=rscx) (stop)
<= acl_mask: [1] mask: read (=rscx)
=> access_allowed: read access granted by read (=rscx)
=> access_allowed: read access to
"uid=zzz,ou=personne,dc=univ-savoie,dc=fr" "aglnPassword" requested
=> acl_get: [1] check attr aglnPassword
<= acl_get: [1] acl uid=zzz,ou=personne,dc=univ-savoie,dc=fr attr:
aglnPassword
=> acl_mask: access to entry "uid=zzz,ou=personne,dc=univ-savoie,dc=fr",
attr "aglnPassword" requested
=> acl_mask: to all values by
"UID=XXX,OU=PERSONNE,DC=UNIV-SAVOIE,DC=FR", (=n)
<= check a_dn_pat: self
<= check a_dn_pat: anonymous
<= check a_dn_pat: *
<= acl_mask: [3] applying none (=n) (stop)
<= acl_mask: [3] mask: none (=n)
=> access_allowed: read access denied by none (=n)
acl: access to attribute aglnPassword not allowed
ber_flush: 53 bytes to sd 9
ber_flush: 14 bytes to sd 9
--
David Berard | Tel : 04.79.75.81.26
CRIR (Centre de Ressources Informatiques et Reseaux) | Fax : 04.79.75.87.23
Universite de Savoie |