Ajouter un overlay
Les overlay peuvent être compilés de façon statique dans le code de l’annuaire OpenLDAP ou bien chargés par l’intermédiaire d’un module à activer. Bien que la plupart des overlay ne soient applicables qu’au niveau des bases de données locales de l’annuaire (DIT), certains sont également applicables au niveau de la configuration globale de l’annuaire dans l’entrée :
dn: olcDatabase={-1}frontend,cn=config
Cela signifie qu’ils peuvent être exécutés une fois qu’une demande a été analysée et validée et donc avant que cette requête ne soit traitée par la base de données appropriée.
1. Vérification de son existence dans l’annuaire
Avant de charger un overlay, il faut tout d’abord s’assurer qu’il existe dans la version qui a été installée sur votre serveur. Pour ce faire, il faut se rendre dans le répertoire /usr/lib64/openldap et regarder la liste des fichiers "*.la".
[root@ldap01 tmp]# cd /usr/lib64/openldap/ 
[root@ldap01 openldap]# ls -lrt 
total 720 
-rwxr-xr-x. 1 root root  1068 Jun 18  2014 auditlog.la 
-rwxr-xr-x. 1 root root  1074 Jun 18  2014 accesslog.la 
-rwxr-xr-x. 1 root root  1050 Jun 18  2014 deref.la 
-rwxr-xr-x. 1 root root  1038 Jun 18  2014 dds.la 
-rwxr-xr-x. 1 root root  1080 Jun 18  2014 constraint.la 
-rwxr-xr-x. 1 root root  1062 Jun 18  2014 collect.la 
. . .
¬
L’information concernant le répertoire où se trouvent les fichiers des modules peut se trouver dans l’entrée cn=module{0},cn=config.
2. Charger le module de l’overlay dans l’annuaire
Une fois cette validation faite, il est temps de charger le module de l’overlay comme dans l’exemple ci-dessous :
[root@ldap01 ldif_files]# ldapmodify -h localhost -D "cn=config" 
-W -f ppolicymodule.ldif 
Enter LDAP Password:  
modifying entry "cn=module{0},cn=config" 
 
# Avec dans le fichier ’ ppolicymodule.ldif’ : 
 
[root@ldap01 ldif_files]# cat ppolicymodule.ldif 
dn: cn=module{0},cn=config 
changetype: modify 
add: olcModuleLoad 
olcModuleLoad: ppolicy.la
3. Créer un overlay pour la base de données désirée
Il est temps maintenant d’associer cet overlay à la base de données (DIT) désirée. 
Exemple
[root@ldap01 ldif_files]# ldapmodify -h ldap01 -D "cn=config" -W  
-a -f ppolicyoverlay.ldif 
Enter LDAP Password:  
adding new entry "olcOverlay=ppolicy,olcDatabase={1}bdb,cn=config" 
 
with ppolicyoverlay.ldif : 
dn: olcOverlay=ppolicy,olcDatabase={1}bdb,cn=config 
objectClass: olcOverlayConfig 
objectClass: olcPPolicyConfig 
olcOverlay: ppolicy 
olcPPolicyDefault: cn=passwordDefault,ou=Policies,dc=exemple,dc=com 
olcPPolicyHashCleartext: FALSE 
olcPPolicyUseLockout: FALSE 
olcPPolicyForwardUpdates: FALSE
¬
Ce type de message d’erreur ci-dessous arrive lorsque le module de l’overlay n’a pas été chargé auparavant.
[root@ldap01 tmp]# ldapadd -h localhost -D cn=config -W -f ppolicyoverlay.ldif 
Enter LDAP Password: 
adding new entry "olcOverlay=ppolicy,olcDatabase={1}bdb,cn=config" 
ldap_add: Invalid syntax (21) 
        additional info: objectClass: value #1 invalid per syntax 
[root@ldap01 tmp]#