View | Details | Raw Unified | Return to bug 39345 | Differences between
and this patch

Collapse All | Expand All

(-)a/management/univention-ldap/conffiles/etc/ldap/slapd.conf.d/40univention-ldap-server_database (-4 / +15 lines)
 Lines 2-7    Link Here 
2
modulepath	/usr/lib/ldap
2
modulepath	/usr/lib/ldap
3
moduleload	back_@%@ldap/database/type@%@.so
3
moduleload	back_@%@ldap/database/type@%@.so
4
@!@
4
@!@
5
import ldap
6
7
def print_checked_base(confpart):
8
	if not ldap.dn.is_dn(configRegistry['ldap/base']):
9
		import sys
10
		errmsg = '#Error: ucr key ‘ldap/base’ is not a valid dn!'
11
		print >>sys.stderr, errmsg
12
		print errmsg
13
		print '#', # quote the following template line
14
	print confpart
15
5
if configRegistry.get('ldap/translogfile'):
16
if configRegistry.get('ldap/translogfile'):
6
	print "moduleload\ttranslog.so"
17
	print "moduleload\ttranslog.so"
7
if configRegistry.is_true('ldap/k5pwd', True):
18
if configRegistry.is_true('ldap/k5pwd', True):
 Lines 16-22   print 'moduleload\tconstraint.so' Link Here 
16
27
17
print '\n'
28
print '\n'
18
print 'database\t%(ldap/database/type)s' % configRegistry
29
print 'database\t%(ldap/database/type)s' % configRegistry
19
print 'suffix\t\t"%(ldap/base)s"' % configRegistry
30
print_checked_base('suffix\t\t"%(ldap/base)s"' % configRegistry)
20
31
21
print ''
32
print ''
22
if configRegistry.get('ldap/translogfile'):
33
if configRegistry.get('ldap/translogfile'):
 Lines 114-124   for key in configRegistry.get('ldap/limits', '').split(';'): Link Here 
114
125
115
print
126
print
116
if configRegistry['ldap/server/type'] == "master":
127
if configRegistry['ldap/server/type'] == "master":
117
	print 'rootdn\t\t"cn=admin,%(ldap/base)s"' % configRegistry
128
	print_checked_base('rootdn\t\t"cn=admin,%(ldap/base)s"' % configRegistry)
118
elif configRegistry['ldap/server/type'] == "slave":
129
elif configRegistry['ldap/server/type'] == "slave":
119
	print 'rootdn\t\t"cn=update,%s"'%configRegistry['ldap/base']
130
	print_checked_base('rootdn\t\t"cn=update,%s"'%configRegistry['ldap/base'])
120
	print 'include\t\t/etc/ldap/rootpw.conf'
131
	print 'include\t\t/etc/ldap/rootpw.conf'
121
	print 'updatedn\t"cn=update,%s"'%configRegistry["ldap/base"]
132
	print_checked_base('updatedn\t"cn=update,%s"'%configRegistry["ldap/base"])
122
	if configRegistry.is_true("ldap/online/master", True):
133
	if configRegistry.is_true("ldap/online/master", True):
123
		print 'updateref\tldap://%s:%s'% (configRegistry["ldap/master"], configRegistry.get("ldap/master/port", 7389))
134
		print 'updateref\tldap://%s:%s'% (configRegistry["ldap/master"], configRegistry.get("ldap/master/port", 7389))
124
@!@
135
@!@
(-)a/management/univention-ldap/conffiles/etc/ldap/slapd.conf.d/60univention-ldap-server_acl-master (-15 / +25 lines)
 Lines 1-5    Link Here 
1
@!@
1
@!@
2
from univention.lib.misc import custom_username, custom_groupname
2
from univention.lib.misc import custom_username, custom_groupname
3
import ldap
4
5
def print_checked_base(confpart):
6
	if not ldap.dn.is_dn(configRegistry['ldap/base']):
7
		import sys
8
		errmsg = '#Error: ucr key ‘ldap/base’ is not a valid dn!'
9
		print >>sys.stderr, errmsg
10
		print errmsg
11
		print '#', # quote the following template line
12
	print confpart
