Instal·lació d'un controlador de domini LDAP
Last updated
Last updated
El programa OpenLDAP s'instal·la com a servei amb el paquet slapd.
Slapd (Independent LDAP Daemon) és un programa que s'executa en segon pla, atenent les sol·licituds d'autenticació LDAP que es rebin al servidor.
Durant l’instal·lació, només us demana que introduïu una contrasenya de l’administrador del servei LDAP.
Un cop instal·lat OpenLADP cal configurar-lo amb la comanda:
sudo dpkg-reconfigure slapd
La primera pantalla que es mostra, actua com a mesura de seguretat, per assegurar-se que no fem canvis per error. Cal anar amb compte perquè la pregunta es fa a l'inrevés, és a dir , ens pregunta si volem ometre la configuració del servidor haurem de triar la opció NO.
El directori LDAP ha de tenir una arrel de la qual penja la resta d'elements. Com a nom de l'arrel de domini s'utilitza un nom DNS. En el nostre cas utilitzarem el domini ldapxxx.local (xxx són les teves inicials en minúscules).
Nom de l'entitat en la qual estem instal·lant el directori LDAP: ldapxxx.local
Se us informarà sobre els possibles gestors de bases de dades per emmagatzemar el directori. Es recomana HDB perquè ens permetrà canviar els noms dels subarbres si fos necessari.
Esborrar la base de dades anterior del directori quan acabem la configuració de slapd: SI.
Com s’ha decidit esborrar la base de dades antiga, l'assistent ens pregunta si volem canviar-la de lloc la base de dades antiga: NO.
En algunes xarxes pot ser necessari mantenir la versió 2 del protocol LDAP. Pregunta si volem permetre el protocol LDAPv2. En el nostre cas NO.
La configuració s'ha realitzat amb èxit.
Una vegada configurat el servei, ens assegurem que funciona amb l’ordre següent:
sudo nmap localhost
El servei ha d’escoltar en el port 389.
Verifica el seu funcionament amb la comanda slapcat
que permet veure la base de dades de l’OpenLDAP en format LDIF.
Per tal d’arrencar o reiniciar el servidor LDAP, executeu l’ordre següent:
sudo /etc/init.d/slapd restart
Si no hem configurat correctament el servei LDAP o volem canviar el nom del domini, es pot tornar a configurar el servei amb la comanda:
sudo dpkg-reconfigure slapd
També instal·larem el paquet ldap-utils que proporciona algunes comandes per realitzar consultes i modificacions a la base de dades del servei LDAP.
Com que aquest paquet es troba en els repositoris oficials d'Ubuntu, cal escriure la següent comanda:
sudo apt install ldap-utils
Per no haver d'indicar la base del domini i el servidor en cada comanda, es pot configurar l'arxiu /etc/ldap/ldap.conf
:
Descomentant les línies amb els paràmetres BASE i URI
I posant la base del domini i la IP del servidor LDAP (si hi hagués un servidor de DNS, també es podria utilitzar el nom DNS del servidor de LDAP, per exemple usxxx.ldapxxx.local):
Per comprovar amb ldap-utils que la configuració del servei LDAP és correcta i veure els elements que hi ha a la base de dades LDAP es pot utilitzar la següent comanda que mostra tots els dn dels objectes del domini (de moment només el del domini i el de l'usuari admin):
On:
-x
: tipus d'autenticació amb el servidor LDAP
-LLL
: mostra les dades sense comentaris, en versió 1 i sense mostrar la versió del document
dn
: Només mostrarà la línia del distinguished name - dn de cada objecte.
També podem fer servir:
Sense la configuració prèvia de l'arxiu /etc/ldap/ldap.conf
, la comanda hauria de ser:
També podem fer servir:
Si mirem d'entendre la comanda, veure que podem obtenir la informació que necessitem de la nostra estructura LDAP.
L'estructura bàsica de la comanda és:
On:
<previous_options>: són els arguments com
-x
: tipus d'autenticació amb el servidor LDAP)
-LLL
: mostra les dades sense comentaris, en versió 1 i sense mostrar la versió del document)
-H
: serveix per indicar l'URI del servidor (IP o nom, amb o sense port del servei) --> ldap://172.30.0.20 ó ldap://servidorLDAP ó ldap://172.30.0.20:389 ó ldap://servidorLDAP:389
-b
: és la base de cerca. Per exemple dc=ldapxxx,dc=local
iniciaria la cerca des de l'arrel del domini i ou=persones,dc=ldapxxx,dc=local
iniciaria la cerca des de la unitat organitzativa persones
(object_type)=(object_value) on:
object_type: és el tipus d'objecte que es vol cercar com objectClass, cn, uid, uidNumber,...
object_value: és el valor que cerquem, per exemple objectClass=posixAccount
ens mostraria tot els usuaris, uid: pau
mostraria la informació de l'usuari pau, i * mostraria tots els objectes (exemple: uid:*
--> tots els usuaris)
Més informació: