X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=tests%2Fdata%2Fslapd-acl.conf;h=56ee4b12a28fd2e8d33cf4afde78049c1c60aec9;hb=aa33f4b220924d9b054c5acbce3440dadef41a27;hp=dfc247fac1ec3f81ce67c8a3ac7d09b3590f8a6e;hpb=095435156545a5056e218ee70a7c2674df429ad6;p=openldap diff --git a/tests/data/slapd-acl.conf b/tests/data/slapd-acl.conf index dfc247fac1..56ee4b12a2 100644 --- a/tests/data/slapd-acl.conf +++ b/tests/data/slapd-acl.conf @@ -1,73 +1,146 @@ +# master slapd config -- for testing # $OpenLDAP$ +## This work is part of OpenLDAP Software . +## +## Copyright 1998-2012 The OpenLDAP Foundation. +## All rights reserved. +## +## Redistribution and use in source and binary forms, with or without +## modification, are permitted only as authorized by the OpenLDAP +## Public License. +## +## A copy of this license is available in the file LICENSE in the +## top-level directory of the distribution or, alternatively, at +## . + +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 # -# master slapd config -- for testing +# normal installations should protect root dse, cn=monitor, cn=subschema # -ucdata-path ./ucdata -include ./schema/core.schema -include ./schema/cosine.schema -include ./schema/inetorgperson.schema -include ./schema/openldap.schema -pidfile ./test-db/slapd.pid -argsfile ./test-db/slapd.args -# global ACLs -access to dn.base="" attr=objectClass by users read -access to * by * read +access to dn.exact="" attrs=objectClass + by users read +access to * + by * read -modulepath ../servers/slapd/back-@BACKEND@/ -@MODULELOAD@ +#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 ./test-db -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 - 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.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.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,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 +#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 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)" - 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.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