3
13
4
ldap_base = configRegistry['ldap/base']
14
ldap_base = configRegistry['ldap/base']
5
ldap_port = configRegistry['slapd/port']
15
ldap_port = configRegistry['slapd/port']
 Lines 10-16   users_default_administrator = custom_username('Administrator') Link Here 
10
20
11
print 'authz-regexp'
21
print 'authz-regexp'
12
print '    uid=([^,]*),cn=(gssapi|saml),cn=auth'
22
print '    uid=([^,]*),cn=(gssapi|saml),cn=auth'
13
print '    ldap:///%s??sub?uid=$1' % (ldap_base,)
23
print_checked_base('    ldap:///%s??sub?uid=$1' % (ldap_base,))
14
print
24
print
15
25
16
print 'access to attrs=uid value=root by * none stop'
26
print 'access to attrs=uid value=root by * none stop'
 Lines 20-26   print ' by anonymous auth' Link Here 
20
print '    by * none break'
30
print '    by * none break'
21
print ''
31
print ''
22
32
23
print 'access to dn="cn=admin,%s"' % (ldap_base)
33
print_checked_base('access to dn="cn=admin,%s"' % (ldap_base))
24
print '    by self %s' % (usr)
34
print '    by self %s' % (usr)
25
print '    by * none'
35
print '    by * none'
26
print ''
36
print ''
 Lines 28-66   print '' Link Here 
28
print 'access to *'
38
print 'access to *'
29
print '    by sockname="PATH=/var/run/slapd/ldapi" %s' % (usr)
39
print '    by sockname="PATH=/var/run/slapd/ldapi" %s' % (usr)
30
if configRegistry['ldap/server/type'] == "slave":
40
if configRegistry['ldap/server/type'] == "slave":
31
	print '    by dn.base="cn=admin,%s" %s' % (ldap_base, usr)
41
	print_checked_base('    by dn.base="cn=admin,%s" %s' % (ldap_base, usr))
32
print '    by dn.base="uid=%s,cn=users,%s" %s' % (users_default_administrator, ldap_base, usr)
42
print_checked_base('    by dn.base="uid=%s,cn=users,%s" %s' % (users_default_administrator, ldap_base, usr))
33
print '    by * none break'
43
print '    by * none break'
34
print ''
44
print ''
35
45
36
print 'access to dn="uid=%s,cn=users,%s"' % (users_default_administrator, ldap_base)
46
print_checked_base('access to dn="uid=%s,cn=users,%s"' % (users_default_administrator, ldap_base))
37
print '    by group/univentionGroup/uniqueMember="cn=%s,cn=groups,%s" %s' % (groups_default_domainadmins, ldap_base, usr)
47
print_checked_base('    by group/univentionGroup/uniqueMember="cn=%s,cn=groups,%s" %s' % (groups_default_domainadmins, ldap_base, usr))
38
if configRegistry['ldap/server/type'] == "slave":
48
if configRegistry['ldap/server/type'] == "slave":
39
	print '    by dn.base="cn=admin,%s" %s' % (ldap_base, usr)
49
	print_checked_base('    by dn.base="cn=admin,%s" %s' % (ldap_base, usr))
40
print '    by self %s' % (usr)
50
print '    by self %s' % (usr)
41
print '    by * +0 break'
51
print '    by * +0 break'
42
print ''
52
print ''
43
53
44
print 'access to dn="uid=join-backup,cn=users,%s"' % (ldap_base)
54
print_checked_base('access to dn="uid=join-backup,cn=users,%s"' % (ldap_base))
45
print '    by group/univentionGroup/uniqueMember="cn=%s,cn=groups,%s" %s' % (groups_default_domainadmins, ldap_base, usr)
55
print_checked_base('    by group/univentionGroup/uniqueMember="cn=%s,cn=groups,%s" %s' % (groups_default_domainadmins, ldap_base, usr))
46
if configRegistry['ldap/server/type'] == "slave":
56
if configRegistry['ldap/server/type'] == "slave":
47
	print '    by dn.base="cn=admin,%s" %s' % (ldap_base, usr)
57
	print_checked_base('    by dn.base="cn=admin,%s" %s' % (ldap_base, usr))
