Configuració del servei OpenLDAP
El primer que farem sera actualitzar els paquets instalats, i farem la instalacio del paquet de OpenLDAP
sudo apt-get update && sudo apt-get install slapd ldap-utils db4.8-util -y
vagrant@debian:~$ sudo /usr/sbin/slapd -VV
$OpenLDAP: slapd 2.5.13+dfsg-5 (Feb 8 2023 01:56:12) Ara el que farem amb la següent comanda configurarem el servei i seguirem la configuracio de les imatges
sudo dpkg-reconfigure -plow slapd 





Per organitzar el directori, crearem un arxiu amb format LDIF que servirà per definir les Unitats Organitzatives d’usuaris i grups.
vim estructura.ldif Copia i enganxa aquest contingut exactament:
dn: ou=usuaris,dc=illa3,dc=es
objectClass: organizationalUnit
ou: usuaris
dn: ou=grups,dc=illa3,dc=es
objectClass: organizationalUnit
ou: grups Utilitzarem la següent comanda per afegir aquestes unitats organitzatives, identificant-nos com a administradors del domini illa3.es
ldapadd -x -D "cn=admin,dc=illa3,dc=es" -W -f estructura.ldif vagrant@debian:~$ ldapadd -x -D "cn=admin,dc=illa3,dc=es" -W -f estructura.ldif
Enter LDAP Password:
adding new entry "ou=usuaris,dc=illa3,dc=es"
adding new entry "ou=grups,dc=illa3,dc=es"
Per demostrar que tot funciona, ara crearem un usuari anomenat ‘Joan’ dins de la unitat organitzativa d’usuaris.
vim usuari.ldif Copia i enganxa aquest contingut dintre de l’arxiu creat
dn: uid=alvaro,ou=usuaris,dc=illa3,dc=es
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
uid: alvaro
sn: Perez
givenName: Alvaro
cn: Alvaro Perez
displayName: Alvaro Perez
uidNumber: 10000
gidNumber: 10000
userPassword: {SSHA}hola1
# Contraseña d'exemple
loginShell: /bin/bash
homeDirectory: /home/Alvaro
vagrant@debian:~$
Executa la comanda per afegir-lo
ldapadd -x -D "cn=admin,dc=illa3,dc=es" -W -f usuari.ldif vagrant@debian:~$ ldapadd -x -D "cn=admin,dc=illa3,dc=es" -W -f usuari.ldif
Enter LDAP Password:
adding new entry "uid=alvaro,ou=usuaris,dc=illa3,dc=es"
Per acabar farem una prova, fem una cerca per veure l’usuari ‘Alvaro’ dins del directori, per veure si el servei permet gestionar usuaris correctament:
ldapsearch -x -b "ou=usuaris,dc=illa3,dc=es" "(uid=alvaro)" vagrant@debian:~$ ldapsearch -x -b "ou=usuaris,dc=illa3,dc=es" "(uid=alvaro)"
# extended LDIF
#
# LDAPv3
# base <ou=usuaris,dc=illa3,dc=es> with scope subtree
# filter: (uid=alvaro)
# requesting: ALL
#
# alvaro, usuaris, illa3.es
dn: uid=alvaro,ou=usuaris,dc=illa3,dc=es
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
uid: alvaro
sn: Perez
givenName: Alvaro
cn: Alvaro Perez
displayName: Alvaro Perez
uidNumber: 10000
gidNumber: 10000
loginShell: /bin/bash
homeDirectory: /home/Alvaro
# search result
search: 2
result: 0 Success
# numResponses: 2
# numEntries: 1
Per fer la prova final i veure que tot funciona bé, farem una cerca usant l’usuari acabat de crear, per veure que té accés a la base de dades i tot funciona correcte.
ldapsearch -x -D "uid=alvaro,ou=usuaris,dc=illa3,dc=es" -W -b "dc=illa3,dc=es" -s base vagrant@debian:~$ ldapsearch -x -D "uid=alvaro,ou=usuaris,dc=illa3,dc=es" -W -b "dc=illa3,dc=es" -s base
Enter LDAP Password:
# extended LDIF
#
# LDAPv3
# base <dc=illa3,dc=es> with scope baseObject
# filter: (objectclass=*)
# requesting: ALL
#
# illa3.es
dn: dc=illa3,dc=es
objectClass: top
objectClass: dcObject
objectClass: organization
o: illa3
dc: illa3
# search result
search: 2
result: 0 Success
# numResponses: 2
# numEntries: 1