1 votos

No se pueden añadir atributos personalizados en OpenLDAP

Me gustaría añadir atributos personalizados en OpenLDAP pero quizás no entiendo el concepto. Lo que he hecho ha sido:

He creado el custom.schema

attributetype ( 1.3.6.1.4.1.4203.666.100.122
        NAME ( 'dateOfBirth' )
        SUP name
        )

attributetype ( 1.3.6.1.4.1.4203.666.100.123
        NAME ( 'IPPhone' )
        SUP name
        )

objectclass     ( 1.3.6.1.4.1.4203.666.100.1
    NAME 'customAttributes'
        DESC 'Custom attributes class'
    )

He añadido a slapd.conf

include         /usr/local/etc/openldap/schema/custom.schema

Y ahora me gustaría asignar esta clase de objeto a cada uid que tengo en la base de datos actual. Así que volqué la db, añadí el atributo objectclass a algún uid, y al importar el LDIF, ldap dice:

65) invalid structural object class chain (inetOrgPerson/customAttributes)

La entrada LDIF es así:

dn: dc=sss,dc=com
objectClass: top
objectClass: dcObject
objectClass: organization
o: sss.com
dc: sss
structuralObjectClass: organization

dn: ou=People,dc=sss,dc=com
objectClass: organizationalUnit
ou: People
structuralObjectClass: organizationalUnit

dn: uid=zzz,ou=People,dc=sss,dc=com
objectClass: posixAccount
objectClass: inetOrgPerson
objectClass: organizationalPerson
objectClass: person
objectClass: customAttributes
structuralObjectClass: inetOrgPerson
...

¿Podría navegar por favor cómo puedo añadir esos atributos personalizados?

5voto

WildJoe Puntos 2515

Se desprende de la cadena de clases de objetos estructurales no válida error que hay una violación de la regla STRUCTURAL objectClass. Sin una declaración en contrario, tu objectClass customAttributes está siendo vista como una objectClass STRUCTURAL, lo cual no puede ser y seguir funcionando junto con inetOrgPerson. Te recomendaría que intentaras cambiar tu esquema por algo parecido a lo siguiente:

objectclass     ( 1.3.6.1.4.1.4203.666.100.1
    NAME 'customAttributes'
    AUXILIARY
    DESC 'Custom attributes class'
    MAY (dateofBirth $ IPPhone)
)

Para una mayor explicación, yo leería sobre las causas comunes de los errores en el Guía LDAP . Más allá de eso, una mirada superficial del esquema que está tratando de crear podría utilizar un poco más de pensamiento en la organización. Normalmente es aconsejable tener las entidades objectClass bajo un árbol y las entidades attributeType bajo otro para evitar confusiones y colisiones.

1voto

uSlackr Puntos 5287

su nueva clase de objeto debe hacer referencia a los nuevos atributos. Normalmente se hace como una cláusula MAY

objectclass     ( 1.3.6.1.4.1.4203.666.100.1
    NAME 'customAttributes'
    DESC 'Custom attributes class'
    MAY (dateofBirth $ IPPhone)
)

Puede haber otros requisitos. La página web Guía de administración de OpenLDAP es el mejor lugar para empezar. aquí está el Información de la clase

0voto

Valentin Puntos 532

¿Modificaste el esquema de acuerdo con los mensajes anteriores? Y, además, ¿el archivo .schema es legible y tiene los permisos correctos?

¿Da el syslog (o el archivo de registro del slapd) algún error al reiniciar?

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: