########################################################
## define the gosa configuration stuff;
## prepare 2 departments: teachers and students;
## define 2 groups: teachers and students;  
## define templates to add a teacher or a student.
## define access roles: admin-role, and jradmin-role
## define access group: gosa-admins
########################################################
## gosa-config:

# Already crated by root.ldif
#dn: ou=systems,dc=skole,dc=skolelinux,dc=no
#objectClass: organizationalUnit
#ou: systems

dn: ou=configs,ou=systems,dc=skole,dc=skolelinux,dc=no
objectClass: organizationalUnit
ou: configs

dn: ou=gosa,ou=configs,ou=systems,dc=skole,dc=skolelinux,dc=no
objectClass: organizationalUnit
ou: gosa

dn: cn=netgroupSystem,ou=gosa,ou=configs,ou=systems,dc=skole,dc=skolelinux,dc=no
cn: netgroupSystem
objectClass: top
objectClass: gosaConfig
gosaSetting: netgroupSystemRDN:ou=netgroup

###################### Teachers #########################

dn: ou=Teachers,dc=skole,dc=skolelinux,dc=no
objectClass: top
objectClass: organizationalUnit
objectClass: gosaDepartment
objectClass: labeledURIObject
description: all teachers
ou: Teachers

dn: ou=people,ou=Teachers,dc=skole,dc=skolelinux,dc=no
objectClass: organizationalUnit
ou: people

dn: ou=group,ou=Teachers,dc=skole,dc=skolelinux,dc=no
objectClass: organizationalUnit
ou: groups

#
# Groups and user templates for teachers moved to samba.ldif...
# 

#dn: cn=teachers,ou=group,ou=Teachers,dc=skole,dc=skolelinux,dc=no
#objectClass: top
#objectClass: posixGroup
#objectClass: sambaGroupMapping
#cn: teachers
#description: group of all teachers
#gidNumber: 10003
#memberUid: newteacher
#sambaSID: $SAMBASID-21007
#sambaGroupType: 2

## predefine template newteacher:
#dn: uid=newteacher,ou=people,ou=Teachers,dc=skole,dc=skolelinux,dc=no
#objectClass: top
#objectClass: person
#objectClass: organizationalPerson
#objectClass: inetOrgPerson
#objectClass: gosaAccount
#objectClass: gosaUserTemplate
#objectClass: posixAccount
#objectClass: shadowAccount
#objectClass: sambaSamAccount
#sn: NewTeacher
#givenName: NewTeacher
#uid: newteacher
#cn: NewTeacher NewTeacher
#userPassword: {SSHA}N0T$3T4N0W
#homeDirectory: /skole/tjener/home0/%uid
#loginShell: /bin/bash
#uidNumber: 1001
#gidNumber: 1001
#gecos: NewTeacher NewTeacher
#shadowLastChange: 14818
#sambaSID: $SAMBASID-3002
#sambaAcctFlags: [UX          ]
#sambaHomePath: \\tjener\%uid
#sambaHomeDrive: H:
#sambaProfilePath: \\tjener\%uid\.ntprofile
#sambaLogonScript: logon-teachers.bat
#sambaPrimaryGroupSID: $SAMBASID-3003
#sambaDomainName: SKOLELINUX
#sambaMungedDial: IAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAUAAQABoACAABAEMAdAB4AEMAZgBnAFAAcgBlAHMAZQBuAHQANTUxZTBiYjAYAAgAAQBDAHQAeABDAGYAZwBGAGwAYQBnAHMAMQAwMGUwMDAxMBYAAAABAEMAdAB4AEMAYQBsAGwAYgBhAGMAawASAAgAAQBDAHQAeABTAGgAYQBkAG8AdwAwMTAwMDAwMCIAAAABAEMAdAB4AEsAZQB5AGIAbwBhAHIAZABMAGEAeQBvAHUAdAAqAAIAAQBDAHQAeABNAGkAbgBFAG4AYwByAHkAcAB0AGkAbwBuAEwAZQB2AGUAbAAwMCAAAgABAEMAdAB4AFcAbwByAGsARABpAHIAZQBjAHQAbwByAHkAMDAgAAIAAQBDAHQAeABOAFcATABvAGcAbwBuAFMAZQByAHYAZQByADAwGAACAAEAQwB0AHgAVwBGAEgAbwBtAGUARABpAHIAMDAiAAIAAQBDAHQAeABXAEYASABvAG0AZQBEAGkAcgBEAHIAaQB2AGUAMDAgAAIAAQBDAHQAeABXAEYAUAByAG8AZgBpAGwAZQBQAGEAdABoADAwIgACAAEAQwB0AHgASQBuAGkAdABpAGEAbABQAHIAbwBnAHIAYQBtADAwIgACAAEAQwB0AHgAQwBhAGwAbABiAGEAYwBrAE4AdQBtAGIAZQByADAwKAAIAAEAQwB0AHgATQBhAHgAQwBvAG4AbgBlAGMAdABpAG8AbgBUAGkAbQBlADAwMDAwMDAwLgAIAAEAQwB0AHgATQBhAHgARABpAHMAYwBvAG4AbgBlAGMAdABpAG8AbgBUAGkAbQBlADAwMDAwMDAwHAAIAAEAQwB0AHgATQBhAHgASQBkAGwAZQBUAGkAbQBlADAwMDAwMDAw

