Problème sur OpenLDAP avec des overlays multiples

Version française

Récemment nous avons eu des soucis curieux sur un annuaire OpenLDAP.

Lors de la création d'une entrée, le message d'erreur était :

adding new entry "uid=GFR6285008,ou=users,dc=example,dc=com"
ldap_add: Constraint violation (19)
    additional info: attribute 'pwdChangedTime' cannot have multiple values

L'overlay ppolicy est en place, et une politique par défaut existe. Le message n'apparaît pas lorsque l'on modifie une entrée.

Par contre, il est également impossible de modifier l'objet définissant la politique de mot de passe par défaut : via un ldapmodify, la commande reste en suspens, sans message dans les logs.

Après investigation, j'ai trouvé des choses curieuses dans le répertoire /etc/openldap/slapd.d/cn=config/olcDatabase={2}hdb :

ls /etc/openldap/slapd.d/cn=config/olcDatabase={2}hdb
olcOverlay={0}memberof.ldif  olcOverlay={1}refint.ldif  olcOverlay={2}ppolicy.ldif  olcOverlay={3}syncprov.ldif
olcOverlay={4}memberof.ldif  olcOverlay={5}refint.ldif  olcOverlay={6}ppolicy.ldif  olcOverlay={7}syncprov.ldif

Les définitions des overlays étaient toutes doublées. Mauvaise manipulation ? copie hasardeuse de fichiers ?

Une fois la situation clarifiée, en supprimant les doublons, le message d'erreur a disparu.

English version - Issue on OpenLDAP with duplicate overlays definitions

Recently, we had some curious issues with an OpenLDAP instance.

When creating a new entry, we had an error message of Constraint Violation :

adding new entry "uid=GFR6285008,ou=users,dc=example,dc=com"
ldap_add: Constraint violation (19)
    additional info: attribute 'pwdChangedTime' cannot have multiple values

The ppolicy overlay is in place, and there is a default password policy. The message does not show when we modify an entry.

It is also impossible to change the LDAP object which defines the defaut password policy: when using ldapmodify, the command hangs, and nothing special shows in the log file.

After some research, I found some curious things in the directory /etc/openldap/slapd.d/cn=config/olcDatabase={2}hdb :

ls /etc/openldap/slapd.d/cn=config/olcDatabase={2}hdb
olcOverlay={0}memberof.ldif  olcOverlay={1}refint.ldif  olcOverlay={2}ppolicy.ldif  olcOverlay={3}syncprov.ldif
olcOverlay={4}memberof.ldif  olcOverlay={5}refint.ldif  olcOverlay={6}ppolicy.ldif  olcOverlay={7}syncprov.ldif

Overlays definitions for our dabase where duplicated. Was it due to a bad copy or command?

Once we cleared duplicate files, error message didn't show, and we were able to create an entry without problem.

 

Catégorie