Instalacion de ldap en la maquina freston
Para ello tenemos en nuestro escenario una maquina llamada freston con una ip privada 10.0.1.11 accesible desde dulcinea, en esta maquina vamos a instalar un servidor ldap y en el vamos a crear dos unidades organizativas, una para personas y otra para los grupos.
Importante recalcar que nuestra maquina freston tiene como hostname freston y como fqdn freston.franjavier.gonzalonazareno.org lo cual es muy importante a la hora de la resolucion dns.
Instalacion del paquete slapd
Para ello vamos a instalar desde repositorios el paquete llamado slapd que es el que contiene el servidor ldap:
#### Instalamos slapd ####
debian@freston:~$ sudo apt install slapd
#### Nos salta la ventana de contraseña y la introducimos ####
#### Comprobamos el servicio de slapd ####
debian@freston:~$ sudo systemctl status slapd.service
● slapd.service - LSB: OpenLDAP standalone server (Lightweight Directory Access Protocol)
Loaded: loaded (/etc/init.d/slapd; generated)
Active: active (running) since Wed 2020-12-09 18:33:33 CET; 1min 0s ago
Tenemos que tener en cuenta que se levanta en el puerto 389/tcp. Ahora si queremos ver el contenido en bruto podemos usar el siguiente comando:
#### Mostramos todo el servidor ldap ####
debian@freston:~$ sudo slapcat
dn: dc=franjavier,dc=gonzalonazareno,dc=org
objectClass: top
objectClass: dcObject
objectClass: organization
o: IESGN
dc: franjavier
...
Tambien podemos usar las herramientas de ldap en el paquete ldap-utils:
debian@freston:~$ sudo apt install ldap-utils
Pero a nosotros nos interesa añadir las entradas de forma manual para tener mas control sobre estas, por lo que ejecutamos el siguiente comando y seguimos los pasos que nos va indicando:
debian@freston:~$ sudo dpkg-reconfigure -plow slapd
Donde:
- Nombre de dominio DNS: franjavier.gonzalonazareno.org
- Nombre de la organización: IESGN
- Contraseña del administrador de OpenLDAP: xxxxxxxx
- Motor de base de datos: MDB (opción por defecto).
- Marcamos que si se elimine el directorio cuando slapd se elimine (opción por defecto).
- Seleccionamos que se remueva el antiguo directorio (opción por defecto).
Crear unidades organizativas
Para ello vamos a usar los fichero .ldif el cual es un estandar para las configuracion de ldap. Se escribe como texto plano y en el se pueden añadir, modificar y eliminar registros que luego se cargan mediante un comando. Es el formato en el que se muestran las salidas de slapcat y cada elemento se separa con una linea en blando.
Podemos hacerlo de distinta forma, o bien podemos hacerlo a traves de un fichero unico o bien dividiendolo en varios fichero. En mi caso lo hare mediante el fichero unidadesorganizativas.ldif.
#### Creamos el fichero de unidadesorganizativas.ldif ####
dn: ou=Personas,dc=franjavier,dc=gonzalonazareno,dc=org
objectClass: top
objectClass: organizationalUnit
ou: Personas
dn: ou=Grupos,dc=franjavier,dc=gonzalonazareno,dc=org
objectClass: top
objectClass: organizationalUnit
ou: Grupos
#### Lo añadimos ####
root@freston:~# ldapadd -x -D 'cn=admin,dc=franjavier,dc=gonzalonazareno,dc=org' -W -f /home/debian/fich_ldif/unidadesorganizativas.ldif
Enter LDAP Password:
adding new entry "ou=Personas,dc=franjavier,dc=gonzalonazareno,dc=org"
adding new entry "ou=Grupos,dc=franjavier,dc=gonzalonazareno,dc=org"
Donde podemos ver que en el fichero hemos creado dos objetos de la clase organizationalUnit para organizar los grupos y usuarios que vayamos añadiendo. El nombre que le he puesto es simple, personas para usuario y grupos para grupos.
Luego vemos el comando que hemos usado el cual vemos como indicamos las credenciales del admin, e indicamos el fichero que vamos a añadir.
Ahora si hacemos de nuevo una vista en bruto de todos nuestros elementos veremos dos nuevos:
#### Ejecutamos slapcat ####
# Unidad personas #
dn: ou=Personas,dc=franjavier,dc=gonzalonazareno,dc=org
objectClass: top
objectClass: organizationalUnit
ou: Personas
...
# Unidad grupos #
dn: ou=Grupos,dc=franjavier,dc=gonzalonazareno,dc=org
objectClass: top
objectClass: organizationalUnit
ou: Grupos