#dn: cn=newteacher,ou=group,ou=Teachers,dc=skole,dc=skolelinux,dc=no
#objectClass: top
#objectClass: posixGroup
#objectClass: sambaGroupMapping
#cn: newteacher
#description: Group of user newteacher newteacher
#gidNumber: 1001
#sambaSID: $SAMBASID-3003
#sambaGroupType: 2


###################### Students #########################
## ACLs: Teachers have jradmin-role permissions on the students department:
## echo -n cn=jradmin-role,ou=aclroles,dc=skole,dc=skolelinux,dc=no | base64 -w0
## echo -n cn=teachers,ou=group,ou=Teachers,dc=skole,dc=skolelinux,dc=no | base64 -w0
 
dn: ou=Students,dc=skole,dc=skolelinux,dc=no
objectClass: top
objectClass: gosaDepartment
objectClass: organizationalUnit
objectClass: labeledURIObject
description: all students
ou: Students
objectClass: gosaAcl
gosaAclEntry: 0:role:$JRADMINROLEDN64:$TEACHERSDN64

dn: ou=people,ou=Students,dc=skole,dc=skolelinux,dc=no
objectClass: organizationalUnit
ou: people

dn: ou=group,ou=Students,dc=skole,dc=skolelinux,dc=no
objectClass: organizationalUnit
ou: groups

#
# Groups and user templates for students moved to samba.ldif...
# 

#dn: cn=students,ou=group,ou=Students,dc=skole,dc=skolelinux,dc=no
#objectClass: top
#objectClass: posixGroup
#objectClass: sambaGroupMapping
#cn: students
#description: group of all students
#gidNumber: 10004
#memberUid: newstudent
#memberUid: newteacher
#sambaSID: $SAMBASID-21009
#sambaGroupType: 2

