¡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 !!!