2.2. Definición de términos

Entradas

El modelo de información de LDAP está basado en entradas. Una entrada es una colección de atributos que tienen un único y global Nombre Distintivo (DN). El DN se utiliza para referirse a una entrada sin ambigüedades. Cada atributo de una entrada posee un tipo y uno o más valores. Los tipos son normalmente palabras nemotécnicas, como “cn” para common name, o “mail” para una dirección de correo.

La sintaxis de los atributos depende del tipo de atributo. Por ejemplo, un atributo cn puede contener el valor “Jose Manuel Suarez”. Un atributo email puede contener un valor “jmsuarez@ejemplo.com”. El atributo jpegPhoto ha de contener una fotografía en formato JPEG.

Atributos

Los datos del directorio se representan mediante pares de atributo y su valor.
Por ejemplo el atributo commonName, o cn (nombre de pila), se usa para almacenar el nombre de una persona. Puede representarse en el directorio a una persona llamada José Suarez mediante:

• cn: José Suarez

Cada persona que se introduzca en el directorio se define mediante la colección de atributos que hay en la clase de objetos person.

Otros atributos:
• givenname: José
• surname: Suarez
• mail: jmsuarez@ejemplo.com

Los atributos requeridos son aquellos que deben estar presentes en las entradas que utilicen en la clase de objetos. Todas las entradas precisas de los atributos permitidos son aquellos que pueden estar presentes en las entradas que utilicen la clase de objetos.

Por ejemplo, en la clase de objetos person, se requieren los atributos cn y sn. Los atributos description (descripción), telephoneNumber (número de teléfono), seealso (véase también), y userpassword (contraseña del usuario) se permiten pero no son obligatorios.

Cada atributo tiene la definición de sintaxis que le corresponde. La definición de sintaxis describe el tipo de información que proporciona ese atributo:

1. bin binario
2. ces cadena con mayúsculas y minúsculas exactas (las mayúsculas y minúsculas son significativas durante las comparaciones)
3. cis cadena con mayúsculas y minúsculas ignoradas (las mayúsculas y minúsculas no son significativas durante las comparaciones)
4. tel cadena de número de teléfono (como cis, pero durante las comparaciones se ignoran los espacios en blanco y los guiones"_")
5. dn "distinguished name" (nombre distintivo)

Tipos de Atributos

Una definición de tipo de atributo especifica la sintaxis de un atributo y cómo se ordenan y comparan los atributos de ese tipo.

Los tipos de atributos en el directorio forman un árbol de clases. Por ejemplo, el tipo de atributo "commonName" es una subclase del tipo de atributo "name".

Hay atributos obligatorios y opcionales listados en la siguiente tabla:

Identificador de Atributo Descripción del Valor de Atributo
NUMERICOID (obligatorio) Identificador de Objeto Único (OID)
NAME Nombre del Atributo
DESC Descripción del Atributo
OBSOLETE "true" si es obsoleto; "false" o ausente si no lo es
SUP Nombre del tipo de atributo superior del que se deriva el tipo de atributo
EQUALITY Nombre ó OID de la regla de correspondencia si la igualdad de correspondencia está permitida; ausente si no lo está
ORDERING Nombre o OID de la regla de correspondencia si está permitida la ordenación; ausente si no lo está.
SUBSTRING Nombre o OID de la regla de correspondencia si está permitida la correspondencia de sub-string ausente si no lo está.

SYNTAX OID numérico de la sintaxis de los valores de este tipo
SINGLE-VALUE "true" si el atributo no es multi-valor; "false" o ausente si lo es
COLLECTIVE "true" si el atributo es colectivo; "false" o ausente si no lo es
NO-USER-MODIFICATION "true" si el atributo no es modificable por el usuario; "false" o ausente si lo es
USAGE Descripción del uso del atributo

Estos atributos corresponden a la definición de "AttributeTypeDescription" en la RFC 2252.

LDIF

Para importar y exportar información de directorio entre servidores de directorios basados en LDAP, o para describir una serie de cambios que han de aplicarse al directorio, se usa en general el fichero de formato conocido como LDIF (formato de intercambio de LDAP).

Un fichero LDIF almacena información en jerarquías de entradas orientadas a objeto. Todos los servidores LDAP que incluyen una utilidad para convertir ficheros LDIF a formato orientadas a objeto. Normalmente es un fichero ASCII.

EJEMPLO:
Un fichero LDIF corriente tiene este aspecto:

dn: uid=jmsuarez,ou=People,dc=empresa,dc=com
uid: jmsuarez
cn: Jose Manuel Suarez
objectclass: account
objectclass: posixAccount
objectclass: top
loginshell: /bin/bash
uidnumber: 512
gidnumber: 300
homedirectory: /home/jmsuarez
gecos: Jose Manuel Suarez,,,,
userpassword: {crypt}LPnaOoUYN57Netaac

Como se puede notar, cada entrada está identificada por un nombre distintivo:
DN (“distinguished name”, nombre distintivo) esta compuesto por el nombre de la entrada en cuestión, más la ruta de nombres que permiten rastrear la entrada hacia atrás hasta la parte superior de la jerarquía del directorio.

Objetos

En LDAP, una clase de objetos define la colección de atributos que pueden usarse para definir una entrada. El estándar LDAP proporciona estos tipos básicos para las clases de objetos:

1. Grupos en el directorio, entre ellos listas no ordenadas de objetos individuales o de grupos de objetos.
2. Emplazamientos, como por ejemplo el nombre del país y su descripción.
3. Organizaciones que están en el directorio.
4. Personas que están en el directorio.

Una entrada determinada puede pertenecer a más de una clase de objetos.
Por ejemplo, la entrada para personas se define mediante la clase de objetos person, pero también puede definirse mediante atributos en las clases de objetos inetOrgPerson, groupOfNames y organization. La estructura de clases de objetos del servidor determina la lista total de atributos requeridos y permitidos para una entrada concreta.