
Como vimos en otro momento, openLDAP es una implementación de código abierto del protocolo LDAP. Para efectos de éste tutorial, mostramos los comandos iniciales para usar openLDAP.
Su uso nos permite tener una estructura de accesos de directorios para diferentes tipos de usuarios, cuya información y permisos están jerarquizados y por lo tanto contienen perfiles de cada usuario y éstos a su vez tienen accesos a ciertos directorios, lo cual es muy útil para cualquier empresa grande u organización.
Instrucciones
Previamente al uso de comandos en OpenLDAP, le mostraremos como instalar OpenLDAP en su servidor. Debido a que el proceso de instalación y configuración es un poco complicado, sobretodo para los nuevos usuarios, mostraremos una forma simple para configurarlo en su equipo y así aprovechar todas las ventajas que el protocolo nos ofrece.
Es importante conocer la licencia al utilizar el software o al compartir contenido relacionado con OpenLDAP (como lo es éste tutorial). Ésta licencia la puedes encontrar aquí.
1. Descargar el software
Puede obtener una copia del software siguiendo las instrucciones en la página de descarga del software OpenLDAP (http://www.openldap.org/software/download/). Se recomienda que los nuevos usuarios descarguen la última versión.
2. Descomprimir la versión
Elija un directorio para descomprimir al directorio, vaya a el directorio deseado y desempaquete la distribución con los siguientes comandos:
gunzip -c openldap-VERSION.tgz | tar xvfB - # Ir al directorio de distribución cd openldap-VERSION
Tendrá que reemplazar VERSIÓN con el nombre de la versión descargada.

3. Revisar la documentación
Ahora debe revisar los documentos COPYRIGHT, LICENCE, README e INSTALL provistos con la distribución. COPYRIGHT y LICENCE proporcionan información sobre el uso aceptable, la copia y la limitación de la garantía del software OpenLDAP.
4. Compilar y construir openLDAP
Para compilar los contenidos del paquete, tenemos un script de configuración proporcionado por OpenLDAP para configurar la distribución por construir en su sistema. El script de configuración acepta muchas opciones de línea de comandos que habilitan o deshabilitan características opcionales de software. Por lo general, los valores predeterminados están bien, pero es posible que desee cambiarlos. Para obtener una lista completa de las opciones que configura acepta, use la opción —help:
./configure --help
Sin embargo, generalmente es suficiente en la mayoría de los casos realizar una configuración por defecto de openLDAP, lo cuál se hace al ejecutar el siguiente comando:
./configure
Posteriormente hay que construir el software. Este paso tiene dos partes, primero construimos dependencias y luego compilar, verificando que no existan errores durante la construcción
make depend make
Si desea verificar que se ha efectuado una compilación correcta, debe ejecutar el conjunto de pruebas (solo lleva unos minutos):
make test
Se ejecutarán las pruebas que se apliquen a su configuración y deberían pasar todas. Sin embargo, algunas pruebas, como la prueba de replicación, pueden omitirse.
5. Instalar el software
Ahora estamos listos para instalar el software; esto requiere privilegios de superusuario, los cuáles puede hacer así si no está en modo root:
su root -c 'make install'
El contenido por defecto se instala en el directorio /usr/local, sin embargo en configure se puede cambiar el prefijo para almacenar el contenido del software.
6. Editar el archivo de configuración
Aquí comienza lo emocionante. Use su editor favorito para editar el ejemplo por defecto slapd.ldif (generalmente ubicado en /usr/local/etc/openldap/slapd.ldif) para contener una definición de base de datos MDB de acuerdo al siguiente formulario:
dn: olcDatabase=mdb,cn=config objectClass: olcDatabaseConfig objectClass: olcMdbConfig olcDatabase: mdb OlcDbMaxSize: 1073741824 olcSuffix: dc=[MI-DOMINIO],dc=[COM] olcRootDN: cn=Manager,dc=[MI-DOMINIO],dc=[COM] olcRootPW: secret olcDbDirectory: /usr/local/var/openldap-data olcDbIndex: objectClass eq
Asegúrese de reemplazar [MI-DOMINIO] y [COM] con los componentes de dominio apropiados para su nombre de dominio. Por ejemplo, si su dominio es example.com, use la siguiente configuración:
dn: olcDatabase=mdb,cn=config objectClass: olcDatabaseConfig objectClass: olcMdbConfig olcDatabase: mdb OlcDbMaxSize: 1073741824 olcSuffix: dc=example,dc=com olcRootDN: cn=Manager,dc=example,dc=com olcRootPW: secret olcDbDirectory: /usr/local/var/openldap-data olcDbIndex: objectClass eq
Si su dominio contiene subdominios, por ejemplo: eng.uni.edu.eu, hay que aplicar la configuración:
dn: olcDatabase=mdb,cn=config objectClass: olcDatabaseConfig objectClass: olcMdbConfig olcDatabase: mdb OlcDbMaxSize: 1073741824 olcSuffix: dc=eng,dc=uni,dc=edu,dc=eu olcRootDN: cn=Manager,dc=eng,dc=uni,dc=edu,dc=eu olcRootPW: secret olcDbDirectory: /usr/local/var/openldap-data olcDbIndex: objectClass eq
Los detalles sobre la configuración de slapd se pueden encontrar en slapd-config. Es muy importante que el directorio olcDbDirectory debe existir antes de iniciar slapd.
7. Importar la base de datos de configuración
En éste momento, se debe importar la base de datos de configuración para ser utilizada por slapd. Para ello ejecutamos:
su root -c /usr/local/sbin/slapadd -F /usr/local/etc/cn=config -l /usr/local/etc/openldap/slapd.ldif
8. Iniciar SLAPD
Ahora está listo para iniciar el daemon de LDAP (slapd), el cuál va a ejecutarse como un servicio en segundo plano capaz de atrapar las peticiones del usuario, para ello ejecutamos el comando:
su root -c /usr/local/libexec/slapd -F /usr/local/etc/cn=config
Para verificar que el servidor está funcionando y que se encuentre configurado en forma correcta, es suficiente ejecutar una búsqueda en él con el comando ldapsearch. Por defecto, ldapsearch se ejecuta así:
/usr/local/bin/ldapsearch: ldapsearch -x -b '' -s base '(objectclass=*)' namingContexts
Tenga en cuenta el uso de comillas simples alrededor de los parámetros del comando para evitar que los caracteres especiales se interaccionen. El resultado debería mostrarse como sigue:
dn: namingContexts: dc=example,dc=com
9. Agregar entradas iniciales a su directorio
Puede usar ldapadd para agregar entradas a su directorio LDAP. ldapadd espera una entrada en formato ldif. Para ello debemos crear un archivo ldif y ejecutar ldapadd sobre ese archivo. La estructura básica de un archivo ldif podría ser la siguiente:
dn: dc=[MI-DOMINIO],dc=[COM] objectclass: dcObject objectclass: organization o: [MI ORGANIZACIÓN] dc: [MI-DOMINIO] dn: cn=Manager,dc=[MI-DOMINIO],dc=[COM] objectclass: organizationalRole cn: Manager
En donde hay que reemplazar [MI-DOMINIO] y [COM] con los componentes de su dominio. [MI ORGANIZACIÓN] debe reemplazarse con el nombre de su organización. Cuando corte y pegue, asegúrese de recortar los espacios en blanco iniciales y finales. Por ejemplo:
dn: dc=example,dc=com objectclass: dcObject objectclass: organization o: Example Company dc: example dn: cn=Manager,dc=example,dc=com objectclass: organizationalRole cn: Manager
Una vez en existencia el archivo ldif de acuerdo a este formato, usted puede agregar las entradas al directorio usando ldapadd con la siguiente sintaxis:
ldapadd -x -D "cn=Manager,dc=[MY-DOMAIN],dc=[COM]" -W -f example.ldif
Asegúrese de reemplazar [MY-DOMAIN] y [COM] con los componentes de su dominio. Se le solicitará el “secreto” especificado en el archivo inslapd.conf. Por ejemplo, para el dominio example.com sería:
ldapadd -x -D "cn=Manager,dc=example,dc=com" -W -f example.ldif
En donde example.ldif es el archivo que se creó anteriormente.
10. Validar el funcionamiento
Por último, para verificar que las entradas agregadas se encuentren en su directorio, se puede usar cualquier cliente LDAP. Como ejemplo usamos la herramienta ldapsearch. Para el ejemplo del dominio example.com, utilizamos la siguiente consulta:
ldapsearch -x -b 'dc=example,dc=com' '(objectclass=*)'
Este comando buscará y recuperará cada entrada en la base de datos existente.
Ahora que está listo para agregar más entradas usando ldapadd u otro cliente LDAP, experimente con varias opciones de configuración, arreglos de backend, etc. Tenga en cuenta que, de manera predeterminada, la base de datos slapd otorga acceso de lectura a todos los registros, excepto al superusuario (como se especifica en la directiva de configuración rootdn). Se recomienda que establezca permisos para restringir el acceso a los usuarios autorizados, lo cuál veremos en otro tutorial.
1 comentario en «Comandos iniciales para OpenLDAP»