Home | History | Annotate | Line # | Download | only in schema
openldap.ldif revision 1.1.1.4
      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.4   tron ## Copyright 1998-2014 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