Saltar al contenido

Guía paso a paso: Montando tu propio directorio OpenLDAP con LAM

Introducción

OpenLDAP es una implementación libre del protocolo LDAP (Lightweight Directory Access Protocol), ampliamente utilizada para gestionar directorios de usuarios y grupos en redes corporativas y entornos educativos. En este tutorial configuraremos:

  1. Un servidor OpenLDAP sobre Linux, incluyendo dominio y administración con contraseña.
  2. LDAP Account Manager (LAM) para administración web del directorio.
  3. Un cliente Linux que se autentica contra el servidor LDAP.
  4. Creación de OUs, grupos y usuarios vía LAM.
  5. Verificación de la integración desde el cliente.

Este ejercicio está pensado para realizarse en dos máquinas virtuales (o físicas):

  • Servidor: dominio abc.test (donde “abc” son tus iniciales).
  • Cliente: también miembro de abc.test.

Requisitos previos

  • Dos máquinas Linux (Debian/Ubuntu o derivadas), con dos interfaces de red en modo NAT host-only para comunicación mutua.
  • Acceso root o usuario con sudo en ambas.
  • Conexión a Internet para instalar paquetes.

1. Mostrar IP y FQDN del servidor

En el servidor, comprueba tus interfaces y nombre de host:

# Muestra todas las IP asignadas
ip a

# Verifica el nombre de host corto
hostname

# Verifica el FQDN (debe resolver tu dominio abc.test)
hostname -f

Captura de pantalla de la salida de estos comandos y aplícalos en tu informe.


2. Instalación y configuración de OpenLDAP

Paso 2.1 – Instalar paquetes

sudo apt update
sudo apt install -y slapd ldap-utils

Durante la instalación:

  • Dominio: abc.test
  • Contraseña de administrador: elige una clave segura (por ejemplo AdminLdap123!).

Si no te la pide, reconfigura:

sudo dpkg-reconfigure slapd

Paso 2.2 – Verificar esquema y suffix

Edita (si fuera necesario) /etc/ldap/ldap.conf para que apunte al servidor:

URI ldap://localhost
BASE dc=abc,dc=test

3. Mostrar el contenido actual de la base de datos

Para ver la base recién creada:

sudo slapcat

o bien:

ldapsearch -x -LLL -H ldap://localhost -D "cn=admin,dc=abc,dc=test" -W -b "dc=abc,dc=test"

Captura de pantalla de la salida mostrando las entradas base (dc=abc,dc=test).


4. Instalación de LDAP Account Manager (LAM)

sudo apt install -y ldap-account-manager

5. Configurar LAM para acceso remoto solo por admin

Edita el fichero de configuración principal, por ejemplo /etc/ldap-account-manager/config.cfg.php:

$servers->setValue('server','host','127.0.0.1');
$servers->setValue('server','base',array('dc=abc,dc=test'));
$servers->setValue('login','attr','cn');
$servers->setValue('login','bind_id','cn=admin,dc=abc,dc=test');
$servers->setValue('login','bind_pass','AdminLdap123!');

Y en el apartado de control de acceso:

$login->setValue('access','users', array('*'));   // solo admin
$login->setValue('access','admins', array('cn=admin,dc=abc,dc=test'));

Reinicia Apache2:

sudo systemctl restart apache2

Accede desde el navegador a http://IP_DEL_SERVIDOR/lam e inicia sesión con:

  • Usuario: admin
  • Contraseña: la que definiste.

6. Configurar sufijos de usuarios y grupos en LAM

En LAM, ve a Global Configuration → Account Settings y define:

  • Users suffix: ou=usuarios,dc=abc,dc=test
  • Groups suffix: ou=grupos,dc=abc,dc=test

Guarda los cambios.


7. Crear OU y un grupo “rrhh”

  1. Dentro de LAM, ve a Object Browser.
  2. Crea una OU llamada usuarios bajo dc=abc,dc=test.
  3. Crea una OU llamada grupos bajo dc=abc,dc=test.
  4. Dentro de grupos, crea un Group tipo posixGroup con:
    • cn: rrhh
    • gidNumber: 10000 (o el siguiente disponible).

Captura de pantalla de la creación del grupo rrhh.


8. Crear un usuario “usuario.abc” y asignarlo a rrhh

En LAM:

  1. Selecciona New User → posixAccount.
  2. Rellena:
    • cn: usuario.abc
    • sn: abc
    • uid: usuario.abc
    • uidNumber: 10000
    • gidNumber: 10000 (el del grupo rrhh)
    • Home Directory: /home/usuario.abc
    • Login shell: /bin/bash
    • User Password: define una clave.
  3. Guarda y comprueba que aparece en ou=usuarios.

Captura de pantalla con el nuevo usuario y su grupo.


9. Configurar cliente Linux para autenticación LDAP

En la máquina cliente:

sudo apt update
sudo apt install -y libnss-ldap libpam-ldap nscd

Durante la instalación:

  • URI LDAP server: ldap://IP_DEL_SERVIDOR
  • Distinguished name of the search base: dc=abc,dc=test
  • LDAP version: 3
  • Bind DN: deja vacío (anónimo)
  • Bind password: deja vacío
  • Root LDAP suffix: dc=abc,dc=test

10. Ajustar archivos de configuración

10.1 /etc/nsswitch.conf

Añade ldap a passwd y group:

passwd:         compat ldap
group:          compat ldap
shadow:         compat ldap

10.2 /etc/pam.d/common-auth y /etc/pam.d/common-session

Verifica que incluyan:

auth    required   pam_unix.so nullok_secure
auth    required   pam_ldap.so use_first_pass

session required   pam_unix.so
session required   pam_ldap.so
session optional   pam_mkhomedir.so skel=/etc/skel/ umask=0022

Reinicia NSS caching:

sudo systemctl restart nscd

11. Verificar que el cliente ve usuarios LDAP

getent passwd usuario.abc

Deberías ver la línea del usuario con su UID, GID y home.

Captura de pantalla de la salida de getent passwd usuario.abc.


12. Iniciar sesión con el usuario LDAP

En la consola de cliente (o vía SSH):

su - usuario.abc

Verifica:

whoami        # debe imprimir usuario.abc
id
ls -ld ~      # la carpeta /home/usuario.abc debe existir

Captura de pantalla del prompt tras iniciar sesión y del contenido de tu home.


Conclusión

Con estos pasos has desplegado un entorno LDAP completo:

  1. Servidor OpenLDAP configurado y poblado.
  2. LAM para gestión web de usuarios y grupos.
  3. Cliente Linux autenticándose y creando homes al vuelo.
  4. Creación de OUs, grupos y usuarios mediante interfaz web.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Información básica sobre protección de datos Ver más

  • Responsable: Tomas Gonzalez.
  • Finalidad:  Moderar los comentarios.
  • Legitimación:  Por consentimiento del interesado.
  • Destinatarios y encargados de tratamiento:  No se ceden o comunican datos a terceros para prestar este servicio.
  • Derechos: Acceder, rectificar y suprimir los datos.
  • Información Adicional: Puede consultar la información detallada en la Política de Privacidad.

¿Atascado con tu proyecto? Presupuesto GRATIS

X
error: Content is protected !!
Este sitio web utiliza cookies, si necesitas más información puedes visitar nuestra política de privacidad    Ver
Privacidad