]> git.sur5r.net Git - openldap/blob - tests/data/slapd-acl.conf
happy new year
[openldap] / tests / data / slapd-acl.conf
1 # master slapd config -- for testing
2 # $OpenLDAP: pkg/ldap/tests/data/slapd-acl.conf,v 1.46.2.4 2003/12/15 22:05:29
3   kurt Exp $
4 ## This work is part of OpenLDAP Software <http://www.openldap.org/>.
5 ##
6 ## Copyright 1998-2007 The OpenLDAP Foundation.
7 ## All rights reserved.
8 ##
9 ## Redistribution and use in source and binary forms, with or without
10 ## modification, are permitted only as authorized by the OpenLDAP
11 ## Public License.
12 ##
13 ## A copy of this license is available in the file LICENSE in the
14 ## top-level directory of the distribution or, alternatively, at
15 ## <http://www.OpenLDAP.org/license.html>.
16
17 include         @SCHEMADIR@/core.schema
18 include         @SCHEMADIR@/cosine.schema
19 include         @SCHEMADIR@/inetorgperson.schema
20 include         @SCHEMADIR@/openldap.schema
21 include         @SCHEMADIR@/nis.schema
22 pidfile         @TESTDIR@/slapd.1.pid
23 argsfile        @TESTDIR@/slapd.1.args
24
25 # global ACLs
26 #
27 # normal installations should protect root dse, cn=monitor, cn=subschema
28 #
29
30 access          to dn.exact="" attrs=objectClass
31                 by users read
32 access          to *
33                 by * read
34
35 #mod#modulepath ../servers/slapd/back-@BACKEND@/
36 #mod#moduleload back_@BACKEND@.la
37 #monitormod#modulepath ../servers/slapd/back-monitor/
38 #monitormod#moduleload back_monitor.la
39
40 #######################################################################
41 # database definitions
42 #######################################################################
43
44 database        @BACKEND@
45 #ldbm#cachesize 0
46 suffix          "dc=example,dc=com"
47 directory       @TESTDIR@/db.1.a
48 rootdn          "cn=Manager,dc=example,dc=com"
49 rootpw          secret
50 #bdb#index              objectClass     eq
51 #bdb#index              cn,sn,uid       pres,eq,sub
52 #hdb#index              objectClass     eq
53 #hdb#index              cn,sn,uid       pres,eq,sub
54 #ldbm#index             objectClass     eq
55 #ldbm#index             cn,sn,uid       pres,eq,sub
56
57 #access         to attrs=objectclass dn.subtree="dc=example,dc=com"
58 access          to attrs=objectclass
59                 by * =rsc stop
60
61 #access         to filter="(objectclass=person)" attrs=userpassword dn.subtree="dc=example,dc=com"
62 access          to filter="(objectclass=person)" attrs=userpassword
63                 by anonymous auth
64                 by self =wx
65
66 access          to dn.exact="cn=Mark Elliot,ou=Alumni Association,ou=People,dc=example,dc=com"
67                         attrs=cn val="Mark A Elliot"
68                 by dn="cn=Barbara Jensen,ou=Information Technology Division,ou=People,dc=example,dc=com" read
69                 by * break
70
71 access          to dn.exact="cn=Mark Elliot,ou=Alumni Association,ou=People,dc=example,dc=com"
72                         attrs=cn val="Mark Elliot"
73                 by dn="cn=Bjorn Jensen,ou=Information Technology Division,ou=People,dc=example,dc=com" read
74                 by * break
75
76 access          to dn.exact="cn=Mark Elliot,ou=Alumni Association,ou=People,dc=example,dc=com"
77                         attrs=cn
78                 by * search
79
80 access          to dn.exact="cn=John Doe,ou=Information Technology Division,ou=People,dc=example,dc=com"
81                         attrs=cn val.regex="^John D.+"
82                 by dn="cn=Barbara Jensen,ou=Information Technology Division,ou=People,dc=example,dc=com" read
83                 by * break
84
85 access          to dn.exact="cn=John Doe,ou=Information Technology Division,ou=People,dc=example,dc=com"
86                         attrs=cn val.regex="^Jonath.+"
87                 by dn="cn=Bjorn Jensen,ou=Information Technology Division,ou=People,dc=example,dc=com" read
88                 by * break
89
90 access          to dn.exact="cn=John Doe,ou=Information Technology Division,ou=People,dc=example,dc=com"
91                         attrs=cn
92                 by * search
93
94 access          to dn.onelevel="ou=Information Technology Division,ou=People,dc=example,dc=com"
95                         filter="(cn=*Jensen)"
96                         attrs=cn val.regex=".*Jensen$"
97                 by dn="cn=Barbara Jensen,ou=Information Technology Division,ou=People,dc=example,dc=com" read
98                 by dn="cn=Bjorn Jensen,ou=Information Technology Division,ou=People,dc=example,dc=com" read
99                 by * break
100
101 access          to dn.exact="cn=Bjorn Jensen,ou=Information Technology Division,ou=People,dc=example,dc=com"
102                         attrs=cn
103                 by * search
104
105 access          to dn.children="ou=Alumni Association,ou=People,dc=example,dc=com"
106                 by dn.regex=".+,dc=example,dc=com" +c continue
107                 by dn.subtree="dc=example,dc=com" +rs continue
108                 by dn.children="dc=example,dc=com" +d continue
109                 by * stop
110
111 #access         to attrs=member,uniquemember dn.subtree="dc=example,dc=com"
112 access          to attrs=member,uniquemember
113                 by dn.exact="cn=James A Jones 1,ou=Alumni Association,ou=People,dc=example,dc=com" selfwrite
114                 by dnattr=member selfwrite
115                 by dnattr=uniquemember selfwrite
116                 by * read
117
118 #access         to attrs=member,uniquemember filter="(mail=*com)" dn.subtree="dc=example,dc=com"
119 access          to attrs=member,uniquemember filter="(mail=*com)"
120                 by * read
121
122 #access         to filter="(|(objectclass=groupofnames)(objectClass=groupofuniquenames))" dn.subtree="dc=example,dc=com"
123 access          to filter="(|(objectclass=groupofnames)(objectClass=groupofuniquenames))"
124                 by dn.exact="cn=Bjorn Jensen,ou=Information Technology Division,ou=People,dc=example,dc=com" =sc continue
125                 by dn.regex="^cn=Bjorn Jensen,ou=Information Technology Division,ou=People,dc=example,dc=com$" +rw stop
126                 by * break
127
128 access          to dn.children="ou=Information Technology Division,ou=People,dc=example,dc=com"
129                 by group/groupOfUniqueNames/uniqueMember.exact="cn=ITD Staff,ou=Groups,dc=example,dc=com" write
130                 by * read
131
132 access          to dn.exact="cn=Alumni Assoc Staff,ou=Groups,dc=example,dc=com"
133                 by set="[cn=Alumni Assoc Staff,ou=Groups,dc=example,dc=com]/member* & user" write
134                 by * read
135
136 #access         to filter="(name=X*Y*Z)" dn.subtree="dc=example,dc=com"
137 access          to filter="(name=X*Y*Z)"
138                 by * continue
139
140 access          to dn.subtree="ou=Add & Delete,dc=example,dc=com"
141                 by dn.exact="cn=Bjorn Jensen,ou=Information Technology Division,ou=People,dc=example,dc=com" add
142                 by dn.exact="cn=Barbara Jensen,ou=Information Technology Division,ou=People,dc=example,dc=com" delete
143                 by dn.exact="cn=James A Jones 1,ou=Alumni Association,ou=People,dc=example,dc=com" write
144                 by * read
145
146 # fall into global ACLs
147
148 #monitor#database       monitor