]> git.sur5r.net Git - openldap/blobdiff - tests/data/slapd-acl.conf
Merge remote branch 'origin/mdb.master'
[openldap] / tests / data / slapd-acl.conf
index 2c4a1f2573b1f77889fe67d1a49dfce515e66f1a..6e9590924633b2eaa02f0ddc7eefb089edfd1f67 100644 (file)
@@ -2,7 +2,7 @@
 # $OpenLDAP$
 ## This work is part of OpenLDAP Software <http://www.openldap.org/>.
 ##
-## Copyright 1998-2003 The OpenLDAP Foundation.
+## Copyright 1998-2011 The OpenLDAP Foundation.
 ## All rights reserved.
 ##
 ## Redistribution and use in source and binary forms, with or without
 ## top-level directory of the distribution or, alternatively, at
 ## <http://www.OpenLDAP.org/license.html>.
 
-ucdata-path    ./ucdata
-include ./schema/core.schema
-include ./schema/cosine.schema
-include ./schema/inetorgperson.schema
-include ./schema/openldap.schema
-include ./schema/nis.schema
-pidfile     ./testrun/slapd.1.pid
-argsfile    ./testrun/slapd.1.args
+include                @SCHEMADIR@/core.schema
+include                @SCHEMADIR@/cosine.schema
+include                @SCHEMADIR@/inetorgperson.schema
+include                @SCHEMADIR@/openldap.schema
+include                @SCHEMADIR@/nis.schema
+pidfile                @TESTDIR@/slapd.1.pid
+argsfile       @TESTDIR@/slapd.1.args
 
 # global ACLs
-access to dn.base="" attr=objectClass by users read
-access to * by * read
+#
+# normal installations should protect root dse, cn=monitor, cn=subschema
+#
 
-modulepath      ../servers/slapd/back-@BACKEND@/
-@MODULELOAD@
+access         to dn.exact="" attrs=objectClass
+               by users read
+access         to *
+               by * read
+
+#mod#modulepath        ../servers/slapd/back-@BACKEND@/
+#mod#moduleload        back_@BACKEND@.la
+#monitormod#modulepath ../servers/slapd/back-monitor/
+#monitormod#moduleload back_monitor.la
 
 #######################################################################
-# ldbm database definitions
+# database definitions
 #######################################################################
 
 database       @BACKEND@
-#ldbm#cachesize        0
-suffix         "o=University of Michigan,c=US"
-directory      ./testrun/db.1.a
-rootdn         "cn=Manager,o=University of Michigan,c=US"
+
+suffix         "dc=example,dc=com"
+rootdn         "cn=Manager,dc=example,dc=com"
 rootpw         secret
-#ldbm#index            objectClass     eq
-#ldbm#index            cn,sn,uid       pres,eq,sub
-#bdb#index             objectClass     eq
-#bdb#index             cn,sn,uid       pres,eq,sub
+#~null~#directory      @TESTDIR@/db.1.a
+#indexdb#index         objectClass     eq
+#indexdb#index         cn,sn,uid       pres,eq,sub
+#ndb#dbname db_1
+#ndb#include @DATADIR@/ndb.conf
+add_content_acl        on
+#access                to attrs=objectclass dn.subtree="dc=example,dc=com"
+access         to attrs=objectclass
+               by dn.exact="cn=Bjorn Jensen,ou=Information Technology Division,ou=People,dc=example,dc=com" add
+               by * =rsc stop
 
-#
-# normal installations should protect root dse, cn=monitor, cn=subschema
-#
+#access                to filter="(objectclass=person)" attrs=userpassword dn.subtree="dc=example,dc=com"
+access         to filter="(objectclass=person)" attrs=userpassword
+               by anonymous auth
+               by self =wx
 
-access to dn="" by * read
-access to dn.base="" by * read
+access         to dn.exact="cn=Mark Elliot,ou=Alumni Association,ou=People,dc=example,dc=com"
+                       attrs=cn val="Mark A Elliot"
+               by dn="cn=Barbara Jensen,ou=Information Technology Division,ou=People,dc=example,dc=com" read
+               by * break
 
-access         to attr=objectclass
-               by * =rsc stop
+access         to dn.exact="cn=Mark Elliot,ou=Alumni Association,ou=People,dc=example,dc=com"
+                       attrs=cn val="Mark Elliot"
+               by dn="cn=Bjorn Jensen,ou=Information Technology Division,ou=People,dc=example,dc=com" read
+               by * break
 
