[Date Prev][Date Next] [Chronological] [Thread] [Top]

RE: Problem with ACLs



Bill,

The slapacl command can help here. It analyzes permissions granted by the
ACLs and if the -d -1 option (debugging) is included with the command it
will tell which ACL is processed that grants what permission. That will
help you identify why your user isn't being granted the permissions you
expect. Below are a couple examples. You can craft your own slapacl
command from them.

slapacl -f /usr/local/etc/openldap/slapd.conf -v \ -U bjorn -b
"o=University of Michigan,c=US" \ "o/read:University of Michigan"

	Tests whether the user bjorn can access the attribute o of the
entry o=University of Michigan,c=US at read level

slapacl -f slapd.conf -v -D "cn=Belle
Moxley,ou=Accounting,dc=example,dc=com" -b "cn=Andre
Grills,ou=Janitorial,dc=example,dc=com" telephoneNumber/read fax/read
facsimileTelephoneNumber/read

	Tests whether a user from Accounting can access telephone and fax
number attributes for a user in Janitorial.

Let me know if you need further assistance.
Jason Trupp
Symas Corporation
(855) LDAP-GUY



 

-----Original Message-----
From: openldap-technical <openldap-technical-bounces@openldap.org> On
Behalf Of Bill Bradford
Sent: Thursday, August 30, 2018 2:17 PM
To: openldap-technical@openldap.org
Subject: Problem with ACLs

Trying to give a single user "read only" access to everything in the
database including userPassword info.

Here's the LDIF file I'm using w/ldapmodify:

dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcAccess
olcAccess: {0}to attrs=userPassword,shadowLastChange
  by dn="cn=Manager,dc=domain,dc=com" write
  by dn.exact="uid=romanager,ou=Users,dc=domain,dc=com" read
  by anonymous auth
  by self write
  by * none
olcAccess: {1}to dn.base=""
  by * read
olcAccess: {2}to *
  by dn="cn=Manager,dc=domain,dc=com" write
  by * read

However, authenticating as uid=romanager,ou=Users,dc=domain,dc=com
lets that user read his own password hash, but nobody else's.  In other
words it's authenticating just like any other user, and it's as if the 

by dn.exact="uid=romanager,ou=Users,dc=domain,dc=com" read

line is being ignored.  The change is being applied as I've looked at the
database files for the config.  I've tried restarting slapd, etc.

Any suggestions?

@(#) $OpenLDAP: slapd 2.4.44 (Aug  4 2017 14:23:27) $

Bill

--
Bill Bradford
Houston, Texas USA