## predefine template newstudent:
#dn: uid=newstudent,ou=people,ou=Students,dc=skole,dc=skolelinux,dc=no
#objectClass: top
#objectClass: person
#objectClass: organizationalPerson
#objectClass: inetOrgPerson
#objectClass: gosaAccount
#objectClass: gosaUserTemplate
#objectClass: posixAccount
#objectClass: shadowAccount
#objectClass: sambaSamAccount
#sn: NewStudent
#givenName: NewStudent
#uid: newstudent
#cn: NewStudent NewStudent
#userPassword: {SSHA}N0T$3T4N0W
#homeDirectory: /skole/tjener/home0/%uid
#loginShell: /bin/bash
#uidNumber: 1002
#gidNumber: 1002
#gecos: NewStudent NewStudent
#shadowLastChange: 14818
#sambaSID: $SAMBASID-3002
#sambaAcctFlags: [UX          ]
#sambaHomePath: \\tjener\%uid
#sambaHomeDrive: H:
#sambaProfilePath: \\tjener\%uid\.ntprofile
#sambaLogonScript: logon-students.bat
#sambaPrimaryGroupSID: $SAMBASID-3003
#sambaDomainName: SKOLELINUX
#sambaMungedDial: IAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAUAAQABoACAABAEMAdAB4AEMAZgBnAFAAcgBlAHMAZQBuAHQANTUxZTBiYjAYAAgAAQBDAHQAeABDAGYAZwBGAGwAYQBnAHMAMQAwMGUwMDAxMBYAAAABAEMAdAB4AEMAYQBsAGwAYgBhAGMAawASAAgAAQBDAHQAeABTAGgAYQBkAG8AdwAwMTAwMDAwMCIAAAABAEMAdAB4AEsAZQB5AGIAbwBhAHIAZABMAGEAeQBvAHUAdAAqAAIAAQBDAHQAeABNAGkAbgBFAG4AYwByAHkAcAB0AGkAbwBuAEwAZQB2AGUAbAAwMCAAAgABAEMAdAB4AFcAbwByAGsARABpAHIAZQBjAHQAbwByAHkAMDAgAAIAAQBDAHQAeABOAFcATABvAGcAbwBuAFMAZQByAHYAZQByADAwGAACAAEAQwB0AHgAVwBGAEgAbwBtAGUARABpAHIAMDAiAAIAAQBDAHQAeABXAEYASABvAG0AZQBEAGkAcgBEAHIAaQB2AGUAMDAgAAIAAQBDAHQAeABXAEYAUAByAG8AZgBpAGwAZQBQAGEAdABoADAwIgACAAEAQwB0AHgASQBuAGkAdABpAGEAbABQAHIAbwBnAHIAYQBtADAwIgACAAEAQwB0AHgAQwBhAGwAbABiAGEAYwBrAE4AdQBtAGIAZQByADAwKAAIAAEAQwB0AHgATQBhAHgAQwBvAG4AbgBlAGMAdABpAG8AbgBUAGkAbQBlADAwMDAwMDAwLgAIAAEAQwB0AHgATQBhAHgARABpAHMAYwBvAG4AbgBlAGMAdABpAG8AbgBUAGkAbQBlADAwMDAwMDAwHAAIAAEAQwB0AHgATQBhAHgASQBkAGwAZQBUAGkAbQBlADAwMDAwMDAw

#dn: cn=newstudent,ou=group,ou=Students,dc=skole,dc=skolelinux,dc=no
#objectClass: top
#objectClass: posixGroup
#objectClass: sambaGroupMapping
#cn: newstudent
#description: Group of user newstudent newstudent
#gidNumber: 1002
#sambaSID: $SAMBASID-3005
#sambaGroupType: 2


################### ACL Roles ########################
## define two ACL roles: admin-role and jradmin-role:

dn: ou=aclroles,dc=skole,dc=skolelinux,dc=no
objectClass: organizationalUnit
ou: aclroles

dn: cn=admin-role,ou=aclroles,dc=skole,dc=skolelinux,dc=no
objectClass: top
objectClass: gosaRole
gosaAclTemplate: 0:psub::all;cmdrw
description: nearly unlimited administrative permissions
cn: admin-role

dn: cn=jradmin-role,ou=aclroles,dc=skole,dc=skolelinux,dc=no
objectClass: top
objectClass: gosaRole
gosaAclTemplate: 0:sub::users/user;cmdrw,users/password;rw,users/posixAccount;r,users/sambaAccount;r,groups/group;cmdr#description;w#memberUid;rw
description: limited administrative permissions
cn: jradmin-role

dn: cn=gosa-admins,ou=group,dc=skole,dc=skolelinux,dc=no
objectClass: top
objectClass: posixGroup
cn: gosa-admins
description: GOsa² Administrators
gidNumber: 60000
memberUid: $FIRSTUSERNAME
