Migrando de Samba 3 + OpenLDAP + LAM a algo más nuevo Samba 4 + Openldap  + FusionDirectory, encontré un problema en FusionDirectory con los grupos que no me permitía asignar un grupo a un determinado usuario o borrar determinado grupo a un usuario desde la interfaz web.

FusionDirectory presenta el error:

Error: Object class violation (attribute ‘displayName’ not allowed, while operating on ‘cn=DomainAdmins,ou=Groups,dc=example,dc=com’ using LDAP server ‘ldap://localhost:389’)

El problema era que el grupo carecía de algunos atributos, eso lo determiné al revisar otros grupos que si funcionaban y crear uno nuevo para ver su estructura, adicionalmente modifiqué el usuario que creó el grupo.

Al objeto ‘cn=DomainAdmins,ou=Groups,dc=example,dc=com’ le agregué los atributos (creando un archivo ldif con el objeto original, borrando con ldapremove y realizando un ldapadd con lo nuevo):

structuralObjectClass: posixGroup
objectClass: posixGroup
objectClass: top

Y modifiqué:

creatorsName: cn=Administrador,dc=example,dc=com

por:

creatorsName: cn=admin,dc=example,dc=com

Hechos estos cambios no se presentaron más problemas con ese grupo particular. O al menos, eso pensaba…

Encontré otro grupo que presentaba el mismo error, sin embargo en éste caso el grupo ya contaba con todos los atributos de la primera solución:

dn: cn=DomainUsers,ou=Groups,dc=example,dc=com
objectClass: sambaGroupMapping
objectClass: posixGroup
displayName: Domain users
sambaGroupType: 2
sambaSID: S-1-5-21-*********************…etc…
description: Usuarios de Dominio
gidNumber: 20001
cn: DomainUsers
structuralObjectClass: posixGroup
entryUUID: 76cdadfa-*********************…etc…
creatorsName: cn=Administrador,dc=example,dc=com
createTimestamp: 20080718175534Z
entryCSN: 20140226180218…etc…
modifiersName: cn=Administrador,dc=example,dc=com
modifyTimestamp: 20140226180218Z

Pensaba que faltaba corregir: modifiersName: cn=Administrador,dc=example,dc=com por cn=admin pero éso no solucionó el error.

Entonces, reorganicé las propiedades del objeto del mismo modo que otro grupo que sí funcionaba:

dn: cn=DomainUsers,ou=Groups,dc=example,dc=com
cn: DomainUsers
gidNumber: 20001
description: Usuarios de Dominio
sambaGroupType: 2
displayName: Domain users
structuralObjectClass: posixGroup
entryUUID: 76cdadfa-*********************…etc…
creatorsName: cn=admin,dc=example,dc=com
createTimestamp: 20080718175534Z
sambaSID: S-1-5-21-*********************…etc…
objectClass: posixGroup
objectClass: top
objectClass: sambaGroupMapping
entryCSN: 20140226180218…etc…
modifiersName: cn=admin,dc=example,dc=com
modifyTimestamp: 20150827190904Z
Realicé un slapcat > backup.ldif, detuve ldap, modifiqué la nueva organización y luego restauré con slapadd -l backup.ldif

Y ahora el error no se presenta más para éste otro grupo.