Tal y como ya se había explicado en el capítulo 2 del handbook, el primer paso para crear un ambiente de autenticación con OpenLDAP es instalar y configurar el servidor slapd. Dependiendo de la fuente de instalación, el árbol del directorio podría estar ya preparado o no. En el caso descrito en este handbook, que es la instalación a partir de de la compilación del código fuente, el árbol no está preparado para trabajar correctamente con él. Esto es porque el árbol está vacío. No contiene información alguna, por lo que antes de poder trabajar con el e introducir la información de usuarios y grupos conviene introducir esta información básica, que es el DN raíz y el usuario de administración de el árbol. Este usuario, con la configuración por defecto del servidor slapd, va a tener poder para modificar cualquier información del árbol.
En realidad con la configuración básica del servidor se puede hacer cualquier tipo de operación de escritura en el árbol usando un método de autenticación simple que consiste en utilizar el usuario root que figura en el fichero slapd.conf, y el rootpw que también figura ahí. Ya que todavía no existe información en el árbol, un método de autenticación simple es el más adecuado y rápido para introducir la información base, pero una vez hecho esto, es conveniente usar métodos de autenticación más compleja como es SASL.

Tras estar seguros de que la configuración del servidor es correcta, se inicia el servidor, siempre con permisos de root, de la siguiente forma:

/usr/local/libexec/slapd

Una vez arrancado, el siguiente paso es crear los datos que más tarde se va a introducir en el árbol. Esta información se escribe en un formato específico para LDAP, que se llama ldif.
Un fichero en formato ldif, contiene los valores de los atributos de cada dato que se quiere introducir, modificar o eliminar del árbol.
Como cualquier otro formato de datos, está definido por una especificación formal, que puede consultarse mismo, en la documentación del proyecto OpenLDAP. Cada dato que puede pertenecer a uno o varios schemas, posee una serie de atributos obligatorios y otros opcionales. En realidad para introducir un dato en el árbol solo hay necesidad de definir los atributos obligatorios para ese dato. Por supuesto para utilizar los datos de un árbol para objetivos más específicos es necesario que sean definidos los atributos pertinentes para que el funcionamiento sea el deseado.

Con cualquier editor se crea un fichero, que por ejemplo se va a llamar base.ldif y se rellena con los datos básicos para el árbol de los que se ha hablado antes. Por ejemplo:

dn: dc=codeplex,dc=ndos
objectclass: dcObject
objectclass: organization
o: Nucleo de Desenvolvimento
dc: codeplex

dn: cn=Manager,dc=codeplex,dc=ndos
objectclass: organizationalRole
cn: Manager

Evidentemente, cada uno ha de modificar la información en negrita por sus valores particulares.

Una vez que el fichero ldif está listo hay que introducirlo en el árbol. Esto se puede hacer con varios clientes de los que se hablará más tarde. Se va a utilizar uno que forma parte de las herramientas de administración de OpenLDAP. Esto se puede hacer de la siguiente forma:

ldapadd -x -D "cn=Manager,dc=codeplex,dc=ndos" -W -f base.ldif

Si se da un repaso a la documentación del comando ldapadd de ese comando se deduce lo siguiente:
  • El parámetro -x indica que para la inserción de el contenido de base.ldif, se quiere utilizar una autenticación simple.
  • El parámetro -D quiere decir que el usuario que se va a usar para la escritura en el árbol es “cn=Manager,dc=codeplex,dc=ndos” que previamente se ha definido con el atributo rootdn del fichero slapd.conf.
  • El parámetro -W indica que tras ejecutar ese comando, se va a solicitar la contraseña correspondiente al rootdn anterior, que también está definido con el parámetro rootpw en el fichero slapd.conf.
  • El parámetro -f, como es de esperar, indica que el fichero a continuación es el que contiene la información, que en este caso, se quiere introducir en el árbol.

La forma más rápida y apropiada de comprobar si los datos han sido bien introducidos en el árbol LDAP es ejecutando una consulta de búsqueda como la siguiente:

ldapsearch -x -b 'dc=codeplex,dc=ndos' '(objectclass=*)'

Esta consulta se puede ejecutar desde cualquier usuario del sistema. También se puede observar, que la consulta se hace sin especificar ningún usuario del servidor LDAP. Esto es porque esta vez no se esta realizando ninguna operación de escritura. Tal y como está configurado por defecto el servidor, se puede realizar una consulta de búsqueda de forma anónima, aunque por defecto esta consulta no va a mostrar toda la información que hay introducida en la base de datos, como pueden ser los atributos de contraseña userPassword.

Last edited Sep 18, 2006 at 6:22 PM by luisbosque, version 5

Comments

No comments yet.