openldap.ldif revision 1.1.1.10 1 1.1.1.4 tron # $OpenLDAP$
2 1.1 lukem ## This work is part of OpenLDAP Software <http://www.openldap.org/>.
3 1.1 lukem ##
4 1.1.1.10 christos ## Copyright 1998-2024 The OpenLDAP Foundation.
5 1.1 lukem ## All rights reserved.
6 1.1 lukem ##
7 1.1 lukem ## Redistribution and use in source and binary forms, with or without
8 1.1 lukem ## modification, are permitted only as authorized by the OpenLDAP
9 1.1 lukem ## Public License.
10 1.1 lukem ##
11 1.1 lukem ## A copy of this license is available in the file LICENSE in the
12 1.1 lukem ## top-level directory of the distribution or, alternatively, at
13 1.1 lukem ## <http://www.OpenLDAP.org/license.html>.
14 1.1 lukem #
15 1.1 lukem #
16 1.1 lukem # OpenLDAP Project's directory schema items
17 1.1 lukem #
18 1.1 lukem # depends upon:
19 1.1 lukem # core.schema
20 1.1 lukem # cosine.schema
21 1.1 lukem # inetorgperson.schema
22 1.1 lukem #
23 1.1 lukem # These are provided for informational purposes only.
24 1.1 lukem #
25 1.1 lukem # This openldap.ldif file is provided as a demonstration of how to
26 1.1 lukem # convert a *.schema file into *.ldif format. The key points:
27 1.1 lukem # In LDIF, a blank line terminates an entry. Blank lines in a *.schema
28 1.1 lukem # file should be replaced with a single '#' to turn them into
29 1.1 lukem # comments, or they should just be removed.
30 1.1 lukem # In addition to the actual schema directives, the file needs a small
31 1.1 lukem # header to make it a valid LDAP entry. This header must provide the
32 1.1 lukem # dn of the entry, the objectClass, and the cn, as shown here:
33 1.1 lukem #
34 1.1 lukem dn: cn=openldap,cn=schema,cn=config
35 1.1 lukem objectClass: olcSchemaConfig
36 1.1 lukem cn: openldap
37 1.1 lukem #
38 1.1 lukem # The schema directives need to be changed to LDAP Attributes.
39 1.1 lukem # First a basic string substitution can be done on each of the keywords:
40 1.1 lukem # objectIdentifier -> olcObjectIdentifier:
41 1.1 lukem # objectClass -> olcObjectClasses:
42 1.1 lukem # attributeType -> olcAttributeTypes:
43 1.1 lukem # Then leading whitespace must be fixed. The slapd.conf format allows
44 1.1 lukem # tabs or spaces to denote line continuation, while LDIF only allows
45 1.1 lukem # the space character.
46 1.1 lukem # Also slapd.conf preserves the continuation character, while LDIF strips
47 1.1 lukem # it out. So a single TAB/SPACE in slapd.conf must be replaced with
48 1.1 lukem # two SPACEs in LDIF, otherwise the continued text may get joined as
49 1.1 lukem # a single word.
50 1.1 lukem # The directives must be listed in a proper sequence:
51 1.1 lukem # All olcObjectIdentifiers must be first, so they may be referenced by
52 1.1 lukem # any following definitions.
53 1.1 lukem # All olcAttributeTypes must be next, so they may be referenced by any
54 1.1 lukem # following objectClass definitions.
55 1.1 lukem # All olcObjectClasses must be after the olcAttributeTypes.
56 1.1 lukem # And of course, any superior must occur before anything that inherits
57 1.1 lukem # from it.
58 1.1 lukem #
59 1.1 lukem olcObjectIdentifier: OpenLDAProot 1.3.6.1.4.1.4203
60 1.1 lukem #
61 1.1 lukem olcObjectIdentifier: OpenLDAP OpenLDAProot:1
62 1.1 lukem olcObjectIdentifier: OpenLDAPattributeType OpenLDAP:3
63 1.1 lukem olcObjectIdentifier: OpenLDAPobjectClass OpenLDAP:4
64 1.1 lukem #
65 1.1 lukem olcObjectClasses: ( OpenLDAPobjectClass:3
66 1.1 lukem NAME 'OpenLDAPorg'
67 1.1 lukem DESC 'OpenLDAP Organizational Object'
68 1.1 lukem SUP organization
69 1.1 lukem MAY ( buildingName $ displayName $ labeledURI ) )
70 1.1 lukem #
71 1.1 lukem olcObjectClasses: ( OpenLDAPobjectClass:4
72 1.1 lukem NAME 'OpenLDAPou'
73 1.1 lukem DESC 'OpenLDAP Organizational Unit Object'
74 1.1 lukem SUP organizationalUnit
75 1.1 lukem MAY ( buildingName $ displayName $ labeledURI $ o ) )
76 1.1 lukem #
77 1.1 lukem olcObjectClasses: ( OpenLDAPobjectClass:5
78 1.1 lukem NAME 'OpenLDAPperson'
79 1.1 lukem DESC 'OpenLDAP Person'
80 1.1 lukem SUP ( pilotPerson $ inetOrgPerson )
81 1.1 lukem MUST ( uid $ cn )
82 1.1 lukem MAY ( givenName $ labeledURI $ o ) )
83 1.1 lukem #
84 1.1 lukem olcObjectClasses: ( OpenLDAPobjectClass:6
85 1.1 lukem NAME 'OpenLDAPdisplayableObject'
86 1.1 lukem DESC 'OpenLDAP Displayable Object'
87 1.1 lukem AUXILIARY
88 1.1 lukem MAY displayName )
89