LDAP-Linux-Como
 Luiz Ernesto Pinheiro Malere, [email protected]. Traducci�n
 de J. Iv�n Juanes Prieto, [email protected].
 v1.01, 15 febrero 2000

 En este documento se presenta la informaci�n acerca de la instalaci�n,
 configuraci�n, ejecuci�n y mantenimiento de un servidor del Protocolo
 Ligero de Acceso a Directorios (LDAP) en una m�quina Linux. Tambi�n se
 dan detalles sobre c�mo crear bases de datos LDAP, c�mo actualizar y
 borrar informaci�n de la base de datos, c�mo implementar acceso m�vil
 y c�mo utilizar la Libreta de Direcciones (Address Book) de Netscape.
 Este documento est� fuertemente inspirado en las p�ginas informativas
 de LDAP de la Universidad de Michigan.
 ______________________________________________________________________

 �ndice general


 1. Introducci�n
    1.1 �Qu� es LDAP?
    1.2 �Qu� es un servicio de directorio?
    1.3 �C�mo funciona LDAP?
    1.4 Backends, objetos y atributos en LDAP
    1.5 Nuevas versiones de este documento.
    1.6 Opiniones y sugerencias
    1.7 Agradecimientos
    1.8 Copyright y descargo de responsabilidad.

 2. Instalaci�n del servidor LDAP
    2.1 Obtenci�n del paquete
    2.2 Desempaquetado del servidor
    2.3 Configuraci�n del programa
    2.4 Compilaci�n del servidor

 3. Configuraci�n del servidor LDAP
    3.1 Formato del fichero de configuraci�n
    3.2 Opciones globales
    3.3 Opciones generales del backend
    3.4 Opciones espec�ficas del backend LDBM
    3.5 Ejemplos de control de acceso

 4. Ejecuci�n del servidor LDAP
    4.1 Opciones desde la l�nea de �rdenes
    4.2 Ejecuci�n de slapd como demonio o servicio independiente
    4.3 Ejecuci�n de slapd desde inetd

 5. Creaci�n y mantenimiento de bases de datos
    5.1 Creaci�n de una base de datos en l�nea
    5.2 Creaci�n de una base de datos sin estar en l�nea
    5.3 Cuestiones adicionales sobre el formato LDIF
    5.4 Las utilidades ldapsearch, ldapdelete y ldapmodify

 6. M�s informaci�n y caracter�sticas adicionales
    6.1 Acceso itinerante (perfiles m�viles)
    6.2 Libreta de direcciones de Netscape (Address Book)
    6.3 Matar al servidor LDAP
    6.4 Ficheros de registro (logs)

 7. Referencias
    7.1 V�nculos (URLs)
    7.2 Libros
    7.3 RFCs


 ______________________________________________________________________

 1.  Introducci�n

 La finalidad principal de este documento es permitirle configurar y
 utilizar un Servidor de directorio LDAP (Protocolo Ligero de Acceso a
 Directorios) en su m�quina Linux. Aprender� c�mo instalar, configurar,
 ejecutar y mantener el servidor LDAP. Despu�s, aprender� tambi�n c�mo
 almacenar, recuperar y actualizar informaci�n en su Directorio,
 utilizando las utilidades y clientes LDAP. El demonio o programa
 servidor para el directorio LDAP se llama slapd y puede ejecutarse
 sobre muchas plataformas UNIX diferentes.


 Hay otro demonio o programa servidor que se encarga de la replicaci�n
 entre servidores. Su nombre es slurpd y por el momento no necesitar�
 preocuparse de �l. En este documento, ejecutaremos un slapd que
 proporciona servicio de directorio para su dominio local �nicamente,
 es decir, sin slurpd.


 He aqu� una configuraci�n sencilla del servidor, v�lida para empezar,
 pero f�cil tambi�n de actualizar a una configuraci�n distinta m�s
 adelante, si lo desea. La informaci�n que se presenta en este
 documento representa una buena forma de iniciarse en el uso del
 protocolo LDAP. Es probable que tras la lectura del documento se
 sienta con fuerzas para ampliar las capacidades de su servidor, e
 incluso con ganas de escribir sus propios clientes, usando los
 entornos de desarrollo ya existentes para C, C++ y Java.


 1.1.  �Qu� es LDAP?

 LDAP (``Lightweight Directory Access Protocol'', �Protocolo Ligero de
 Acceso a Directorios�) es un protocolo de tipo cliente-servidor para
 acceder a un servicio de directorio. Se us� inicialmente como un
 front-end o interfaz final para X.500, pero tambi�n puede usarse con
 servidores de directorio �nicos y con otros tipos de servidores de
 directorio.


 1.2.  �Qu� es un servicio de directorio?

 Un directorio es como una base de datos, pero en general contiene
 informaci�n m�s descriptiva y m�s basada en atributos. La informaci�n
 contenida en un directorio normalmente es lee mucho m�s de lo que se
 escribe. Como consecuencia los directorios no implementan normalmente
 los complicados esquemas para transacciones o esquemas de reducci�n
 (rollback) que las bases de datos utilizan para llevar a cabo
 actualizaciones complejas de grandes vol�menes de datos. Por contra,
 las actualizaciones en un directorio son usualmente cambios sencillos
 de �todo o nada�, si es que se permiten en algo.


 Los directorios est�n afinados para proporcionar una repuesta r�pida a
 operaciones de b�squeda o consulta. Pueden tener la capacidad de
 replicar informaci�n de forma amplia, con el fin de aumentar la
 disponibilidad y la fiabilidad, y a la vez reducir el tiempo de
 respuesta. Cuando se duplica (o se replica) la informaci�n del
 directorio, pueden aceptarse inconsistencias temporales entre la
 informaci�n que hay en las r�plicas, siempre que finalmente exista una
 sincronizaci�n.


 Existen muchas maneras distintas de proporcionar un servicio de
 directorio. Los diferentes m�todos permiten almacenar en el directorio
 diferentes tipos de informaci�n, establecer requisitos diferentes para
 hacer referencias a la informaci�n, consultarla y actualizarla, la
 forma en que protege al directorio de accesos no autorizados, etc.
 Algunos servicios de directorio son locales, proporcionando servicios
 a un contexto restringido (por ejemplo, el servicio de finger en una
 �nica m�quina). Otros servicios son globales, proporcionando servicio
 en un contexto mucho m�s amplio.


 1.3.  �C�mo funciona LDAP?

 El servicio de directorio LDAP se basa en un modelo cliente-servidor.
 Uno o m�s servidores LDAP contienen los datos que conforman el �rbol
 del directorio LDAP o base de datos troncal. el cliente ldap se
 conecta con el servidor LDAP y le hace una consulta. El servidor
 contesta con la respuesta correspondiente, o bien con una indicaci�n
 de d�nde puede el cliente hallar m�s informaci�n (normalmente otro
 servidor LDAP). No importa con qu� servidor LDAP se conecte el
 cliente: siempre observar� la misma vista del directorio; el nombre
 que se le presenta a un servidor LDAP hace referencia a la misma
 entrada a la que har�a referencia en otro servidor LDAP. Es �sta una
 caracter�stica importante de un servicio de directorios universal como
 LDAP.


 1.4.  Backends, objetos y atributos en LDAP

 slapd se suministra con tres diferentes bases de datos de backend
 (dorsal, o base de datos de segundo plano) entre las que elegir. Se
 trata de LDBM, una base de datos de gran rendimiento basada en disco:
 SHELL, una interfaz de base de datos para �rdenes arbitrarias de UNIX
 o guiones (scripts) del int�rprete de �rdenes (shell); y PASSWD, una
 sencilla base de datos de contrase�as.


 En el desarrollo de este documento, se da por supuesto que ha elegido
 la base de datos LDBM.


 La base de datos LDBM funciona asignando un identificador compacto de
 cuatro bytes, �nico para cada entrada de la base de datos. La base de
 datos utiliza este identificador para hacer referencia a entradas en
 los �ndices. La base de datos est� compuesta de un fichero �ndice
 principal, llamado id2entry, que mapea el identificador �nico de una
 entrada en la representaci�n en texto de esa misma entrada. Tambi�n se
 da mantenimiento a otros ficheros �ndice.


 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 del fichero de
 formato conocido como LDIF (siglas de "LDAP interchange format",
 �formato de intercambio de LDAP�). Un fichero LDIF almacena
 informaci�n en jerarqu�as de entradas orientadas a objeto. El paquete
 de software LDAP que va a utilizar incluye una utilidad para convertir
 ficheros LDIF a formato LDBM.


 Un fichero LDIF corriente tiene este aspecto:



 dn: o=Insflug, c=ES
 o: Insflug
 objectclass: organization
 dn: cn=Luiz Malere, o=Insflug, c=ES
 cn: Luiz Malere
 sn: Malere
 mail: [email protected]
 objectclass: person



 Como puede comprobar, cada entrada est� identificada un�vocamente por
 un nombre distintivo (DN, "distinguished name"). El DN (nombre
 distintivo) est� 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.


 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:

 �  Grupos en el directorio, entre ellos listas no ordenadas de objetos
    individuales o de grupos de objetos.

 �  Emplazamientos, como por ejemplo el nombre del pa�s y su
    descripci�n.

 �  Organizaciones que est�n en el directorio.

 �  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 (su
 esquema) determina la lista total de atributos requeridos y permitidos
 para una entrada concreta.


 Los datos del directorio se representan mediante pares de atributo y
 su valor. Cualquier pieza de informaci�n espec�fica se asocia con un
 atributo descriptivo.


 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 Jon�s Saqueiro mediante



      cn: Jon�s Saqueiro



 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 que se usan para definir esta entrada ser�n:


 givenname: Jon�s
 surname: Saqueiro
 mail: [email protected]



 Los atributos requeridos son aquellos que deben estar presentes en las
 entradas que utilicen la clase de objetos. Todas las entradas precisan
 del atributo objectClass, que lista las clases de objeto a las que
 pertenece una entrada.


 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 se requieren.


 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:

 �  bin binario

 �  ces cadena con may�sculas y min�sculas exactas (las may�sculas y
    min�sculas son significativas durante las comparaciones)

 �  cis cadena con may�sculas y min�sculas ignoradas (las may�sculas y
    min�sculas no son significativas durante las comparaciones)

 �  tel cadena de n�mero de tel�fono (como cis, pero durante las
    comparaciones se ignoran los espacios en blanco y los guiones "-")

 �  dn "distinguished name" (�nombre distintivo�)



 Para conocer en qu� lugar de su sistema se emplazan las definiciones
 de clases de objetos y de atributos, v�ase el primer p�rrafo de la
 ``secci�n 3''.


 1.5.  Nuevas versiones de este documento.


 Este documento puede experimentar actualizaciones y correcciones en
 raz�n de la respuesta que suscite entre sus lectores. Por favor busque
 nuevas versiones del original ingl�s en:


 http://www.ddtc.dimes.tudelft.nl/~malere/LDAP-Linux-HOWTO.html
 <http://www.ddtc.dimes.tudelft.nl/~malere/LDAP-Linux-HOWTO.html>

 (y nuevas versiones de la traducci�n castellana de este C�mo en
 http://www.insflug.org/ <http://www.insflug.org/>, N. del T.)


 1.6.  Opiniones y sugerencias

 Si tiene alguna duda sobre cualquier informaci�n disponible en este
 documento, por favor contacte con nosotros en la siguiente direcci�n
 de correo electr�nico:
 [email protected] <mailto:[email protected]>

 Si tiene alg�n comentario o sugerencia, no dude en comunic�rmelo.


 1.7.  Agradecimientos

 Este C�mo es el resultado de unas pr�cticas que hemos realizado en la
 universidad de TUDelft, en Holanda. Queremos dar las gracias a las
 personas que nos animaron a escribir este documento: Rene van Leuken y
 Wim Tiwon. Much�simas gracias. Tambi�n ellos son entusiastas del Linux
 como nosotros.


 1.8.  Copyright y descargo de responsabilidad.

 El LDAP-Linux-C�mo es Copyright 1999 de Luiz Ernesto Pinheiro Malere.
 Puede redistribuirse libremente. No puede modificarse. Si tiene
 cualquier tipo de sugerencia, por favor env�eme un correo electr�nico
 (actualizar� el documento si la sugerencia es adecuada).


 Si desea una traducci�n, por ejemplo al Portugu�s, puede enviarme
 tambi�n un correo sobre el particular.



 No liability for the contents of this document can be accepted. I have
 no responsability about the consequences of following the Steps
 provided in this document.


 Si tiene preguntas, por favor contacte con el coordinador de Linux
 HOWTO en


 [email protected] <[email protected]>


 2.  Instalaci�n del servidor LDAP

 Cuatro pasos son necesarios para instalar el servidor: obtener el
 paquete, descomprimir y desempaquetar el servidor, configurar los
 ficheros Makefile del programa y compilar el servidor.


 2.1.  Obtenci�n del paquete

 Existen dos servidores LDAP que se distribuyen libremente: el servidor
 LDAP de la Universidad de Michigan y el servidor OpenLDAP. Tambi�n
 est� el Netscape Directory Server, que es libre s�lo bajo ciertas
 condiciones (por ejemplo, las instituciones educativas lo pueden
 obtener gratis). El servidor OpenLDAP est� basado en la �ltima versi�n
 del servidor de la Universidad de Michigan, y hay disponibles listas
 de correo y documentaci�n adicional para �l. Este documento da por
 supuesto que est� Usted utilizando el servidor OpenLDAP.


 La versi�n comprimida en formato .gz est� disponible en la siguiente
 direcci�n:

 http://www.openldap.org <http://www.openldap.org>

 Si desea obtener la �ltima versi�n del servidor de la Universidad de
 Michigan, dir�jase a esta direcci�n:

 ftp://terminator.rs.itd.umich.edu/ldap
 <ftp://terminator.rs.itd.umich.edu/ldap>

 Para escribir este documento nos hemos basado en la �ltima versi�n
 estable de OpenLDAP, utilizando OpenLDAP 1.2.8 sobre un servidor
 Slackware Linux con n�cleo 2.2.6. En la sede Web de OpenLDAP
 encontrar� las �ltimas versiones estables y de desarrollo del servidor
 OpenLDAP. En el momento de actualizar este documento, la �ltima
 versi�n era /openldap-stable-20000129.tgz. La �ltima versi�n de
 desarrollo era openldap-1.2.9.tgz (eran las �ltimas versiones en el
 momento de traducir, N. del T.)


 2.2.  Desempaquetado del servidor

 Ahora que ya dispone del archivo .tar.gz en su m�quina local, puede
 desempaquetarlo.

 En primer lugar, copie el paquete en un directorio de su conveniencia,
 por ejemplo /usr/local.

 Luego utilice la siguiente orden:



      tar xvzf openldap-stable.tgz



 Tambi�n puede usar la siguiente orden:



      gunzip openldap-stable.tgz | tar xvf -



 2.3.  Configuraci�n del programa

 Hay varias opciones que tal vez desee personalizar, de manera que el
 programa se construya de la forma m�s adaptada a sus sistema.


 Para configurar el programa s�lo necesita dos pasos:

 �  Edite el fichero ldapconfig.h.edit, situado en el subdirectorio
    include/ que cuelga del directorio en el que ha desempaquetado el
    programa.

 �  Ejecute el gui�n ./configure. Si le gustan las emociones fuertes,
    puede editar igualmente el fichero Make-common en lugar de ejecutar
    el gui�n de configuraci�n  :^)


 En el fichero include/ldapconfig.h.edit puede configurar opciones como
 el emplazamiento de los demonios slapd y slurpd. El fichero
 propiamente dicho contiene muchos comentarios y sus opciones por
 defecto tambi�n reflejan las opciones que los administradores eligen
 con m�s frecuencia, de manera que si tiene prisa puede saltarse este
 paso y ejecutar directamente:



      vi include/ldapconfig.h.edit



 El c�digo fuente de OpenLDAP se distribuye con un gui�n de
 configuraci�n para ajustar opciones como por ejemplo el directorio de
 instalaci�n y las ��banderas�� del compilador y del enlazador. Escriba
 la orden siguiente en el directorio donde haya desempaquetado el
 programa:


      ./configure --help



 Ello mostrar� por pantalla todas las opciones que puede personalizar
 con el gui�n configure antes de compilar el programa. Algunas opciones
 �tiles para establecer los directorios de instalaci�n son
 --prefix=pref, --exec-prefix=eprefix y --bindir=dir. Normalmente, si
 ejecuta ./configure sin opciones, �l mismo autodetectar� las opciones
 adecuadas y se preparar� para construir el paquete en la localizaci�n
 com�n predeterminada. As� pues, teclee:



      ./configure



 Y observe el resultado por pantalla para verificar que no se produce
 ning�n error.


 2.4.  Compilaci�n del servidor

 Despu�s de configurar el programa puede empezar a compilarlo. Primero
 construya las dependencias mediante la orden:



      make depend



 Despu�s compile el servidor mediante la orden:


      make



 Si todo va bien, el servidor se compilar� tal y como se haya
 configurado. En caso contrario, vuelva al paso anterior para revisar
 las opciones de configuraci�n. Revise las sugerencias espec�ficas para
 su plataforma, que se hallan en la ruta doc/install/hints que cuelga
 del directorio en el que desempaquet� el software.


 Instale luego los ejecutables y las p�ginas de manual. Es posible que
 precise de permisos de superusuario para poder llevarlo a cabo
 (depende del lugar en donde instale los ficheros):



      su
      make install



 Es todo. Ya dispone del ejecutable del servidor y de los ejecutables
 de otras varias utilidades. Para saber c�mo configurar el
 funcionamiento de su servidor LDAP, v�ase la secci�n ``siguiente''.


 Si antes de aprender c�mo se configura su servidor LDAP desea
 verificar los ejecutables reci�n compilados, las �ltimas versiones del
 servidor OpenLDAP vienen con un gui�n de verificaci�n. Cuando se
 actualiz� este documento el gui�n de verificaci�n no era estable al
 100% para todos los diagn�sticos que llevaba a cabo. De todas maneras
 pru�belo y ejec�telo, si alg�n aspecto del gui�n no funciona bien,
 siempre puede pararlo pulsando Ctrl+C. En nuestro caso, antes de que
 el gui�n o script se detuviera, pudimos observar algunos mensajes que
 mostraban que los diagn�sticos m�s comunes se hab�an llevado a cabo
 con �xito. Para ejecutar el gui�n de verificaci�n, c�mbiese al
 subdirectorio test/ que cuelga de la ruta en la que desempaquet� el
 software, y luego teclee:



      make



 3.  Configuraci�n del servidor LDAP

 Cuando el software se haya compilado e instalado, ya puede
 configurarlo para utilizarlo en su servidor. Toda la configuraci�n en
 tiempo de ejecuci�n de slapd se realiza mediante el fichero
 slapd.conf, que se instala en el directorio que haya especificado en
 --prefix en el gui�n de configuraci�n, o bien, si no especific�
 ninguno, en /usr/local/etc/openldap de forma predeterminada.


 En este directorio hallar� asimismo los ficheros slapd.oc.conf y
 slapd.at.conf que se incluyen en el fichero slad.conf (v�ase la opci�n
 include en la ``secci�n 3.2'') y que incluyen, respectivamente, las
 definiciones de clases de objetos (objectclasses) y atributos para la
 base de datos de segundo plano de LDAP (backend). Lo que sigue es una
 descripci�n del formato general del fichero de configuraci�n, y
 continuaremos con una descripci�n detallada de cada opci�n del fichero
 de configuraci�n.


 3.1.  Formato del fichero de configuraci�n

 El fichero slapd.conf est� compuesto por una serie de opciones
 globales de configuraci�n que afectan a slapd en su conjunto
 (incluyendo todas las bases de datos de segundo plano o backends),
 seguido por cero o m�s definiciones de backends, las cuales contienen
 informaci�n espec�fica de una instancia de backend.

 Las opciones globales de configuraci�n pueden anularse en un backend
 determinado (para opciones que aparecen m�s de una vez, se usa la
 �ltima aparici�n en el fichero de configuraci�n slapd.conf). Se
 ignoran las l�neas en blanco y las l�neas de comentario que comienzan
 por el car�cter de �#�. Si una l�nea comienza por un espacio en
 blanco, se considera una continuaci�n de la l�nea anterior. El formato
 general del fichero slapd.conf es el siguiente:



           # comentario - estas opciones se aplican a cualquier base de datos
           <opciones de configuraci�n globales>
           # definici�n de la base de datos y opciones de configuraci�n
           database <backend tipo 1>
           <opciones de configuraci�n espec�ficas del backend tipo 1>
           #definici�n de la segunda base de datos y opciones de configuraci�n
           database <backend tipo 2>
           <opciones de configuraci�n espec�ficas del backend tipo 2>
           # definiciones subsiguientes de bases de datos y opciones de configuraci�n
           ...



 Los argumentos de la l�nea de configuraci�n est�n separados por
 espacios en blanco. Si un argumento contiene espacios en blanco, el
 argumento debe encerrarse entre comillas dobles "de esta manera". Si
 un argumento contiene unas dobles comillas o una barra invertida `\',
 el car�cter ha de ir precedido de una barra invertida `\', (p. ej.
 `\\d').

 La distribuci�n de OpenLDAP contiene un fichero de configuraci�n de
 ejemplo que se instalar� en el directorio de configuraci�n
 especificado en --prefix. Tambi�n se proporcionan un slapd.at.conf,
 que contiene muchas definiciones de atributos utilizadas a menudo, y
 slapd.oc.conf, que contiene muchas definiciones de clases usadas con
 frecuencia.


 3.2.  Opciones globales

 Las opciones que se describen en esta secci�n se aplican a todos los
 backends, a menos que se sobreescriban o anulen espec�ficamente en la
 definici�n de un backend concreto. Los argumentos de opci�n que han de
 sustituirse por texto de verdad se muestran entre signos de �mayor
 que� y �menor que� <>.


    access to <algo> [ by <qui�n>
       <niveldeacceso> ]+" Esta opci�n concede acceso (especificado en
       <niveldeacceso>) a una serie de entradas o atributos
       (especificados por <algo>) para uno o m�s peticionarios
       (especificados en <qui�n>). V�anse los ejemplos de control de
       acceso para m�s detalles.


    attribute <nombre> [<nombre2>] { bin
       | ces | cis | tel | dn } " Esta opci�n asocia a una sintaxis con
       un nombre de atributo. Por defecto se supone que un atributo
       tiene sintaxis �cis�. Se le puede proporcionar a un atributo un
       nombre alternativo opcional. Las posibles reglas de sintaxis y
       su significado son �stas:

    �  bin: binario

    �  ces: cadena con may�sculas y min�sculas exactas (las may�sculas
       y min�sculas son significativas durante las comparaciones)
    �  cis: cadena con may�sculas y min�sculas ignoradas (las
       may�sculas y min�sculas no son significativas durante las
       comparaciones)

    �  tel: cadena de n�mero de tel�fono (como �cis�, pero durante las
       comparaciones se ignoran los espacios en blanco y los guiones
       "-")

    �  dn:  "distinguished name" (�nombre distintivo�)


    defaultaccess { none | compare | search |
       read | write } " Esta opci�n especifica el acceso por defecto
       que se conceder� a los solicitantes que no coincidan con ninguna
       otra l�nea de acceso (v�anse los ejemplos de control de acceso
       m�s abajo). N�tese que un nivel de acceso implica en s� tambi�n
       los niveles de acceso inferiores a �l. Por ejemplo, el acceso a
       escritura implica el acceso a lectura, el acceso a b�squeda y el
       acceso a comparaci�n.

       Valor predeterminado: defaultaccess read


    include <nombrefichero>
       Esta opci�n ordena a slapd que lea informaci�n adicional de
       configuraci�n desde el fichero especificado, antes de continuar
       con la l�nea siguiente del fichero actual. El fichero que se
       especifica ha de seguir el formato normal de configuraci�n de
       slapd. Utilice esta opci�n para incluir ficheros que contengan
       las clases de objetos (objectclass) y definiciones de atributo
       (attribute definitions) de su base de datos de segundo plano o
       backend. El paquete de software de LDAP viene con los ficheros
       slapd.oc.conf y slapd.at.conf.

       Nota: Tenga cuidado al utilizar esta opci�n. No hay l�mite
       m�nimo en el n�mero de opciones include anidadas, ni tampoco se
       hace una detecci�n de anidamiento para el caso de bucles sin
       fin.


    loglevel <numeroentero>
       Esta opci�n especifica el nivel de detalle con el que el sistema
       debe registrar en un archivo de registro (syslog) las
       informaciones de depuraci�n y las estad�sticas de funcionamiento
       (en este caso se registran mediante el servicio LOCAL4 de
       syslogd(8). Para que esta caracter�stica est� habilitada, es
       necesario haber compilado slapd con la opci�n de compilaci�n
       -DLDAP_DEBUG, excepto para los dos niveles de estad�sticas, que
       est�n siempre habilitados. Los niveles de registro son
       acumulativos. Para visualizar qu� n�meros corresponden a cada
       tipo de depuraci�n, ejecute slapd con la opci�n -? o consulte la
       tabla de m�s abajo. Los valores posibles para <numeroentero>
       son:

    �  1 trazado de llamadas a funci�n

    �  2 manejo de paquetes de depurado

    �  4 depurado de trazado intensivo heavy trace

    �  8 gesti�n de conexiones

    �  16 mostrar los paquetes enviados y recibidos

    �  32 procesado del filtro de b�squeda

    �  64 procesado de ficheros de configuraci�n

    �  128 procesado de listas de control de acceso

    �  256 estad�sticas de registro de
       conexiones/operaciones/resultados

    �  512 enviar las entradas de registro de estad�sticas

    �  1024 imprimir los backends de comunicaci�n con el int�rprete de
       �rdenes

    �  2048 imprimir el an�lisis completo de depuraci�n

       Ejemplo: loglevel 255 har� que grandes cantidades de informaci�n
       vayan a un archivo de registro a trav�s de syslog.

       Valor predeterminado: loglevel 256


    objectclass <nombre>

       objectclass <nombre>
       [ requires <atributos> ]
       [ allows <atributos> ]



    Esta opci�n define las reglas de estructura o esquema para la clase
    de objetos (objectclass) especificada. Se usa junto con la opci�n
    schemacheck.


    referral <url>
       Esta opci�n especifica la autoridad en la que basarse cuando
       slapd no pueda hallar una base de datos local para gestionar una
       petici�n.

       Ejemplo: referral ldap://ldap.itd.umich.edu

       Esto remitir� las consultas no locales al servidor LDAP de la
       Universidad de Michigan. Algunos clientes LDAP con capacidades
       inteligentes podr�n redirigir su consulta a dicho servidor, pero
       tenga en cuanta que la mayor�a de esos clientes no gestionar�n
       URLs sencillas de LDAP que contengan una parte de nombre de
       m�quina y, como opci�n, una parte de nombre distintivo (dn).


    schemacheck { on | off }
       Esta opci�n activa (on) o desactiva (off) la verificaci�n de
       estructura. Si la verificaci�n de estructura est� activada, se
       comprobar�n las entradas que se a�adan o modifiquen, con el fin
       de garantizar que obedecen a las reglas de estructura o esquema
       que implica la clase de objetos (objectclass) a la que
       pertenecen, tal y como las definen las correspondientes opciones
       de la clase de objetos correspondiente. Si la verificaci�n de
       estructura est� desactivada (off), esta verificaci�n no se
       realiza.

       Valor predeterminado: schemacheck off


    sizelimit <numeroentero>
       Esta opci�n especifica el n�mero m�ximo de entradas que hay que
       devolver de una operaci�n de b�squeda.

       Valor predeterminado: sizelimit 500


    srvtab <nombrefichero>
       Esta opci�n especifica el fichero srvtab en el que slapd puede
       encontrar las claves kerberos necesarias para autentificar a los
       clientes que usen kerberos. Esto opci�n es significativa
       �nicamente si Usted utiliza autentificaci�n por kerberos, que ha
       de activarse en el momento de la compilaci�n incluyendo las
       definiciones apropiadas en el fichero Make-common.

       Valor predeterminado: srvtab /etc/srvtab


    timelimit <numeroentero>
       Esta opci�n especifica el n�mero m�ximo de segundos (en tiempo
       real) que slapd pasar� contestando una petici�n de b�squeda. Si
       pasado ese tiempo no se ha contestado una petici�n, se devolver�
       un resultado que indicar� exceeding time, �tiempo sobrepasado�.

       Valor predeterminado: timelimit 3600



 3.3.  Opciones generales del backend

 Las opciones de esta secci�n s�lo se aplican al backend en el que
 est�n definidas. Estas opciones est�n soportadas para todos los tipos
 de backend.


    database <tipobasededatos>
       Esta opci�n marca el comienzo de la definici�n de una nueva
       instancia de base de datos.  <tipobasededatos> debe ser una de
       las siguientes: ldbm, shell, o passwd dependiendo del backend
       sobre el que servir� la base de datos.

       Ejemplo: database ldbm marca el comienzo de la definici�n de una
       nueva instancia de una base de datos con backend LDBM.


    lastmod { on | off }
       Esta opci�n controla si slapd mantendr� autom�ticamente para
       cada entrada los atributos modifiersName, modifyTimestamp,
       creatorsName y createTimestamp.

       Valor predeterminado: lastmod off


    readonly { on | off }
       Esta opci�n pone a la base de datos en modo �s�lo lectura�.
       Cualquier intento de modificar la base de datos devolver� un
       error de "unwilling to perform" (�no se llevar� a cabo la
       operaci�n�).

       Valor predeterminado: readonly off


    replica host=<nombredemaquina>[:<puerto>]

       replica host=<nombredemaquina>[:<puerto>]
       "binddn=<DN>"
       bindmethod={ simple | kerberos }
       [credentials=<contrase�a>]
       [srvtab=<nombrefichero>]

    Esta opci�n especifica una direcci�n para la duplicaci�n o r�plica
    esta base de datos. El par�metro host= especifica en qu� m�quina (y
    opcionalmente, en qu� puerto) puede encontrarse la instancia del
    slapd esclavo. para <nombrem�quina> puede usarse lo mismo un nombre
    que una direcci�n IP. Si no se proporciona el par�metro <puerto> se
    usar� el puerto est�ndar de LDAP, el 389.

    El par�metro binddn proporciona el DN al que se vincular� el slapd
    esclavo para sus actualizaciones. Ha de tratarse de un DN que tenga
    acceso de lectura y escritura a la base de datos del esclavo, que
    normalmente aparece como rootdn en el fichero de configuraci�n del
    esclavo. Tambi�n tiene que coincidir con la opci�n updatedn en el
    fichero de configuraci�n del slapd esclavo.  Puesto que los DN son
    proclives a contener espacios incrustados, la cadena completa
    "binddn=<DN>" ha de estar encerrada entre comillas.

    bindmethod puede ser o bien simple o bien kerberos, dependiendo de
    si se usa autentificaci�n sencilla basada en contrase�as o bien
    kerberos cuando se conecte con el slapd esclavo. La autentificaci�n
    sencilla precisa que se proporcione una contrase�a v�lida. La
    autentificaci�n mediante kerberos precisa de un fichero srvtab
    v�lido.

    El par�metro credentials=, que s�lo se precisa si se usa
    autentificaci�n sencilla, proporciona la contrase�a para binddn en
    el slapd esclavo.

    El par�metro srvtab=, que s�lo se precisa si se usa autentificaci�n
    mediante kerberos, especifica el nombre de fichero que aloja la
    llave kerberos para el slapd esclavo. Si se omite, se utiliza el
    fichero /etc/srvtab.


    replogfile <nombrefichero>
       Esta opci�n especifica el nombre del fichero de registro de
       duplicaci�n (registro de r�plica) en el cual slapd registrar�
       los cambios. El registro de duplicaci�n generalmente lo escribe
       slapd y lo lee slurpd. Esta opci�n normalmente s�lo tiene efecto
       si se usa slurpd para duplicar la base de datos. Sin embargo,
       puede utilizarla tambi�n para generar un registro de
       transacciones, si slurpd no se est� ejecutando. En este caso,
       necesitar� truncar peri�dicamente el fichero, pues de otra
       manera crecer�a indefinidamente.


    rootdn <dn>
       Esta opci�n identifica al DN de una entrada no sujeta a control
       de acceso o a restricciones en los permisos de administraci�n
       para las operaciones en esta base de datos.

       Ejemplo: rootdn "cn=Manager, o=U of M, c=US"


    rootkrbname <nombrekerberos>
       Esta opci�n especifica un nombre kerberos que funcionar� en
       todos los casos para el DN dado anteriormente, con independencia
       de que exista una entrada con el DN especificado o de que tenga
       el atributo krbName. Esta opci�n es �til al crear una base de
       datos y tambi�n cuando se utilice slurpd para proporcionar
       servicios de duplicaci�n (servicios de r�plica).

       Ejemplo: rootkrbname [email protected]


    rootpw <password>
       Esta opci�n especifica una contrase�a, que funcionar� en todos
       los casos, para el DN dado anteriormente, con independencia de
       que el DN en cuesti�n exista o ya tenga contrase�a. Esta opci�n
       es �til al crear una base de datos y tambi�n cuando se utilice
       slurpd para proporcionar servicios de duplicaci�n (servicios de
       r�plica).  Evite tener una contrase�a de texto sencillo
       acompa�ando a esta opci�n. Proporcione una contrase�a cifrada
       (puede usar una entrada del fichero de Unix /etc/passwd/). slapd
       soporta tambi�n otros m�todos de cifrado.

       Ejemplos: rootpw secret rootpw
       {crypto}contrase�a_cifrada_va_aqu�


    suffix <dn sufijo>
       Esta opci�n especifica el sufijo DN de consultas que se le
       pasar� a la base de datos de backend. Pueden proporcionarse
       m�ltiples l�neas de sufijo, y se requiere al menos una para cada
       definici�n de base de datos.

       Ejemplo: suffix "o=University of Michigan, c=US"

       Las consultas que tengan un DN terminado en "o=University of
       Michigan, c=US" se le pasar�n a este backend de base de datos.

       Nota: cuando se selecciona el backend al que hay que pasarle la
       consulta, slapd examina la l�nea o l�neas de sufijo en cada
       definici�n de base de datos en el orden en que aparecen en el
       fichero. De esta manera, si el sufijo de una base de datos es el
       prefijo de otra, dicho sufijo debe aparecer despu�s que el
       prefijo en el fichero de configuraci�n.


    updatedn <dn>
       Esta opci�n s�lo se aplica a un slapd esclavo. Especifica el DN
       al que se le permite hacer cambios en la duplicaci�n.
       Generalmente se trata del DN al que slurpd se vincula cuando
       hace cambios a la duplicaci�n o r�plica.


 3.4.  Opciones espec�ficas del backend  LDBM

 Las opciones de esta categor�a s�lo se aplican a la base de datos de
 backend LDBM. Es decir, tienen que ir despu�s de una l�nea "database
 ldbm" y antes de otra l�nea de "database".


    cachesize <numeroentero>
       Esta opci�n especifica a instancia de la base de datos de
       backend LDBM el n�mero de entradas en la memoria cach� interna
       que ha de mantener.

       Valor predeterminado: cachesize 1000


    dbcachesize <numeroentero>
       Esta opci�n especifica el tama�o en bytes de la memoria cach�
       interna asociada con cada fichero de �ndice abierto. En caso de
       no estar soportada por el m�todo de base de datos subyacente,
       esta opci�n se ignora sin mayores avisos. El incremento de este
       n�mero utilizar� m�s memoria, pero tambi�n causar� un aumento
       espectacular del rendimiento, especialmente durante las
       modificaciones o a la hora de construir los �ndices.

       Valor predeterminado: dbcachesize 100000


    directory <directorio>
       Esta opci�n especifica el directorio donde residen los ficheros
       LDBM que contienen la base de datos y sus ficheros asociados.

       Valor predeterminado: directory usr/tmp /


    index {<listadeatributos> | default} [pres,eq,approx,sub,none]
       Esta opci�n especifica qu� �ndices hay que mantener para un
       atributo especificado. Si se proporciona �nicamente una
       <listadeatributos> se mantendr�n todos los �ndices posibles.

       Ejemplos: index cn index sn,uid eq,sub,approx index default none

       Este ejemplo har� que se d� mantenimiento a todos los �ndices
       para el atributo cn: que se mantengan �ndices de igualdad,
       subcadenas y cadenas aproximadas en el caso de los atributos sn
       y uid; y que no se mantengan �ndices para todos los dem�s
       atributos.


    mode <numeroentero>
       Esta opci�n especifica qu� permisos de ficheros (modo de
       protecci�n) debe tener el �ndice de la base de datos reci�n
       creada.

       Valor predeterminado: mode 0600


 3.5.  Ejemplos de control de acceso

 La caracter�stica de control de acceso presentada en la ``secci�n
 3.2'' es bastante potente. En esta secci�n se muestran varios ejemplos
 de su uso. Primeramente, algunos ejemplos sencillos:



      access to * by * read



 Esta directiva de acceso concede acceso de lectura a todo el mundo. Si
 aparece en solitario tiene el mismo efecto que la siguiente l�nea de
 defaultaccess:


      defaultaccess read



 El siguiente ejemplo muestra el uso de una expresi�n regular para
 seleccionar las entradas por DN en dos directivas de acceso en las que
 el orden es significativo.


      access to dn=".*, o=U of M, c=US"
      by * search
      access to dn=".*, c=US"
      by * read



 El acceso en modo lectura se concede a las entradas que est�n bajo el
 sub-�rbol "o=University of Michigan, c=US", al que se permite el
 acceso en modo lectura. Si su hubiera invertido el orden de las
 directivas de acceso, la directiva espec�fica de la Universidad de
 Michigan nunca hubiera coincidido, puesto que todas las entradas de la
 U. de M. son tambi�n entradas de c=US.

 El pr�ximo ejemplo vuelve a mostrar la importancia del orden, tanto en
 lo que se refiere a las directivas de acceso como a las cl�usulas
 "by". Tambi�n muestra el uso de un selector de atributos para conceder
 acceso a un atributo espec�fico y a varios selectores <qui�n> (<who>).


      access to dn=".*, o=U of M, c=US" attr=homePhone
      by self write
      by dn=".*, o=U of M, c=US" search
      by domain=.*\.umich\.edu read
      by * compare
      access to dn=".*, o=U of M, c=US"
      by self write
      by dn=".*, o=U of M, c=US" search
      by * none



 Este ejemplo se aplica a las entradas en el sub-�rbol "o=U of M,
 c=US". Para todos los atributos excepto homePhone, la propia entrada
 tiene puede escribirlos, otras entradas de "U of M" pueden buscar por
 ellas, y nadie m�s tiene acceso. La entrada tiene permisos de
 escritura sobre el atributo homePhone, permisos de b�squeda para otras
 entradas de la "U of M", permisos de lectura para otros clientes que
 conecten desde alg�n lugar del dominio umich.edu, y permisos de
 comparaci�n para el resto del mundo.

 A veces es �til permitir que un DN particular se a�ada o elimine a s�
 mismo de un atributo. Por ejemplo, si se desea crear un grupo y
 permitir que los usuarios lo a�adan y eliminen de su atributo member
 en su propio DN, puede lograrse con una directiva de acceso como la
 siguiente:


      access to attr=member,entry
      by dnattr=member selfwrite



 El selector dnattr <qui�n> nos dice que el acceso se aplica a entradas
 listadas en el atributo member. El selector selfwrite access
 especifica que tales miembros s�lo pueden a�adir o eliminar del
 atributo su propio DN y no otros valores. El a�adido del atributo
 entry es necesario, ya que se requiere el access de la entrada para
 acceder a alguno de los atributos de esa entrada.

 Observe que la construcci�n attr=member en la cl�usula <qu�> es un
 atajo para la cl�usula "dn=* attr=member" (es decir, que coincide con
 el atributo member en todas las entradas).


 4.  Ejecuci�n del servidor LDAP

 Slapd puede ejecutarse de dos maneras diferentes, como demonio o
 servicio permanente, o bien desde inetd(8). Se recomienda la ejecuci�n
 como demonio permanente, sobre todo si usa el backend de LDBM. Ello
 permitir� al backend beneficiarse del uso de memoria de almacenamiento
 intermedio (cach�) y evita problemas de acceso compartido a los
 ficheros de �ndices de LDBM. Si �nicamente ejecuta un backend de tipo
 SHELL o PASSWD, entonces s� puede considerar la opci�n de ejecutar
 slapd desde inetd.


 4.1.  Opciones desde la l�nea de �rdenes

 Slapd soporta las siguientes opciones de l�nea de �rdenes:

    -d <nivel> | ?
       Esta opci�n fija el nivel de depuraci�n de slapd en <nivel>.
       Cuando el nivel es un car�cter  `?', se muestran los distintos
       niveles de depuraci�n y slapd termina, con independencia de
       cualquier otra opci�n que se introduzca. Los niveles de
       depuraci�n existentes son:


    �  1 trazado de llamadas a funci�n

    �  2 manejo de paquetes de depurado

    �  4 depurado de trazado intensivo heavy trace

    �  8 gesti�n de conexiones

    �  16 mostrar los paquetes enviados y recibidos

    �  32 procesado del filtro de b�squeda

    �  64 procesado de ficheros de configuraci�n

    �  128 procesado de listas de control de acceso

    �  256 estad�sticas de registro de
       conexiones/operaciones/resultados

    �  512 enviar las entradas de registro de estad�sticas

    �  1024 imprimir los backends de comunicaci�n con el int�rprete de
       �rdenes

    �  2048 imprimir el an�lisis completo de depuraci�n

    �  65535 activar depuraci�n completa

       Los niveles de depuraci�n son acumulativos. Si desea trazar
       llamadas a funciones y observar qu� fichero de configuraci�n se
       est� procesando, fije el nivel de depuraci�n al resultado de la
       suma de estos dos niveles ( en este caso, 65). Consulte el
       fichero <ldap.h> para m�s detalles.

       Observe que slapd se tendr� que haber compilado con la opci�n
       -DLDAP_DEBUG definida, si se desea un nivel de depuraci�n
       superior a los dos niveles de estad�sticas disponibles.


    -f <nombrefichero>
       Esta opci�n especifica un fichero de configuraci�n alternativo
       para slapd


    -i Esta opci�n le especifica a slapd que se ejecute desde inetd en
       vez de hacerlo como un demonio o servicio independiente. En la
       pr�xima secci�n encontrar� m�s detalles sobre la ejecuci�n de
       slapd desde inetd.
    -p <puerto>
       Esta opci�n especifica un puerto TCP alternativo en el que slapd
       se mantendr� a la escucha para las conexiones. El puerto por
       defecto es el 389.


 4.2.  Ejecuci�n de slapd  como demonio o servicio independiente

 Como norma general, slapd se ejecuta de la siguiente manera:



      # $(ETCDIR)/slapd [<opci�n>]*



 donde ETCDIR tiene el valor que le haya asignado en el fichero Make-
 common o en el gui�n ./configure durante la configuraci�n previa a la
 compilaci�n, y <opci�n> es una de las opciones descritas m�s arriba.
 A menos que haya especificado un nivel de depuraci�n, slapd se
 desvincular� autom�ticamente del terminal desde el que lo lanz�, y se
 ejecutar� en segundo plano, en modo demonio o servicio. Cualquiera de
 las opciones de m�s arriba pueden darse en la l�nea de �rdenes para
 hacer que slapd cargue un fichero de configuraci�n diferente, o que
 escuche en otro puerto, etc�tera.


 V�ase el siguiente ejemplo de comienzo de slapd:



      $(ETCDIR)/slapd -f /home/malere/mi_slapd.conf -d 255



 4.3.  Ejecuci�n de slapd desde inetd

 En primer lugar, aseg�rese de que sea una buena idea ejecutar slapd
 desde inetd. Si est� usando el backend LDBM, entonces no es buena
 idea. Si est� en un entorno de mucho servicio, entonces la sobrecarga
 que supone ejecutarlo desde inetd tambi�n lo convierte en una mala
 idea. Si no es su caso puede seguir adelante con los dos pasos
 necesarios.

 El primer paso es a�adir a /etc/services/ una l�nea como la siguiente:


      ldap 389 # ldap directory service



 El segundo paso es a�adir una l�nea como la siguiente a su fichero
 /etc/inetd.conf:


      ldap stream tcp nowait nobody $(ETCDIR)/slapd slapd -i



 donde ETCDIR tiene el valor que le haya asignado en el fichero Make-
 common o en el gui�n ./configure durante la configuraci�n previa a la
 compilaci�n.  Finalmente env�ele a inetd una se�al -HUP y ya tendr� su
 configuraci�n. (N. del T.: pruebe con killall -HUP inetd o mejor
 todav�a kill -HUP $(pidof inetd) o kill -TERM `cat
 $(ETCDIR)/inetd.pid`)


 5.  Creaci�n y mantenimiento de bases de datos

 Esta secci�n le explica c�mo crear una base de datos de slapd
 empezando desde cero. Hay dos maneras de crear una base de datos: la
 primera, puede crear la base de datos en l�nea, usando LDAP. Con este
 m�todo, s�lo tiene que ejecutar slapd y a�adir entradas usando el
 cliente LDAP de su elecci�n. Este m�todo es adecuado para bases de
 datos relativamente peque�as (algunos cientos o miles de entradas,
 dependiendo de los requerimientos).

 El segundo m�todo de creaci�n de bases de datos es no hacerlo en
 l�nea, sin mediante herramientas de generaci�n de �ndices. Este es el
 mejor m�todo si tiene que crear muchos miles de entradas, que si se
 introdujeran con el m�todo LDAP llevar�an un tiempo intolerablemente
 largo. Tambi�n es �til si desea asegurarse de que no se acceder� a la
 base de datos durante su creaci�n.


 5.1.  Creaci�n de una base de datos en l�nea

 El paquete de software OpenLDAP viene con una utilidad llamada
 ldapadd, que se utiliza para a�adir entradas mientras el servidor LDAP
 se ejecuta. Si decide crear en l�nea la base de datos, puede utilizar
 la herramienta ldapadd para a�adir las entradas. Tras de a�adir las
 primeras entradas, puede seguir usando posteriormente ldapadd para
 a�adir m�s entradas. Antes de iniciar slapd, aseg�rese de que activa
 las siguientes opciones de configuraci�n en su fichero sladp.conf:


 suffix <dn>


 Tal como se explic� en la ``secci�n 3'', esta opci�n describe qu�
 entradas se mantendr�n en esta base de datos. Deber� dar a esta opci�n
 el valor del DN de la ra�z del sub-�rbol que va a crear. Por ejemplo:

 suffix "o=TUDelft, c=NL"

 Aseg�rese de especificar en qu� directorio se crear�n los archivos de
 configuraci�n:

 directory <directorio>

 Por ejemplo:

 directory /usr/local/tudelft

 Tendr� que realizar el siguiente paso para poder conectar con slapd
 como usuario con permisos para a�adir entradas. Se lleva a cabo
 a�adiendo las dos siguientes opciones en la definici�n de la base de
 datos:

 rootdn <dn>

 rootpw <contrase�a> /* �Recuerde usar contrase�a �cripto� aqu� ! */

 Estas opciones especifican un DN y una contrase�a que pueden usarse
 para autentificarse como la entrada �superusuario� de una base de
 datos (es decir, la entrada que tiene permisos para realizar cualquier
 tarea). El DN y la contrase�a especificados aqu� funcionar�n siempre,
 con independencia de que la entrada de DN exista realmente o tenga una
 contrase�a v�lida igual a la especificada. As� se arregla del problema
 del qu� va primero, si el huevo o la gallina, a la hora de
 autentificarse y a�adir entradas antes de que las propias entradas
 existan siquiera.

 Finalmente debe asegurarse de que la definici�n de base de datos
 contiene las definiciones de �ndices que usted desea:

 index {<attrlist> | default} [pres,eq,approx,sub,none]

 Para indexar los atributos de clase de objetos (objectclass) cn, sn y
 uid se pueden usar por ejemplo las siguientes l�neas de configuraci�n:

  index cn,sn,uid

 index objectclass pres,eq

 index default none

 Una vez que haya configurado las cuestiones a su gusto, arranque su
 cliente LDAP y comience a a�adir entradas. Por ejemplo, para a�adir la
 entrada TUDelft seguida de una entrada Postmaster utilizando la
 herramienta ldapadd, puede crear un fichero llamado /tmp/entradanueva
 con el contenido:


      o=TUDelft, c=NL
      objectClass=organization

      o=TUDelft
      description=Technical University of Delft Netherlands

      cn=Postmaster, o=TUDelft, c=NL
      objectClass=organizationalRole
      cn=Postmaster
      description= TUDelft postmaster - [email protected]



 y luego utilizar una orden como la siguiente para crear de verdad la
 entrada:


      ldapadd -f /tmp/entradanueva -D "cn=Manager, o=TUDelft, c=NL" -w secret



 Estar orden supone que Usted ha configurado rootdn como "cn=Manager,
 o=TUDelft, c=NL" y que la contrase�a rootpw es �secret�.  Si no desea
 escribir la contrase�a en la l�nea de �rdenes, utilice la opci�n -W de
 la orden ldapadd, en lugar de -w "contrase�a". Se le pedir� que
 introduzca interactivamente la contrase�a:


      ldapadd -f /tmp/entradanueva -D "cn=Manager, o=TUDelft, c=NL" -W
      Enter LDAP Password :



 5.2.  Creaci�n de una base de datos sin estar en l�nea

 El segundo m�todo de creaci�n de una base de datos es hacerlo sin
 estar en l�nea, usando las herramientas de generaci�n de �ndices
 descritas m�s abajo. Este es el mejor m�todo si tiene que crear muchos
 miles de entradas, y crearlas con el m�todo interactivo de LDAP
 descrito arriba llevar�a mucho tiempo. Estas herramientas leen el
 fichero de configuraci�n de slapd y un fichero de entrada LDIF que
 contiene una representaci�n de las entradas que hay que a�adir en
 formato de texto. Estas herramientas generan los ficheros de �ndices
 LDBM directamente. Deber� asegurarse de la activaci�n de varias
 opciones de configuraci�n importantes, de manera que se encuentren
 primero en la definici�n de base de datos del fichero de
 configuraci�n:

 suffix <dn>

 Tal y como se ha descrito en la secci�n anterior, esta opci�n
 especifica qu� entradas se mantendr�n mediante esta base de datos.
 Debe Usted ajustarla al DN de la ra�z del sub-�rbol que intenta crear,
 por ejemplo:

 suffix "o=TUDelft, c=NL"

 Aseg�rese de especificar un directorio en el que crear los ficheros de
 �ndice:

 directory <directorio>

 Por ejemplo:

 directory /usr/local/tudelft

 Despu�s querr� seguramente aumentar el tama�o de la memoria de
 almacenamiento intermedio (cach�) interna de la aplicaci�n, y que se
 utiliza para cada fichero de �ndice abierto. Para un mejor rendimiento
 durante la creaci�n del fichero de �ndices, la situaci�n de
 rendimiento ideal es aquella en la que el fichero completo se carga en
 memoria.  Si el volumen de sus datos no permite esta operaci�n, o bien
 si no dispone de mucha memoria, todav�a podr� darle un valor alto a
 este par�metro y dejar que haga su trabajo la paginaci�n a disco del
 sistema. El tama�o se configura con la opci�n siguiente:

 dbcachesize <n�meroentero>

 Por ejemplo:

 dbcachesize 50000000

 Esto crear� una memoria de almacenamiento intermedio (cach�) de un
 tama�o de 50 MB, que ya es bastante grande (en la Universidad de
 Michigan la base de datos tiene cerca de 125.000 entradas, y el mayor
 fichero de �ndices ocupa aproximadamente 45 MB). Experimente Usted
 varias veces con este par�metro y con el grado de paralelismo (ver m�s
 abajo), con el fin de ver qu� combinaci�n funcione mejor en su
 sistema. Acu�rdese de devolver a este n�mero su valor original despu�s
 de crear los ficheros de �ndices y antes de ejecutar slapd.

 Finalmente tendr� que especificar concretamente qu� �ndices desea
 construir. Esto se consigue con una o m�s opciones que se aplican a
 los �ndices.

 index {<listaatributos> | default} [pres,eq,approx,sub,none]

 Por ejemplo:

 index cn,sn,uid pres,eq,approx

 index default none

 Esto crear� �ndices de presencia (presence), igualdad (equality) y
 aproximaci�n (approximate) de los atributos cn, sn y uid, y no crear�
 ning�n �ndice para ning�n otro atributo. Para m�s informaci�n acerca
 de esta opci�n, v�ase el fichero de configuraci�n en la  ``secci�n
 3''.

 Una vez que haya configurado estos par�metros seg�n sus preferencias,
 cree los �ndices ejecutando el programa ldif2ldbm:

 ldif2ldbm -i <ficheroentrada> -f <ficheroconfigslapd> [-d
 <niveldepuraci�n>] [-j <n�meroentero>] [-n <numerodebasedatos>] [-e
 <directorioetc>]

 Los argumentos tienen estos significados:

 -i <ficheroentrada>

 Especifica el fichero de entrada LDIF que contiene en formato de texto
 las entradas por a�adir.

 -f <ficheroconfigslapd>

 Especifica el fichero de configuraci�n de slapd que indica d�nde crear
 los �ndices, qu� �ndices hay que crear, etc.

 -d <niveldepuraci�n>

 Activa la depuraci�n, seg�n se especifique en <niveldepuraci�n>.  Los
 niveles de depuraci�n son los mismos que para slapd (v�ase la
 ``secci�n 4.1'').

 -j <n�meroentero>

 Es un argumento opcional que especifica que, como m�nimo la cantidad
 <n�meroentero>  de procesos han de iniciarse en paralelo en el momento
 de construir los �ndices. El valor por defecto es 1. Si se especifica
 un valor superior a 1, ldif2ldbm crear� como m�nimo ese n�mero de
 subprocesos a la hora de construir los �ndices. Para construir cada
 �ndice de atributos se crea un subproceso separado. La ejecuci�n en
 paralelo de estos procesos puede acelerar grandemente el resultado,
 pero tenga cuidado de no crear demasiados procesos que compitan todos
 a la vez por los recursos de disco y memoria.

 -n <n�merodebasedatos>

 Es un argumento opcional que especifica la base de datos del fichero
 de configuraci�n para la cual hay que construir los �ndices. La
 primera base de datos aparece listada como �1�, la segunda como �2�,
 etc. Se usa por defecto la primera base de datos LDBM que aparezca en
 el fichero de configuraci�n.

 -e <etcdir>

 Es un argumento opcional que especifica el directorio en donde
 ldif2ldbm podr� hallar las otras herramientas de conversi�n de bases
 de datos que precisa para ejecutarse (ldif2index y similares). El
 valor por defecto es el directorio de instalaci�n que se especific� en
 el gui�n de instalaci�n. V�ase el siguiente ejemplo del uso de la
 orden ldif2ldbm:

 /usr/local/sbin/ldif2ldbm -i nuevas_entradas -f myslapd.conf

 5.3.  Cuestiones adicionales sobre el formato LDIF

 El formato de intercambio de datos de LDAP (LDAP Data Interchange
 Format, LDIF) se usa para representar entradas de LDAP en formato de
 texto sencillo. La forma b�sica de una entrada es:


      [<id>]
      dn: <distinguished name>
      <tipodeatributo>: <valordel_atributo>
      <tipodeatributo>: <valordel_atributo>
      ...



 en donde <id> el ID opcional de la entrada (un n�mero decimal
 positivo). No se suele pasar este par�metro, permitiendo que la base
 de datos lo haga por usted. El programa ldbmcat, no obstante, produce
 un formato LDIF que incluye <id> de manera que los nuevos �ndices que
 se creen sean consistentes.

 Puede continuarse una l�nea a�adiendo un espacio al principio de la
 siguiente, p. ej.:


      dn: cn=Barbara J Jensen, o=University of Michi
       gan, c=US



 M�ltiples valores de un atributo se especifican en l�neas separadas,
 por ejemplo:


      cn: Barbara J Jensen
      cn: Babs Jensen



 Si un <valordel_atributo> contiene un car�cter no imprimible, o
 comienza con un espacio o con dos puntos �:�, entonces el
 <tipodeatributo>  va seguido con el signo los dos puntos, dos veces, y
 el valor se codifica en notaci�n de base 64; por ejemplo, el valor "
 begins with a space" se codificar�a de la manera siguiente:


      cn:: IGJlZ2lucyB3aXRoIGEgc3BhY2U=



 En el mismo fichero LDIF, las entradas m�ltiples se separan por l�neas
 en blanco. He aqu� un ejemplo de un fichero LDIF que contiene tres
 entradas:



 dn: cn=Barbara J Jensen, o=University of Michigan, c=US
 cn: Barbara J Jensen
 cn: Babs Jensen
 objectclass: person
 sn: Jensen

 dn: cn=Bjorn J Jensen, o=University of Michigan, c=US
 cn: Bjorn J Jensen
 cn: Bjorn Jensen
 objectclass: person
 sn: Jensen

 dn: cn=Jennifer J Jensen, o=University of Michigan, c=US
 cn: Jennifer J Jensen
 cn: Jennifer Jensen
 objectclass: person
 sn: Jensen
 jpegPhoto:: /9j/4AAQSkZJRgABAAAAAQABAAD/2wBDABALD
 A4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQ
 ERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVG
 ...



 N�tese que el tipo de atributo jpegPhoto en la entrada de Jennifer
 Jensen se codifica usando base64. El programa ldif que viene con el
 paquete OpenLDAP puede usarse para producir el formato LDIF.

 Nota: en un fichero LDIF, los espacios finales no se eliminan de los
 valores, ni tampoco se comprimen m�ltiples espacios internnnos. Si no
 los quiere en sus datos, no debe incluirlos.


 5.4.  Las utilidades ldapsearch, ldapdelete y ldapmodify

 ldapsearch - ldapsearch es una interfaz, accesible desde la l�nea de
 �rdenes, para la llamada a biblioteca ldap_search(3). Use esta
 utilidad para buscar entradas en el dorsal (backend) de nuestra base
 de datos LDAP.

 La sinopsis de las opciones de ldapsearch es la siguiente (v�ase la
 p�gina de manual de ldapsearch(1) para conocer el significado de cada
 opci�n):


      ldapsearch  [-n]  [-u]  [-v]
      [-k]  [-K]  [-t]  [-A]
      [-B] [-L] [-R]
      [-d niveldepuraci�n] [-F separador]
      [-f fichero] [-D dn_deacceso]  [-W]
      [-w contrase�a_acceso]  [-h servidorldap]
      [-p puertoldap]   [-b baseb�squeda]
      [-s base|one|sub]
      [-a never|always|search|find]
      [-l l�mitetiempo] [-z l�mitetama�o] filtro
      [atributos...]



 ldapsearch abre una conexi�n a un servidor LDAP, se �engancha� a �l y
 lleva a cabo una b�squeda utilizando el filtro filtro. Este filtro
 debe ajustarse a la representaci�n de cadenas de texto para filtros
 LDAP, tal y como se definen en el Request for Comments 1558 (RFC
 1558). Si ldapsearch encuentra una o m�s entradas, se obtienen los
 atributos especificados en atributos y se imprimen por salida est�ndar
 las entradas y sus valores. Si no se listan atributos, se devuelven
 todos los atributos.

 He aqu� algunos ejemplos del uso de ldapsearch:


      ldapsearch -b 'o=TUDelft,c=NL' 'objectclass=*'

      ldapsearch -b 'o=TUDelft,c=NL' 'cn=Rene van Leuken'

      ldasearch -u -b 'o=TUDelft,c=NL' 'cn=Luiz Malere' sn mail



 La opci�n -b representa la base de b�squeda (el punto inicial de la
 b�squeda) y la opci�n -u representa la opci�n �amigable para el
 usuario�, refiri�ndose a la informaci�n de salida.

 ldapdelete - ldapdelete es una interfaz, accesible desde la l�nea de
 �rdenes, para la llamada a biblioteca ldap_delete(3). Use esta
 utilidad para buscar entradas en el dorsal (backend) de nuestra base
 de datos LDAP.

 La sinopsis de las opciones de ldapdelete es la siguiente (v�ase la
 p�gina de manual de ldapdelete(1) para conocer el significado de cada
 opci�n):


      ldapdelete   [-n]   [-v]  [-k]
      [-K]  [-c]  [-d nivel_depuraci�n]
      [-f fichero]  [-D dn_de_enganche]  [-W]
      [-w contrase�a]  [-h servidorldap]
      [-p puertoldap] [dn]...



 ldapdelete abre una conexi�n con un servidor LDAP, se �engancha� a �l,
 y borra una o m�s entradas. Si se proporcionan uno o m�s argumentos de
 dn, se borrar�n las entradas con estos Distinguished Names. Cada dn
 debe se la representaci�n mediante una cadena de un DN de la forma
 especificada en el RFC 1779. Si no se proporcionan argumentos de dn,
 entonces se leer� la lista de DNs desde la entrada est�ndar (o bien
 desde un fichero si se utiliza la opci�n -f).

 He aqu� algunos ejemplos del uso de ldapdelete:


      ldapdelete 'cn=Luiz Malere,o=TUDelft,c=NL'

      ldapdelete -v 'cn=Rene van Leuken,o=TUDelft,c=NL' -D 'cn=Luiz Malere,o=TUDelft,c=NL' -W



 La opci�n -v representa el modo verboso. La opci�n -D representa el DN
 de enganche (Binddn) y la opci�n -W sirve para que se nos pregunte
 interactivamente por la contrase�a.


 ldapmodify - ldapmodify es una interfaz, accesible desde la l�nea de
 �rdenes, para la llamada a biblioteca ldap_modify(3) y ldap_add(3).
 Use esta utilidad para modificar entradas en el dorsal (backend) de
 nuestra base de datos LDAP.


 La sinopsis de las opciones de ldapmodify es la siguiente (v�ase la
 p�gina de manual de ldapmodify(1) para conocer el significado de cada
 opci�n):


      ldapmodify   [-a]  [-b]  [-c]
      [-r]  [-n]  [-v]  [-k]
      [-d nivelde_depuraci�n]  [-D dn_de_enganche]
      [-W]  [-w contrase�a]  [-h servidorldap]
      [-p puertoldap] [-f fichero]

      ldapadd [-b] [-c] [-r] [-n]
      [-v]  [-k]  [-K]
      [-d nivelde_depuraci�n]  [-D dn_de_enganche]
      [-w contrase�a]  [-h servidorldap]
      [-p puertoldap] [-f fichero]



 ldapadd est� implementado en forma de enlace no simb�lico (hard link)
 a la utilidad ldapmodify. Cuando se llama a la utilidad en la forma
 ldapadd, la opci�n -a (a�adir nueva entrada) se activa
 autom�ticamente.

 ldapmodify abre una conexi�n con un servidor LDAP, se �engancha� a �l,
 y modifica o a�ade entradas. La informaci�n sobre la entrada que hay
 que modificar se lee desde la entrada est�ndar o desde un fichero a
 trav�s de la opci�n -f.

 He aqu� algunos ejemplos del uso de ldapmodify:

 Suponiendo que el fichero /tmp/entrymods exista y tenga un contenido:


      dn: cn=Modify Me, o=University of Michigan, c=US
      changetype: modify
      replace: mail
      mail: [email protected]
      -
      add: title
      title: Grand Poobah
      -
      add: jpegPhoto
      jpegPhoto: /tmp/modme.jpeg
      -
      delete: description
      -



 La orden:


      ldapmodify -b -r -f /tmp/modif_entrada



 sustituir� el contenido del atributo mail de la entrada "Modify Me"
 con el valor "[email protected]", le a�adir� el t�tulo
 de "Grand Poobah", el contenido del fichero /tmp/modme.jpeg como
 jpegPhoto, y eliminar� completamente el atributo description.

 Pueden llevarse a cabo las mismas modificaciones usando el formato de
 introducci�n m�s antiguo de ldapmodify:


      cn=Modify Me, o=University of Michigan, c=US
      [email protected]
      +title=Grand Poobah
      +jpegPhoto=/tmp/modme.jpeg
      -description



 Esto m�s la orden siguiente:


      ldapmodify -b -r -f /tmp/modif_entrada



 Eso suponiendo que el fichero /tmp/newentry exista y tenga el
 siguiente contenido:


      dn: cn=Barbara Jensen, o=University of Michigan, c=US
      objectClass: person
      cn: Barbara Jensen
      cn: Babs Jensen
      sn: Jensen
      title: the world's most famous manager
      mail: [email protected]
      uid: bjensen



 La orden:


      ldapadd -f /tmp/modif_entrada



 Suponiendo que el fichero /tmp/modif_entrada exista y tenga el
 contenido:


      dn: cn=Barbara Jensen, o=University of Michigan, c=US
      changetype: delete



 La orden:


      ldapmodify -f /tmp/modif_entrada



 eliminar� la entrada de Babs Jensen.

 La opci�n -f representa �fichero� (leer las modificaciones desde un
 fichero en vez de hacerlo desde la entrada est�ndar). La opci�n -b
 representa a �binario�, es decir, cualquier tipo de valores que
 empiecen por '/' en el fichero de entrada se interpretan como
 binarios, y la -r representa �reemplazar� (sustituir los valores
 existentes de forma predeterminada).


 6.  M�s informaci�n y caracter�sticas adicionales

 En esta secci�n hallar� informaci�n sobre el Libro de Direcciones de
 Netscape, un cliente LDAP que puede utilizar para consultar su
 Directorio; tambi�n presentamos los detalles sobre c�mo implementar
 acceso m�vil o itinerante (roaming access) utilizando el Netscape
 Navigator en sus versiones 4.5 y superiores m�s su servidor LDAP. Se
 ha vertido mucha tinta electr�nica en las listas de correo de OpenLDAP
 sobre el acceso itinerante, pues se trata de una caracter�stica
 todav�a no implementada totalmente. A muchas personas no les agrada la
 forma en que Netscape Navigator interact�a con el servidor LDAP a la
 hora de realizar grabaciones y recuperaciones de datos. As� pues, si
 tras la lectura de estas l�neas tiene la impresi�n de que el acceso
 itinerante no funciona de la forma que usted desear�a, no se preocupe;
 muchas personas tienen la misma impresi�n que usted. La finalidad de
 la introducci�n de esta caracter�stica ha sido principalmente dar a la
 gente una idea de las posibilidades del protocolo LDAP, m�s que otras
 consideraciones. Para terminar, ver� algunas informaciones sobre c�mo
 matar con seguridad el proceso slapd y sobre los ficheros de registro
 (logs) de slapd.


 6.1.  Acceso itinerante (perfiles m�viles)


 El objetivo del acceso itinerante (llamado en Netscape �perfiles
 m�viles�) es que, desde cualquier lugar de la Red donde se encuentre,
 pueda obtener localmente sus marcadores de URL's, preferencias que
 personalizan la aplicaci�n, filtros de correo, etc�tera, mediante la
 utilizaci�n de un Navegador Netscape y un servidor LDAP.

 Se trata de una caracter�stica muy conveniente. Imagine que desde
 cualquier lugar al que pueda acceder a la Web, pueda tener sus propias
 preferencias en el navegador. Si va a viajar y precisa acceder a ese
 sitio de cambio de divisas que tiene almacenado en sus marcadores
 personales (bookmarks), no se inquiete; simplemente cargue sus
 marcadores y otros ficheros de configuraci�n en un servidor LDAP y
 podr� recuperarlos todos despu�s con independencia del lugar en el que
 se encuentre.

 Para implementar acceso itinerante (en ingl�s roaming access) ha de
 seguir los pasos que se detallan a continuaci�n:

 �  Cambiar su fichero de descripci�n de atributos

 �  Cambiar su fichero de descripci�n de clases de objetos
    (objectclass).

 �  Cambiar el fichero LDIF para que incluya perfiles

 �  Configurar el Netscape Navigator para que utilice el servidor LDAP
    como el servidor de acceso itinerante.

 �  Reiniciar el servidor LDAP con la nueva configuraci�n.


 - Cambiar el fichero de atributos Es preciso que a�ada nuevos
 atributos a la lista existente en el fichero slapd.at.conf; es este el
 fichero que se incluye en su slapd.conf y que normalmente se localiza
 en /usr/local/etc/openldap (N. del T.: si ha instalado su distribuci�n
 OpenLDAP a partir de un fichero .deb o de un .rpm, el lugar m�s
 probable ser� /etc/openldap/) :


      attribute       nsLIPtrURL              ces
      attribute       nsLIPrefs               ces
      attribute       nsLIProfileName         cis
      attribute       nsLIData                bin
      attribute       nsLIElementType         cis
      attribute       nsLIServerType          cis
      attribute       nsLIVersion             cis



 - Cambiar el fichero objectclass: Debe a�adir algunas clases nuevas a
 su fichero lapd.oc.conf (es otro fichero que se incluye en su
 slapd.conf y que se localiza normalmente en /usr/local/etc/openldap,
 para habilitar el acceso itinerante (N. del T.: si ha instalado su
 distribuci�n OpenLDAP a partir de un fichero .deb o de un .rpm, el
 lugar m�s probable ser� /etc/openldap/):



      objectclass nsLIPtr
      requires
              objectclass
      allows
              nsliptrurl,
              owner

      objectclass nsLIProfile
      requires
              objectclass,
              nsliprofilename
      allows
              nsliprefs,
              uid,
              owner

      objectclass nsLIProfileElement
      requires
              objectclass,
              nslielementtype
      allows
              owner,
              nslidata,
              nsliversion

      objectclass nsLIServer
      requires
              objectclass,
              serverhostname
      allows
              description,
              cn,
              nsserverport,
              nsliservertype,
              serverroot



 - Cambiar el fichero LDIF: Ahora ha de modificar el fichero LDIF,
 a�adi�ndole entradas de perfiles relativas a cada usuario que desee
 probar la caracter�stica de perfiles m�viles del Netscape. Obs�rvese
 un ejemplo de un fichero LDIF sencillo con entradas de perfiles:



      dn: o=myOrg,c=NL
      o: myOrg
      objectclass: organization

      dn: cn=seallers,ou=People,o=myOrg,c=NL
      cn: seallers
      userpassword: MiClaVE
      objectclass: top
      objectclass: person

      dn: nsLIProfileName=seallers,ou=Roaming,o=myOrg,c=NL
      changetype: add
      objectclass: top
      owner: cn=seallers,ou=People,o=myOrg,c=NL
      objectclass: top
      objectclass: nsLIProfile



 El paso siguiente es configurar Netscape para que habilite los per�
 files m�viles basados en su servidor LDAP. S�lo tiene que seguir la
 secuencia:

 - Vaya al men� Edit -> Preferences -> Roaming User

 Ahora tiene que activar el perfil m�vil (Roaming Access) para este
 perfil, haciendo click sobre la casilla de verificaci�n
 correspondiente a esta opci�n.

 - Rellene la caja del nombre de usuario (username) con el contenido
 apropiado, por ejemplo john

 Despliegue la flecha de la opci�n de Roaming User en la parte
 izquierda de la ventana de preferencias, para poder ver las opciones
 detalladas del acceso itinerante (perfiles m�viles).

 - Haga click sobre Server Information, habilite la opci�n LDAP Server
 y rellene las cajas de di�logo con la siguiente informaci�n:

 Address: ldap://myHost/nsLIProfileName=$USERID,ou=Roaming,o=myOrg,c=NL

 User DN: cn=$USERID,ou=People,o=myOrg,c=NL

 IMPORTANTE: Netscape sustituye autom�ticamente la variable $USERID por
 el nombre del perfil que haya seleccionado al arrancar el navegador.
 De manera que si ha elegido el perfil sanchez, sustituir� $USERID por
 sanchez, y si ha seleccionado el prefil gonzalez, sustituir� $USERID
 por gonzalez. Si no est� familiarizado con los perfiles, ejecute la
 aplicaci�n Profile Manager que se incluye en el paquete del Netscape
 Communicator (N. del T.: a partir de la versi�n 6.0, Netscape ha
 dejado otra vez de llamarse Communicator). El Profile Manager es una
 aplicaci�n dise�ada para satisfacer a m�ltiples usuarios de un
 navegador en una misma m�quina, de manera que cada uno de ellos pueda
 tener sus propia configuraci�n en el navegador.


 El �ltimo paso consiste en reiniciar el servidor; examine la ``secci�n
 6.3'' para ver la manera de hacerlo con seguridad, y la ``section 4''
 para ver c�mo reiniciarlo.


 6.2.  Libreta de direcciones de Netscape (Address Book)

 Una vez que tenga su servidor LDAP configurado y en marcha, puede
 acceder a �l a trav�s de clientes muy diferentes (por ejemplo la
 utilidad de l�nea de �rdenes ldapsearch). Un cliente muy interesante
 es la Libreta de direcciones de Netscape (Address Book). Est�
 disponible a partir de la versi�n 4.x de Netscape pero, para
 interactuar de manera estable con su servidor LDAP, tendr� que usar la
 versi�n 4.5 o superiores (N. del T.: ya est� disponible el Netscape
 6.0).

 S�lo tiene que seguir la secuencia:

 Abra Netscape Navigator -> Vaya al m�nu Communicator -> Address Book

 La libreta de direcciones (Address Book) de Netscape arrancar� con
 algunos directorios LDAP predeterminados. Ha de a�adir tambi�n su
 propio directorio LDAP, evidentemente.

 Vaya al men� File -> New Directory

 Complete los cuadros de di�logo con la informaci�n de su servidor, por
 ejemplo:

 - Description : TUDelft

 - LDAP Server : dutedin.et.tudelft.nl

 - Server Root : o=TUDelft, c=NL

 El puerto por defecto para LDAP es 389; no debe cambiarlo, a menos que
 cambiara esta opci�n al compilar su servidor.

 Realice ahora consultas sencillas a su servidor, unsando el cuadro de
 di�logo Show Names Containing, o consultas avanzadas, usando el bot�n
 Search for.


 6.3.  Matar al servidor LDAP

 Para matar con seguridad al servidor slapd, debe utilizar una l�nea de
 �rdenes como la siguiente:



      kill -TERM `cat $(ETCDIR)/slapd.pid`



 (N. del T.: en RedHat y distribuciones basadas en rh, como Mandrake y
 Esware, valdr� simplemente con /etc/rc.d/init.d/opeldap stop, mientras
 que en Debian y distribuciones basadas en Debian (Corel, Storm,
 Citius) bastar� con un /etc/init.d/openldap stop. En otras
 distribuciones el procedimiento es similar, buscando tal vez slapd en
 vez de openldap).

 Matar slapd de una manera m�s dr�stica puede provocar corrupci�n de
 las bases de datos, pues puede ser preciso vaciar ciertos tampones de
 almacenamiento intermedio antes de salir del servidor. N�tese que
 slapd escribe su PID en un fichero llamado slapd.pid en el directorio
 que haya configurado en el fichero slapd.conf, por ejemplo en
 /var/pid/slapd.pid (N. del T.: es �ste precisamente el caso de
 Debian).

 Puede cambiar la localizaci�n de este fichero PID cambiando la
 variable SLAPD_PIDFILE en include/ldapconfig.h.edit.

 slapd escribir� tambi�n sus argumentos en un fichero llamado
 slapd.args en el directorio que haya configurado en el fichero
 slapd.conf por ejemplo en /usr/local/var/slapd.args

 Podr� cambiar la ubicaci�n del fichero slapd.args si cambia la
 variable SLAPD_ARGSFILE en include/ldapconfig.h.edit.


 6.4.  Ficheros de registro (logs)

 slapd utiliza el recurso syslog(8) para generar registros de sus
 actividad. El usuario predeterminado del recurso the syslog(8) es
 LOCAL4, pero se permiten valores que van de LOCAL0, LOCAL1, hasta
 LOCAL7.

 Para habilitar la caracter�stica de generaci�n de archivos de registro
 (logs), debe editar el fichero syslog.conf, situado generalmente en el
 directorio /etc.

 Cree una l�nea como la siguiente:

 local4.*     /usr/adm/ldalog

 Esto har� que se utilice el usuario predeterminado LOCAL4 para el
 recurso syslog. Si no est� familiarizado con la sintaxis de esta
 l�nea, examine las p�ginas de manual de syslog, syslog.conf(5) y
 syslogd(8) para el recurso de syslog.  Si desea cambiar el usuario
 predeterminado o especificar el nivel de detalle de los registros
 generados (logs), tiene disponibles las siguientes opciones en el
 momento de arrancar slapd:

 -s nivel-de-syslog Esta opci�n le dice a slapd en qu� nivel de detalle
 deben registrarse las informaciones sobre depuraci�n en el recurso
 syslog(8). El nivel especifica la gravedad del mensaje, y representa
 una palabra clave tomada de la siguiente lista ordenada (de mayor a
 menor gravedad):  emerg, alert, crit, err, warning, notice, info, y
 debug.  Ejemplo: slapd -f myslapd.conf -s debug

 -l usuario-local-de-syslog Selecciona el usuario local del recurso
 syslog(8). Los valores pueden ir desde LOCAL0, LOCAL1, y as� hasta
 LOCAL7. El valor predeterminado es LOCAL4. No obstante, esta opci�n se
 permite �nicamente en sistemas que soportan usuarios locales en el
 recurso syslog(8).

 Eche un vistazo en este momento a los registros generados (logs);
 pueden ayudarle a resolver problemas con consultas, actualizaciones,
 enganches (bindings), etc.


 7.  Referencias

 7.1.  V�nculos (URLs)

 Se ofrecen aqu� URLs que contienen informaci�n muy �til acerca de
 LDAP. Se ha redactado este C�mo a partir de estas URLs, as� que si
 necesita informaci�n mas espec�fica tras la lectura de este documento,
 es probable que la encuentre aqu�:

 �  P�gina del LDAP de la Universidad de Michigan:

    http://www.umich.edu/~dirsvcs/ldap/index.html
    <http://www.umich.edu/~dirsvcs/ldap/index.html>

 �  P�gina de documentaci�n del LDAP de la Universidad de Michigan:

    http://www.umich.edu/~dirsvcs/ldap/doc/
    <http://www.umich.edu/~dirsvcs/ldap/doc/>

 �  Implementar manualmente el acceso itinerante (perfiles m�viles)

    http://help.netscape.com/products/client/communicator/manual_roaming2.html
    <http://help.netscape.com/products/client/communicator/manual_roaming2.html>


 �  Personalizar las opciones de LDAP para Communicator 4.5:

    http://developer.netscape.com/docs/manuals/communicator/ldap45.htm
    <http://developer.netscape.com/docs/manuals/communicator/ldap45.htm>


 �  Linux Directory Service (Servicio de Directorio en Linux)

    http://www.rage.net/ldap/ <http://www.rage.net/ldap/>


 7.2.  Libros

 He aqu� los libros m�s populares acerca de LDAP:

 �  LDAP: Programming Directory-Enabled Applications with Lightweight
    Directory Access Protocol, por Howes and Smith

 �  Understanding and Deploying LDAP Directory Servers, por Howes,
    Smith, and Good

 7.3.  RFCs

 He aqu� los RFC que se refieren a la cuesti�n de LDAP.  (N. del T.: si
 desea estar actualizado en los RFC de LDAP, teclee en Debian (v 2.2. y
 siguientes) : apt-get install ldap-rfc)

 �  RFC 1558: A String Representation of LDAP Search Filters
    (�Representaci�n en cadenas de los filtros de b�squeda de LDAP�)

 �  RFC 1777: Lightweight Directory Access Protocol (�Protocolo ligero
    de acceso a directorios�)

 �  RFC 1778: The String Representation of Standard Attribute Syntaxes
    (�Representaci�n en cadenas de las sintaxis est�ndar de los
    atributos�)

 �  RFC 1779: A String Representation of Distinguished Names
    (�Representaci�n en cadenas de los nombres distintivos�)

 �  RFC 1781: Using the OSI Directory to Achieve User Friendly Naming
    (�Utilizaci�n del directorio OSI para obtener denominaciones
    amigables para el usuario�)

 �  RFC 1798: Connectionless LDAP (�LDAP sin conexi�n�)

 �  RFC 1823: The LDAP Application Programming Interface (�La interfaz
    de programaci�n de aplicaciones LDAP�)

 �  RFC 1959: An LDAP URL Format (�Formato de URLs para LDAP�)

 �  RFC 1960: A String Representation of LDAP Search Filters
    (�Representaci�n en cadenas de los filtros de b�squeda de LDAP�)
 �  RFC 2251: Lightweight Directory Access Protocol (v3) (�Protocolo
    ligero de acceso a directorios, versi�n 3�)

 �  RFC 2307: LDAP as a Network Information Service (�LDAP como
    servicio de informaci�n en redes�)