OpenLDAP se distribuye con un conjunto de definiciones de schemas que se pueden incluir y utilizar. Este artículo explica cómo incluirlos en la configuración de slpad utilizando OLC (on-line configuration). De todos los esquemas provistos, el único requerido es core.schema, el resto son opcionales o experimentales. Sin embargo, en toda instalación de OpenLDAP típicamente es útil incluir los esquemas cosine e inetorgperson.



Cuando se trabaja con la configuración estática de slapd (archivo slapd.conf), para incluir alguno de estos esquemas basta con agregar una sentencia include con la ruta al mismo dentro del archivo slapd.conf y reiniciar el servicio:

include /usr/local/etc/openldap/schema/core.schema
include /usr/local/etc/openldap/schema/cosine.schema
include /usr/local/etc/openldap/schema/inetorgperson.schema

Sin embargo, cuando se trabaja con la configuración dinámica OLC (cn=config), los schemas se deben incluir mediante un archivo LDIF empleando el utilitario ldapadd. Afortunadamente para cada schema OpenLDAP provee su correspondiente versión en formato LDIF dentro del directorio schema:

root@ldap:~# ls -l /usr/local/etc/openldap/schema/
total 316
-r--r----- 1 ldap ldap  2036 jun 17 13:34 collective.ldif
-r--r----- 1 ldap ldap  6190 jun 17 13:34 collective.schema
-r--r----- 1 ldap ldap  1845 jun 17 13:34 corba.ldif
-r--r----- 1 ldap ldap  8063 jun 17 13:34 corba.schema
-r--r----- 1 ldap ldap 20612 jun 17 13:34 core.ldif
-r--r----- 1 ldap ldap 20499 jun 17 13:34 core.schema
-r--r----- 1 ldap ldap 12006 jun 17 13:34 cosine.ldif
-r--r----- 1 ldap ldap 73994 jun 17 13:34 cosine.schema
-r--r----- 1 ldap ldap  4842 jun 17 13:34 duaconf.ldif
-r--r----- 1 ldap ldap 10388 jun 17 13:34 duaconf.schema
-r--r----- 1 ldap ldap  3330 jun 17 13:34 dyngroup.ldif
-r--r----- 1 ldap ldap  3289 jun 17 13:34 dyngroup.schema
-r--r----- 1 ldap ldap  3481 jun 17 13:34 inetorgperson.ldif
-r--r----- 1 ldap ldap  6267 jun 17 13:34 inetorgperson.schema
-r--r----- 1 ldap ldap  2979 jun 17 13:34 java.ldif
-r--r----- 1 ldap ldap 13901 jun 17 13:34 java.schema
-r--r----- 1 ldap ldap  2082 jun 17 13:34 misc.ldif
-r--r----- 1 ldap ldap  2387 jun 17 13:34 misc.schema
-r--r----- 1 ldap ldap  6809 jun 17 13:34 nis.ldif
-r--r----- 1 ldap ldap  7640 jun 17 13:34 nis.schema
-r--r----- 1 ldap ldap  3308 jun 17 13:34 openldap.ldif
-r--r----- 1 ldap ldap  1514 jun 17 13:34 openldap.schema
-r--r----- 1 ldap ldap  6904 jun 17 13:34 pmi.ldif
-r--r----- 1 ldap ldap 20467 jun 17 13:34 pmi.schema
-r--r----- 1 ldap ldap  4570 jun 17 13:34 ppolicy.ldif
-r--r----- 1 ldap ldap 20489 jun 17 13:34 ppolicy.schema
-r--r----- 1 ldap ldap  3512 jun 17 13:34 README

Por ende, en lugar de utilizar la sentencia include dentro de slapd.conf, se incluye el schema agregando el correspondiente LDIF con ldapadd:

root@ldap:~# ldapadd -f /usr/local/etc/openldap/schema/inetorgperson.ldif -x -D "cn=admin,cn=config" -W
Enter LDAP Password: 
adding new entry "cn=inetorgperson,cn=schema,cn=config"

Como siempre, la ventaja de trabajar con OLC es que no requiere reiniciar el servicio.

Referencias


Tal vez pueda interesarte


Compartí este artículo