El insertar información en un servidor LDAP es uno de los primeros pasos a seguir después de su instalación, pero antes de insertar información es conveniente saber cual es su estructura dentro de las bases de datos (LDBM) utilizadas por LDAP .
Todo nodo o fragmento en un servidor LDAP es un DN Distinguished Name |
Es dentro de cada Distinguished Name que son definidos distintos atributos los cuales contienen información relevante como: Contraseñas, Apellidos, Fotografías, Nodos IP, o cualquier otro fragmento de información imaginable.
Distinguished Name Raíz (suffix)
Cuando son definidos parámetros para base de datos siempre se indica un DN (Distinguished Name) raíz, éste debe ser representativo de la estructura jerárquica que se intenta captar.
| DISTINGUISHED NAME Raíz | |||||
|---|---|---|---|---|---|
| méxico | méxico | brasil | brasil | venezuela | |
| drubio | garaiza | lsantos | ffontes | kpiment | |
| 3ffw12eg | 2emndfs | we334faf | tert232 | 4fhlzpqa | |
| (52)-(6)-3422321 | (52)-(5)-2353312 | (55)-(11)-8696446 | (55)-(21)-7453242 | (58)-(2)-4943421 | |
La jerarquía anterior representa una organización , por lo que el Distinguished Name Raíz puede ser:
"dc=osmosislatina, dc=com"
o
"o=Osmosislatina, c=MX"
|
La composición de cada distinguished name puede variar, en este caso se utilizaron los vocablos dc de "Domain Component", c de "Country", o de "Object", sin embargo también hubiera sido posible utilizar p de "País",cd de "Componente Dominio". Los vocablos son solo descriptivos y su única restricción (si existiese) es llevada acabo en la definición de Schemas .
Distinguished Name Administrativo (rootdn)
Además del DN distinguished name raíz, previa inserción de datos también existe un DN el cual posee acceso global sobre la base de datos (LDBM) en cuestión. Este DN es derivado del DN raíz, por lo que puede ser: "cn=Admin, dc=osmosislatina, dc=com", donde se utiliza cn como vocablo y Admin como valor, sin embargo, al igual que el DN raíz, este vocablo y valor pueden variar.
Para accesar la base de datos (LDBM) utilizando el DN administrativo se emplea la contraseña también definida en slapd.conf mediante el parámetro rootpw.
Archivos LDIF
Estas estructuras o DN distinguished names generalmente se definen en archivos denominados LDIF. El siguiente archivo LDIF contiene los DN's mencionados anteriormente ( raíz y administrativo ):
dn: dc=osmosislatina,dc=com objectClass: dcObject objectClass: organization o: Osmosislatina description: Desarrollos Open-Source en Español # Rol para administrador de la Red dn: cn=Admin,dc=osmosislatina,dc=com objectClass: organizationalRole cn: Admin description: Administrador del Servidor LDAP |
El primer elemento de cada estructura es casi obvio dn de distinguished name. Los elementos en itálicas objectclass están directamente relacionados con Schemas y definen el tipo de objeto para el DN,esto es: cuales y cuantos atributos puede contener.
Posteriormente se definen los Atributos para cada DN:
-
oydescriptionpara el primer DN. -
cnydescriptionpara el segundo DN.
Nótese que no necesariamente existe correlación directa entre el DN y sus atributos, y como fue mencionado anteriormente la única restricción para atributos (si existiese) es llevada acabo mediante Schemas
Insertar DN's raíz y administrativo
Aunque los DN's raíz y administrativos se encuentran definidos para una base de datos (LDBM) es necesario insertarlos antes de realizar cualquier tipo de operación, el siguiente ejemplo asume que los parámetros para base de datos definidos en la sección de configuración serán utilizados.
- Una vez definido un archivo LDIF con los DN's raíz y administrativos.( Como el definido anteriormente )
- Ejecute el comando:
|
Donde osmo.ldif es el archivo LDIF.
- Si aparece
adding new entry dc=smosislatina,dc=comfue exitosa la inserción, de otra manera deberá revisar Registros ("logs") de OpenLDAP para observar el error ocurrido.
DN's Generales
Una vez definidos los DN's raíz y administrativo es posible insertar otros DN's que conformaron parte de la jerarquía. A continuación tres DN's estructurados como un archivo LDIF:
dn: cn=Daniel Robledo,dc=osmosislatina,dc=com cn: Daniel Robledo p=Mexico mail: drobledo@yahoo.com telefono: (52)-(6)-3422321 dn: cn=Fernanda Fontes,dc=osmosislatina,dc=com cn: Fernanda Fontes p=Brazil mail: fontes@yahoo.com telefono: (55)-(11)-8696446 dn: cn=Luis Arano,dc=osmosislatina,dc=com cn: Luis Arano p=Argentina mail: larano@slb.com teléfono: (58)-(2)-4943421 |
Para agregar estos DN's a la base de datos (LDBM) se debe ejecutar:
|
Donde personal.ldif es el archivo LDIF definido en la parte superior.
Mas DN's
Los DN's y sus atributos declarados anteriormente son solo básicos, ya que es posible definir una extensa jerarquía así como atributos; DN's por países, oficinas, hardware...., así como atributos relacionados con: nodos IP ,contraseñas, fotografías JPEG o GIF
Búsquedas
Con los DN's que ya han sido insertados en la base de datos (LDBM) del servidor LDAP, ya es posible realizar búsquedas de información:
ldapsearch -bdc=osmosislatina,dc=com telefono=*52*: Busca los DN's bajo el DN raízdc=osmosislatina,dc=comque contengan el atributotelefonocon las cifras52ldapsearch -bdc=osmosislatina,dc=com mail=*: Busca los DN's bajo el DN raízdc=osmosislatina,dc=comque contengan el atributoemail.
La instalación del servidor OpenLDAP que ha sido llevada acabo permite que cualquier tipo de búsqueda sea llevada acabo, sin embargo, en un ambiente de producción es un hecho que deben ser agregados diversos filtros y restricciones en base al usuario que este realizando la búsqueda.
Otras Herramientas para Insertar y Buscar Información en un Servidor LDAP
Los ejemplos anteriores utilizaron las herramientas ldapadd y ldapsearch ofrecidas por OpenLDAP, sin embargo, cabe mencionar que existen otras herramientas para realizar búsquedas e insertar información en cualquier directorio LDAP:
- LDAP Browser/Editor 2.8.2 : Cliente LDAP escrito en Java.
- Writing LDAP Clients : Instrucciones para escribir un cliente LDAP en C.
|