-access         to filter="(objectclass=person)" attr=userpassword dn.subtree=""
-               by anonymous auth
-               by self write
+access         to dn.exact="cn=Mark Elliot,ou=Alumni Association,ou=People,dc=example,dc=com"
+                       attrs=cn
+               by * search
+
+access         to dn.exact="cn=John Doe,ou=Information Technology Division,ou=People,dc=example,dc=com"
+                       attrs=cn val.regex="^John D.+"
+               by dn="cn=Barbara Jensen,ou=Information Technology Division,ou=People,dc=example,dc=com" read
+               by * break
+
+access         to dn.exact="cn=John Doe,ou=Information Technology Division,ou=People,dc=example,dc=com"
+                       attrs=cn val.regex="^Jonath.+"
+               by dn="cn=Bjorn Jensen,ou=Information Technology Division,ou=People,dc=example,dc=com" read
+               by * break
+
+access         to dn.exact="cn=John Doe,ou=Information Technology Division,ou=People,dc=example,dc=com"
+                       attrs=cn
+               by * search
+
+access         to dn.onelevel="ou=Information Technology Division,ou=People,dc=example,dc=com"
+                       filter="(cn=*Jensen)"
+                       attrs=cn val.regex=".*Jensen$"
+               by dn="cn=Barbara Jensen,ou=Information Technology Division,ou=People,dc=example,dc=com" read
+               by dn="cn=Bjorn Jensen,ou=Information Technology Division,ou=People,dc=example,dc=com" read
+               by * break
+
+access         to dn.exact="cn=Bjorn Jensen,ou=Information Technology Division,ou=People,dc=example,dc=com"
+                       attrs=cn
+               by * search
 
-access         to dn.children="ou=Alumni Association,ou=People,o=University of Michigan,c=US"
-               by dn.regex=".+,o=University of Michigan,c=US" +c continue
-               by dn.subtree="o=University of Michigan,c=US" +rs continue
+access         to dn.children="ou=Alumni Association,ou=People,dc=example,dc=com"
+               by dn.regex=".+,dc=example,dc=com" +c continue
+               by dn.subtree="dc=example,dc=com" +rs continue
+               by dn.children="dc=example,dc=com" +d continue
                by * stop
 
-access         to attr=member,uniquemember
+#access                to attrs=member,uniquemember dn.subtree="dc=example,dc=com"
+access         to attrs=member,uniquemember
+               by dn.exact="cn=James A Jones 1,ou=Alumni Association,ou=People,dc=example,dc=com" selfwrite
                by dnattr=member selfwrite
                by dnattr=uniquemember selfwrite
                by * read
 
-access to attr=member,uniquemember filter=(mail=*edu)
+#access                to attrs=member,uniquemember filter="(mail=*com)" dn.subtree="dc=example,dc=com"
+access         to attrs=member,uniquemember filter="(mail=*com)"
                by * read
 
-access to filter="(&(objectclass=groupofnames)(objectClass=groupofuniquenames))"
-               by dn.base="cn=Bjorn Jensen,ou=Information Technology Division,ou=People,o=University of Michigan,c=US" =sc continue
-               by dn.regex="^cn=Bjorn Jensen,ou=Information Technology Division,ou=People,o=University of Michigan,c=US$" +rw stop
+#access                to filter="(|(objectclass=groupofnames)(objectClass=groupofuniquenames))" dn.subtree="dc=example,dc=com"
+access         to filter="(|(objectclass=groupofnames)(objectClass=groupofuniquenames))"
+               by dn.exact="cn=Bjorn Jensen,ou=Information Technology Division,ou=People,dc=example,dc=com" =sc continue
+               by dn.regex="^cn=Bjorn Jensen,ou=Information Technology Division,ou=People,dc=example,dc=com$" +rw stop
                by * break
 
-access         to dn.children="ou=Information Technology Division,ou=People,o=University of Michigan,c=US"
-               by group/groupOfUniqueNames/uniqueMember.exact="cn=ITD Staff,ou=Groups,o=University of Michigan,c=US" write
+access         to dn.children="ou=Information Technology Division,ou=People,dc=example,dc=com"
+               by group/groupOfUniqueNames/uniqueMember.exact="cn=ITD Staff,ou=Groups,dc=example,dc=com" write
+               by * read
+
+access         to dn.exact="cn=Alumni Assoc Staff,ou=Groups,dc=example,dc=com"
+               by set="[cn=Alumni Assoc Staff,ou=Groups,dc=example,dc=com]/member* & user" write
                by * read
 
-access to filter="(name=X*Y*Z)"
+#access                to filter="(name=X*Y*Z)" dn.subtree="dc=example,dc=com"
+access         to filter="(name=X*Y*Z)"
                by * continue
 
+access         to dn.subtree="ou=Add & Delete,dc=example,dc=com"
+               by dn.exact="cn=Bjorn Jensen,ou=Information Technology Division,ou=People,dc=example,dc=com" add
+               by dn.exact="cn=Barbara Jensen,ou=Information Technology Division,ou=People,dc=example,dc=com" delete
+               by dn.exact="cn=James A Jones 1,ou=Alumni Association,ou=People,dc=example,dc=com" write
+               by * read
+
 # fall into global ACLs
+
+#monitor#database      monitor