Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
LDAP es un servicio de acceso ligero a directorios muy utilizado como base de datos de registros y
contraseñas de usuario, actualmente existen muchos servicios que se pueden enlazar con ldap para la
administración de nombres de usuario y contraseñas.
INTALACION INICIAL:
-Cuando se está instalando darle el respectivo uri en este caso se está usando:
-El nombre distintivo (DN) de las bases de búsqueda LDAP será:
- Introduzca la versión del protocolo LDAP que debería usar. Generalmente es una buena idea
utilizar el número de versión más alto que esté disponible = 3
Debemos especificar que no necesitamos usuarios para acceder a las bases de datos LDAP, sin embargo
el siguiente paso es crear un usuario administrador:
Sigue la especificación de cómo se llamara el nuevo usuario, a que parte del árbol de directorios
pertenecerá:
Como todos sabemos, en Linux no puede existir ninguna cuenta sin contraseña, bueno a excepción que
en algunas de las últimas versiones de Ubuntu, que permiten la habilitación de cuentas sin contraseña,
pero en este caso LDAP no se suma a esto, por lo que nos solicita una contraseña:
1-Configuracion de archivos principales del servidor
Se edita el archivo /etc/ldap/slapd.conf para configurar las variables que nos interesan:
# Schema and objectClass definitions verificar que deben estar los siguientes esquemas:
La línea seleccionada en verde hay que agregarla, se deja comentada debido a que esta se usara en
futuras practicas con postfix(servidor de correo electronico)
- Openldap utiliza una estructura de árbol de directorios, el cual se lee al igual que los dominios,
por lo cual nuestro sufijo quedara asi:
- Ahora debemos descomentar la línea que aparece abajo, esta por defecto aparece
descomentada y es el sufijo del root
- En este caso vamos a crear contraseñas cifradas mediante un hash MD5, aunque ldap tiene otras
opciones de configuración del ciframiento de las contraseñas.
Con este comando se nos pide el password y su respectiva confirmación, el resultado es la última línea
de la pantalla anterior.
El password resultante lo agregamos como argumento del passwd de nuestro rootdn, exactamente esto
corresponde a la línea 64, debajo del rootdn que descomentamos anteriormente, para llegar a dicha
línea presionamos ctrl+w y luego ctrl+t, digitamos el numero de línea (64 en este caso) y debe
quedarnos así:
- Debemos definir índices para acelerar las búsquedas, esto es en la búsqueda de atributos,
agregamos la siguiente línea debajo de los demás índices, o al final del archivo, aunque lo
recomendable es agregarla debajo de los demás índices:
-La última parte en slapd.conf es el control de acceso: El tema del ACL en openldap es muy potente
y a la vez algo complejo. Debajo de las siguientes líneas adaptarlo como sigue:
El siguiente paso es configurar el archivo /etc/ldap/ldap.conf, el cual debe quedar exacatamente así, o
dependiendo del sufijo que tengamos, en mi caso:
Ahora para poder ingresar los usuarios se necesita activar el schema de courier. Si no, no se puede
asignar “objectClass: CourierMailAccount” a las nuevas entradas del server OpenLDAP.
Así que se procede a instalar los siguientes paquetes nuevos, el courier-authlib-ldap y se copia el
schema.
La estructura de la base de datos es muy “sencilla”, se configura como un árbol invertido con distintas
ramas en función del uso al que se destinen.
Esto se puede hacer de dos maneras, una en línea y la otra fuera de línea; en línea se refiere a que se
realiza mediante phpldapadmin, y fuera de línea se realiza mediante comandos en ficheros con formato
ldif
En segundo lugar se creará la estructura de la base de datos y se introducirán las primeras entradas:
En esta ocasión utilizaremos tres ramas, mas una subrama. Osea que vamos a tener cuatro unidades
organizacionales “ou = organizationalUnit”
- Inicialmente se crea un fichero nuevo llamado base.ldif en la ruta /etc/ldap y se crea la base
como sigue:
- Ahora se crea un fichero nuevo llamado primer.ldif en la ruta /etc/ldap y se crean las unidades
organizacionales(usuarios,grupos y postfix) , un alias y los usuarios de ejemplo, como se
muestra a continuación:
#nano /etc/ldap/primer.ldif
dn: uid=rwfernandez,ou=usuarios,dc=sena2009,dc=edu,dc=co
uid: rwfernandez
givenName: rwfernandez
displayName: Ricaurte wilmer
sn: fernandez
cn: wilmer
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
objectClass: CourierMailAccount
gidNumber: 20000
homeDirectory: /home/mperez
uidNumber: 10002
shadowExpire: -1
shadowFlag: 0
shadowInactive: -1
shadowMax: 999999
shadowMin: -1
shadowWarning: 7
mail: rwfernandez@sena2009.edu.co
mailbox: sena2009.edu.co/rwfernandez/
defaultdelivery: /var/vmail/
userPassword: {MD5}uX0eIjV/eNzyZXlorcegCQ==
loginShell: /bin/bash
#l: colombia
telephoneNumber: 302633
mobile: 3147521862
st: Cali
postalAddress: cali 1, 1
postalCode: 95892
Cargamos el primer.ldif :
- En este momento ya tenemos tres ramas(usuarios, grupos y postfix, y una subrama(alias) lista.
Phpldapadmin es la mejor manera que tenemos para administrar servidores ldap, o al menos la mas
amigable, ya que tiene una administración muy parecida a la de un directorio activo, solo que mucho
mas grafica y sencilla de manejar
Por lo tanto para cargar en el navegador el phpldapadmin, supongamos que la ip del server es:
10.73.68.82
http://10.73.68.82/phpldapadmin
Aparece una interface que pide como quién se va entrar. En este caso como rootdn
cn=admin,dc=sena2009,dc=edu,dc=co y su password (rootpw).
Desde aquí se puede también al igual que en consola crear, añadir, quitar, etc.
Para verificar por consola lo que se ha agregado al servidor ldap, se puede usar, el comando:
#ldapsearch –x
Luego de haber accedido a phpldapadmin, vemos que aparece todo lo que creamos en la entrada
anterior mediante el archivo ldif asi:
Esto es lo que nos aparece en cuanto nos loggeamos como administradores en nuestro phpldapadmin,
ahora comenzaremos a explorar algunas funciones del phpldapadmin.
-cuando damos clic en cualquier entrada podemos ver todo lo que configuramos en nuestro archivo ldif:
- Estas son las opciones que nos ofrece phpldapadmin cuando damos clic en un usuario, esto es
en la parte de arriba de la pagina:
Como vemos tenemos las opciones de borrar, comparar, agregar atributos, cambiar nombre, ver
atributos internos, exportar.
- En la opción compare tenemos que podemos comparar cualquier entrada en el directorio con
cualquier otra para verificar atributos, esto se hace así:
- Con la opción copy debemos seleccionar a que parte del directorio queremos copiar y luego:
Luego de modificar todo lo que deseamos, entonces damos clic en sabe changes en la parte de
abajo y nos aparece la siguiente pantalla para confirmar los cambios:
Si habilitamos alguno de los check box a la derecha de esta pantalla, entonces nos dará como
resultado que el cambio que hicimos no sea realizado y quede un valor igual al anterior.
- Phpldapadmin tiene una opción para verificar que el password configurado en el servidor ldap
es el mismo que tiene el usuario, esto se hace al final de la pagina resultante de dar clic sobre el
usuario:
Nos abre una ventana en la que escribiremos el password asignado así:
- En caso de que necesitemos cambiar la contraseña de un usuario, entonces damos clic sobre el
usuario y vamos hasta el final de la pagina, donde antes comprobamos la contraseña así:ç
Y listo, ya fue cambiado el password del usuario, nos aparece como si apenas hubiéramos dado
clic sobre el usuario.
En este caso, solamente por ensayar, coloque el mismo valor en el password del usuario, ante
lo cual la respuesta de phpldapadmin fue la siguiente:
Una cosa que pude notar luego de hacer estos “cambios en las contraseñas”, no se a que se
deba, si es a un error en el sistema de LDAP o en realidad es así, es que lo que creí que era un
cambio de password, en realidad parece ser un password mas.
PROBLEMAS
Otro problema menor que tuve fue que había copiado mal el sufijo del directorio en uno de los
archivos de configuración, pero después de que lo arreglé funciono normal.