13.5. The /etc/openldap/schema/ Directory
The
/etc/openldap/schema/
directory holds LDAP definitions, previously located in the slapd.at.conf
and slapd.oc.conf
files. The /etc/openldap/schema/redhat/
directory holds customized schemas distributed by Red Hat for Red Hat Enterprise Linux.
All attribute syntax definitions and objectclass definitions are now located in the different schema files. The various schema files are referenced in
/etc/openldap/slapd.conf
using include
lines, as shown in this example:
include /etc/openldap/schema/core.schema include /etc/openldap/schema/cosine.schema include /etc/openldap/schema/inetorgperson.schema include /etc/openldap/schema/nis.schema include /etc/openldap/schema/rfc822-MailMember.schema include /etc/openldap/schema/redhat/autofs.schema
Warning
Do not modify schema items defined in the schema files installed by OpenLDAP.
It is possible to extend the schema used by OpenLDAP to support additional attribute types and object classes using the default schema files as a guide. To do this, create a
local.schema
file in the /etc/openldap/schema/
directory. Reference this new schema within slapd.conf
by adding the following line below the default include
schema lines:
include /etc/openldap/schema/local.schema
Next, define new attribute types and object classes within the
local.schema
file. Many organizations use existing attribute types from the schema files installed by default and add new object classes to the local.schema
file.
Extending the schema to match certain specialized requirements is quite involved and beyond the scope of this chapter. Refer to http://www.openldap.org/doc/admin/schema.html for information.