[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
ACL Help Please
Hello List -
Please forgive my ignorance regarding the ACL's in OpenLDAP. For Starters
I'm using OpenLDAP Software 2.4, and I've obtained the software from
sunfreeware.com. OpenLDAP is running on a Solaris 10 Sparc system.
My goal is to have each one of my user able to read/write to their own
personal address book.
I've added my initial LDIF file, and configured slapd as best I could
understand. I can ldapadd using the root dn, and I can see all of the
entries that I added using ldapsearch. However when I try to add to my
personal entry, I receive this error.
ldapadd -D "cn=Elliott Smith,ou=users,dc=Company,dc=com" -f contact.ldif
Enter bind password:
adding new entry cn=Nick Drake,ou=addressbook,dc=Company,dc=com
ldap_add: Insufficient access
ldap_add: additional info: no write access to parent
Below are my LDIF and slapd. I want to express that I have read through as
much of this list as I could regarding the "no write access to parent",
and I've found many have similar issues. I feel that my setup is fairly
straight forward.
Any help is much appreciated. Let me know if you need more information.
The LDIF I used to begin...
# Initialize the suffix entry defined in slapd.conf
#
dn: dc=company,dc=com
objectclass: top
objectclass: dcObject
objectclass: organization
dc: company
o: corporate
#
# Initialize the AddressBooks heirarchy
#
dn: ou=addressbook,dc=company,dc=com
objectclass: top
objectclass: organizationalUnit
ou: addressbook
#
# Define individual address books
#
dn: o=hr,ou=addressbook,dc=company,dc=com
objectclass: top
objectclass: organization
o: hr
#
# Initialize the Users heirarchy
#
dn: ou=users,dc=company,dc=com
objectclass: top
objectclass: organizationalUnit
ou: users
#
# Define individual users
#
dn: cn=Elliott Smith,ou=users,dc=company,dc=com
objectclass: top
objectclass: person
cn: Elliott Smith
sn: Smith
userPassword: mysecret
uid: esmith
The slapd I'm using...
# See slapd.conf(5) for details on configuration options.
# This file should NOT be world readable.
#
include /usr/local/etc/openldap/schema/core.schema
include /usr/local/etc/openldap/schema/cosine.schema
include /usr/local/etc/openldap/schema/inetorgperson.schema
# Define global ACLs to disable default read access.
# Do not enable referrals until AFTER you have a working directory
# service AND an understanding of referrals.
#referral ldap://root.openldap.org
pidfile /usr/local/var/run/slapd.pid
argsfile /usr/local/var/run/slapd.args
# Load dynamic backend modules:
# modulepath /usr/local/libexec/openldap
# moduleload back_bdb.la
# moduleload back_ldap.la
# moduleload back_ldbm.la
# moduleload back_passwd.la
# moduleload back_shell.la
# Sample security restrictions
# Require integrity protection (prevent hijacking)
# Require 112-bit (3DES or better) encryption for updates
# Require 63-bit encryption for simple bind
# security ssf=1 update_ssf=112 simple_bind=64
# Sample access control policy:
# Root DSE: allow anyone to read it
# Subschema (sub)entry DSE: allow anyone to read it
# Other DSEs:
# Allow self write access
# Allow authenticated users read access
# Allow anonymous users to authenticate
# Directives needed to implement policy:
#
#
access to dn.regex="(.+,)?(uid=[^,]+,o=isc)$"
by dn.exact,expand="$2" write
by anonymous auth
# if no access controls are present, the default policy
# allows anyone and everyone to read anything but restricts
# updates to rootdn. (e.g., "access to * by * read")
#
# rootdn can always read and write EVERYTHING!
#######################################################################
# BDB database definitions
#######################################################################
database bdb
suffix "dc=Company,dc=com"
rootdn "cn=root,dc=Company,dc=com"
# Cleartext passwords, especially for the rootdn, should
# be avoid. See slappasswd(8) and slapd.conf(5) for details.
# Use of strong authentication encouraged.
rootpw secret
# The database directory MUST exist prior to running slapd AND
# should only be accessible by the slapd and slap tools.
# Mode 700 recommended.
directory /usr/local/var/openldap-data
# Indices to maintain
index objectClass eq
-------------------
david stackis
uc santa barbara