48
print '    by self %s' % (usr)
58
print '    by self %s' % (usr)
49
print '    by * +0 break'
59
print '    by * +0 break'
50
print ''
60
print ''
51
61
52
print 'access to dn="uid=join-slave,cn=users,%s"' % (ldap_base)
62
print_checked_base('access to dn="uid=join-slave,cn=users,%s"' % (ldap_base))
53
print '    by group/univentionGroup/uniqueMember="cn=%s,cn=groups,%s" %s' % (groups_default_domainadmins, ldap_base, usr)
63
print_checked_base('    by group/univentionGroup/uniqueMember="cn=%s,cn=groups,%s" %s' % (groups_default_domainadmins, ldap_base, usr))
54
if configRegistry['ldap/server/type'] == "slave":
64
if configRegistry['ldap/server/type'] == "slave":
55
	print '    by dn.base="cn=admin,%s" %s' % (ldap_base, usr)
65
	print_checked_base('    by dn.base="cn=admin,%s" %s' % (ldap_base, usr))
56
print '    by self %s' % (usr)
66
print '    by self %s' % (usr)
57
print '    by * +0 break'
67
print '    by * +0 break'
58
print ''
68
print ''
59
69
60
print 'access to attrs=entry,objectClass,uniqueMember,ou,uid,loginShell,homeDirectory,uidNumber,gidNumber,sn,cn,gecos,description,memberUid'
70
print 'access to attrs=entry,objectClass,uniqueMember,ou,uid,loginShell,homeDirectory,uidNumber,gidNumber,sn,cn,gecos,description,memberUid'
61
print '    by group/univentionGroup/uniqueMember="cn=%s,cn=groups,%s" %s' % (groups_default_domainadmins, ldap_base, usr)
71
print_checked_base('    by group/univentionGroup/uniqueMember="cn=%s,cn=groups,%s" %s' % (groups_default_domainadmins, ldap_base, usr))
62
if configRegistry['ldap/server/type'] == "slave":
72
if configRegistry['ldap/server/type'] == "slave":
63
	print '    by dn.base="cn=admin,%s" %s' % (ldap_base, usr)
73
	print_checked_base('    by dn.base="cn=admin,%s" %s' % (ldap_base, usr))
64
print '    by * +0 break'
74
print '    by * +0 break'
65
print ''
75
print ''
66
76
(-)a/management/univention-ldap/conffiles/etc/ldap/slapd.conf.d/62univention-ldap-server_acl-portal (-6 / +22 lines)
 Lines 1-9    Link Here 
1
access to dn="cn=portal,cn=univention,@%@ldap/base@%@" attrs=children
1
@!@
2
	by dn.onelevel="cn=dc,cn=computers,@%@ldap/base@%@" write
2
import ldap
3
	by dn.onelevel="cn=memberserver,cn=computers,@%@ldap/base@%@" write
3
4
def print_checked_base(confpart):
5
	if not ldap.dn.is_dn(configRegistry['ldap/base']):
6
		import sys
7
		errmsg = '#Error: ucr key ‘ldap/base’ is not a valid dn!'
8
		print >>sys.stderr, errmsg
9
		print errmsg
10
		print '#', # quote the following template line
11
	print confpart
12
13
print_checked_base(
14
'''
15
access to dn="cn=portal,cn=univention,%(base)s" attrs=children
16
	by dn.onelevel="cn=dc,cn=computers,%(base)s" write
17
	by dn.onelevel="cn=memberserver,cn=computers,%(base)s" write
4
	by * +0 break
18
	by * +0 break
5
19
6
access to dn.children="cn=portal,cn=univention,@%@ldap/base@%@" attrs=entry,@univentionObject,@univentionPortalEntry,@univentionPortal
20
access to dn.children="cn=portal,cn=univention,%(base)s" attrs=entry,@univentionObject,@univentionPortalEntry,@univentionPortal
7
	by dn.onelevel="cn=dc,cn=computers,@%@ldap/base@%@" write
21
	by dn.onelevel="cn=dc,cn=computers,%(base)s" write
8
	by dn.onelevel="cn=memberserver,cn=computers,@%@ldap/base@%@" write
22
	by dn.onelevel="cn=memberserver,cn=computers,%(base)s" write
9
	by * +0 break
23
	by * +0 break
24
''' % {'base': configRegistry['ldap/base']}
25
@!@

Return to bug 39345