servers phpldapadmin gui descargar configurar ldap openldap

phpldapadmin - Agregar una entrada a OpenLDAP



openldap windows (2)

Así que tome las sugerencias que le da slapindex. No ejecute slapd como root, corrija las líneas 95 y 112, y no ejecute slapd dos veces, ni corrija lo que esté causando que piense que la base de datos ya está en uso.

Acabo de instalar OpenLDAP en Ubuntu Server 12.10, y agregué un archivo slapadd -c -l init.ldif usando slapadd -c -l init.ldif como el siguiente:

dn:dc=tpw,dc=uca,dc=ma dc: tpw objectClass: dcObject objectClass: top objectClass: domain dn: ou=people,dc=tpw,dc=uca,dc=ma ou: people objectClass: organizationalUnit objectClass: top dn: ou=groupes,dc=tpw,dc=uca,dc=ma ou: groupes objectClass: organizationalUnit objectClass: top dn: uid=admin,ou=people,dc=tpw,dc=uca,dc=ma uid: admin sn: Admin cn: Admin objectClass: inetOrgPerson objectClass: organizationalPerson objectClass: person objectClass: top userPassword:: e1NIQX0wRFBpS3VOSXJyVm1EOElVQ3V3MWhReE5xWmM9 mail: [email protected] givenName: admin dn: cn=GI,ou=groupes,dc=tpw,dc=uca,dc=ma uniquemember: uid=admin,ou=people,dc=tpw,dc=uca,dc=ma cn: GI objectClass: groupOfUniqueNames objectClass: top dn: cn=GP,ou=groupes,dc=tpw,dc=uca,dc=ma uniquemember: uid=admin,ou=people,dc=tpw,dc=uca,dc=ma cn: GP objectClass: groupOfUniqueNames objectClass: top dn: cn=GT,ou=groupes,dc=tpw,dc=uca,dc=ma uniquemember: uid=admin,ou=people,dc=tpw,dc=uca,dc=ma cn: GT objectClass: groupOfUniqueNames objectClass: top

Ahora mi árbol ldap se ve así:

Luego traté de agregar un nuevo inetOrgPerson usando Apache Directory Studio , pero obtuve este error:

[LDAP: error code 80 - index generation failed]

Luego probé lo mismo usando phpLDAPadmin , pero obtuve este error:

Impossible d''ajouter l''objet au serveur LDAP. LDAP dit :: Other (e.g., implementation specific) error Erreur numéro :: 0x50 (LDAP_OTHER)

Luego creé un archivo que llamé xx.ldif :

dn: uid=xx,ou=people,dc=tpw,dc=uca,dc=ma cn: XX givenname: xx mail: [email protected] objectclass: inetOrgPerson objectclass: organizationalPerson objectclass: person objectclass: top sn: XX uid: xx userpassword: toor

E intenté agregar esta entrada usando este comando a través de terminal:

sudo ldapadd -x -D cn=Manager,dc=tpw,dc=uca,dc=ma -W -f xx.ldif

Pero tengo este error:

ldap_add: Other (e.g., implementation specific) error (80) additional info: index generation failed

Como puedó resolver esté problema ?

PD: en otro caso borré mi base de datos y modifiqué el archivo init.ldif que contiene todas las entradas que quiero agregar, y agregué la entrada xx, luego importé mi archivo usando el comando slapadd, pero de esta manera tengo para eliminar la base de datos cada vez que quiero agregar una nueva entrada, lo cual no es práctico.

Edit1:

Este es el resultado del comando slapindex :

WARNING! Runnig as root! There''s a fair chance slapd will fail to start. Check file permissions! 5370d6f9 /etc/ldap/slapd.conf: line 95: rootdn is always granted unlimited privileges. 5370d6f9 /etc/ldap/slapd.conf: line 112: rootdn is always granted unlimited privileges. 5370d6f9 hdb_db_open: database "dc=tpw,dc=uca,dc=ma": database already in use. 5370d6f9 backend_startup_one (type=hdb, suffix="dc=tpw,dc=uca,dc=ma"): bi_db_open failed! (-1) slap_startup failed


Lo primero es que el archivo init.ldif parece estar mal configurado:

  • domainComponent "uca" (dc = uca) falta, debe haber una entrada ( dcObject o domain objectClass) para definir este atributo que contiene un componente del nombre de dominio.

  • dcObject está destinado a utilizarse en entradas para las que existe una clase de objeto estructural adecuada. Por ejemplo, si el dominio representa una organización particular, la entrada tendría como clase de objeto estructural ''organización'', y la clase ''dcObject'' sería una clase auxiliar.

  • domain es una clase de objeto estructural utilizada para las entradas en las que no se almacena ninguna otra información. La clase de objeto de dominio se usa generalmente para entradas que son marcadores de posición o cuyos dominios no corresponden a entidades del mundo real.

En su archivo .ldif puede reemplazar la primera entrada "dn: dc = tpw, dc = uca, dc = ma" con estos 2 (luego borre su base de datos nuevamente y vuelva a ejecutar el comando slapadd):

dn: dc=uca,dc=ma objectClass: top objectClass: organization objectClass: dcObject dc: uca o: an organization name (mandatory with ''organization'' objectClass) dn: dc=tpw,dc=uca,dc=ma objectClass: top objectClass: domain dc: tpw

Lo segundo: obviamente ha aterrizado en un problema de índice. Creo que desea usar índices, pero si no, busque y elimine cualquier línea que comience con el index de slapd.conf, por ejemplo: index objectClass eq .

Recuerde detener slapd y ejecutar slapindex después de cada cambio realizado en las definiciones de índice en slapd.conf, y asegurarse de que todos los clientes ldap se hayan desconectado antes de ejecutar los comandos slap para evitar que la database already in use slapindex database already in use .