¡Hola Amigos!. Vamos a hacer una red con varios equipos de escritorio, pero en ésta ocasión con el Sistema Operativo Debian 7 «Wheezy». Como servidor el ClearOS. Como dato, observemos que el proyecto Debian-Edu usa Debian en sus servidores y estaciones de trabajo. Y ese proyecto nos enseña y facilita el montar una escuela completa.
Es imprescindible lean antes:
- Introducción a una Red con Software Libre (I): Presentación del ClearOS
Veremos:
- Red de ejemplo
- Configuramos el cliente LDAP
- Archivos de configuración creados y/o modificados
- El archivo /etc/ldap/ldap.conf
Red de ejemplo
- Controlador de Dominio, DNS, DHCP, OpenLDAP, NTP: ClearOS Enterprise 5.2sp1.
- Nombre del Controlador: centos
- Nombre del Dominio: amigos.cu
- IP del Controlador: 10.10.10.60
- ——————————————-
- Versión de Debian: Wheezy.
- Nombre del equipo: debian7
- Dirección IP: Mediante DHCP
Configuramos el cliente LDAP
Debemos tener a mano los datos del servidor OpenLDAP, los que obtenemos de la interfaz web de administración del ClearOS en «Directory» –> «Domain and LDAP«:
LDAP Base DN: dc=amigos,dc=cu LDAP Bind DN: cn=manager,cn=internal,dc=amigos,dc=cu LDAP Bind Password: kLGD+Mj+ZTWzkD8W
Instalamos paquetes necesarios. Como el usuario root ejecutamos:
aptitude install libnss-ldap nscd finger
Observe que la salida del comando anterior, incluye también al paquete libpam-ldap. Durante el proceso de instalación nos harán varias preguntas, las cuales debemos responder correctamente. Las respuestas serían en el caso de éste ejemplo:
URI del servidor de LDAP: ldap://10.10.10.60 El nombre distintivo (DN) de la base de búsquedas: dc=amigos,dc=cu Versión de LDAP a utilizar: 3 Cuenta LDAP para root: cn=manager,cn=internal,dc=amigos,dc=cu Contraseña para la cuenta LDAP de root: kLGD+Mj+ZTWzkD8W Ahora nos anuncia que el archivo /etc/nsswitch.conf no se gestiona de forma automática, y que lo debemos modificar manualmente. ¿Desea permitir que la cuenta del administrador de LDAP se comporte como el administrador local?: Si ¿Hace falta un usuario para acceder a la base de datos LDAP?: No Cuenta del administrador de LDAP: cn=manager,cn=internal,dc=amigos,dc=cu Contraseña para la cuenta LDAP de root: kLGD+Mj+ZTWzkD8W
Si nos equivocamos en las respuestas anteriores, ejecutamos como el usuario root:
dpkg-reconfigure libnss-ldap dpkg-reconfigure libpam-ldap
Y respondemos adecuadamente las mismas preguntas formuladas antes, con la única adición de la pregunta:
Algoritmo de cifrado local a utilizar en las contraseñas: md5
Ojo al responder porque el valor por defecto que se nos ofrece es Crypt, y nosotros debemos declarar que es md5. También nos muestra una pantalla en modo consola con la salida del comando pam-auth-update ejecutado como root, la cual debemos Aceptar.
Modificamos el archivo /etc/nsswitch.conf, y lo dejamos con el siguiente contenido:
# /etc/nsswitch.conf # # Example configuration of GNU Name Service Switch functionality. # If you have the `glibc-doc-reference' and `info' packages installed, try: # `info libc "Name Service Switch"' for information about this file. passwd: compat ldap group: compat ldap shadow: compat ldap hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4 networks: files protocols: db files services: db files ethers: db files rpc: db files netgroup: nis
Modificamos el archivo /etc/pam.d/common-session para que cree automáticamente las carpetas de usuarios al iniciar sesión en caso de que no existan:
[----] session required pam_mkhomedir.so skel=/etc/skel/ umask=0022 ### La línea anterior se debe incluir ANTES de # here are the per-package modules (the "Primary" block) [----]
Ejecutamos en una consola como el usuario root, Sólo para Comprobar, pam-auth-update:
Reiniciamos el servicio nscd, y hacemos comprobaciones:
:~# service nscd restart [ ok ] Restarting Name Service Cache Daemon: nscd. :~# finger trancos Login: trancos Name: Trancos El Rey Directory: /home/trancos Shell: /bin/bash Never logged in. No mail. No Plan. :~# getent passwd trancos trancos:x:1006:63000:Trancos El Rey:/home/trancos:/bin/bash :~# getent passwd legolas legolas:x:1004:63000:Legolas El Elfo:/home/legolas:/bin/bash
Modificamos la política de re conexión con el servidor OpenLDAP.
Editamos como el usuario root y con mucho cuidado, el archivo /etc/libnss-ldap.conf. Buscamos la palabra «hard«. Eliminamos el comentario de la línea #bind_policy hard y la dejamos así: bind_policy soft.
El mismo cambio mencionado antes, lo hacemos en el archivo /etc/pam_ldap.conf.
Las modificaciones anteriores eliminan una serie de mensajes relacionados con el LDAP durante el arranque y al mismo tiempo lo agiliza (el proceso de arranque).
Reiniciamos nuestro Wheezy porque los cambios realizados son medulares:
:~# reboot
Después de reiniciar, podemos iniciar sesión con cualquier usuario registrado en el OpenLDAP del ClearOS.
Recomendamos que a continuación se realice lo siguiente:
- Hacer miembro a los usuarios externos a los mismos grupos a los que pertenece el usuario local creado durante la instalación de nuestro Debian.
- Mediante el comando visudo, ejecutado como root, dar los permisos de ejecución necesarios a los usuarios externos.
- Crear un marcador con la dirección https://centos.amigos.cu:81/?user en Iceweasel, para tener acceso a la página personal en el ClearOS, donde podemos cambiar nuestra contraseña personal.
- Instalar el OpenSSH-Server -si es que no lo seleccionamos al instalar el sistema- para poder acceder a nuestro Debian desde otro equipo.
Archivos de configuración creados y/o modificados
El tema LDAP requiere de mucho estudio, paciencia y experiencia. La última no la tengo. Recomendamos encarecidamente que los paquetes libnss-ldap y libpam-ldap, en el supuesto caso de una modificación manual que provoque que la autenticación deje de funcionar, sean vueltos a configurar correctamente mediante el comando dpkg-reconfigure, o sea generado por DEBCONF.
Los archivos de configuración relacionados son:
- /etc/libnss-ldap.conf
- /etc/libnss-ldap.secret
- /etc/pam_ldap.conf
- /etc/pam_ldap.secret
- /etc/nsswitch.conf
- /etc/pam.d/common-sessions
El archivo /etc/ldap/ldap.conf
Éste archivo aun no lo hemos tocado para nada. Sin embargo, la autenticación funciona correctamente debido a la configuración de los archivos relacionados anteriormente y a la propia configuración del PAM generada por pam-auth-update. No obstante, también lo debemos configurar adecuadamente. Facilita el uso de comandos como ldapsearch, proporcionados por el paquete ldap-utils. La configuración mínima sería:
BASE dc=amigos,dc=cu URI ldap://10.10.10.60 SIZELIMIT 12 TIMELIMIT 15 DEREF never
Podemos comprobar si el servidor OpenLDAP del ClearOS funciona correctamente, si ejecutamos en una consola:
ldapsearch -d 5 -L "(objectclass=*)"
La salida del comando es copiosa. 🙂
¡Me encanta Debian!. Y se acabó la actividad por hoy, Amigos !!!
Excelente articulo, directo a mi cajon de tips
Gracias por comentar Elav… más combustible 🙂 y espera el próximo que trata de autenticar mediante sssd contra un OpenLDAP.
Muchas gracias por compartir, esperando con ansias las demas entrega 😀
Gracias por comentar !!!. Parece que la inercia mental de autenticar contra un dominio Microsoft es fuerte. De ahí los pocos comentarios. Por eso escribo sobre las verdaderas alternativas libres. Si lo miras bien, son más fáciles de implementar. Un poco conceptual al principio. Más nada.