De la même façon que NIS, c’est un Active Directory donc nous aurons besoin d’une machine serveur et d’une machine cliente, pour cela nous aurons deux machines (virtualisées) Debian 12 Standard
Machine Hôte (Debian 12)
Faire les mises à jour et installer l’applicatif OpenLDAP
apt update && apt upgrade -y
apt install slapd ldap-utils ufw -y
PS : On installe UFW pour le pare-feu (optionnel)
Ajoutez ces lignes dans le fichier /etc/hosts en modifiant les valeurs entre crochets (enlevez les crochets)
nano /etc/hosts
127.0.1.1 [Hostname]
[Adresse IP du serveur LDAP] [Hostname].[FQDN] [Hostname] [FQDN]
Configurez le pare-feu en utilisant UFW (optionnel)
ufw allow port 389/tcp
ufw allow port 636/tcp
Utilisation de dpkg-reconfigure sladp pour configurer le serveur LDAP et sa base de données
dpkg-reconfigure sladp
Répondez « Non » à « Voulez-vous omettre la configuration d’OpenLDAP ? » Nom de domaine DNS : servldap.fr [FQDN] Nom d’organisation : servldap [FQDN sans alias] Mot de passe administrateur : [Choisissez un mot de passe fort] Moteur de base de données : MDB Supprimer la base lors de la purge : Oui Déplacer l’ancienne base de données : Oui
Pour vérifier la configuration, utilisez slapcat
slapcat
Créez le dossier /etc/ldap/changes
mkdir /etc/ldap/changes
Générez un mot de passe hashé, puis copiez-le dans la configuration qui suit
slappasswd -s [Mot de passe]
Créez le fichier /etc/ldap/changes/update_config.ldif
Ce fichier permet de contrer les erreurs lors de la connexion au user Admin
Pour créer un utilisateur il faut créer un fichier dans /etc/ldap/changes nommé add_user.ldif
nano /etc/ldap/changes/add_user.ldif
Incorporez ces lignes dans le fichier, puis modifiez le hash du mot de passe, en copiant le hash généré par le mot de passe souhaité une nouvelle fois avec slappasswd
slappasswd -s [Mot de passe]
dn: uid=ebaron,ou=users,dc=servldap,dc=fr
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
cn: Erwann Baron #Prénom et nom
sn: Baron #Nom
givenName: Erwann #Prénom
uid: jdupont #Username
uidNumber: 10000 #ID de l'Utilisateur
gidNumber: 10000 #Groupe ID
homeDirectory: /home/ebaron
loginShell: /bin/bash
userPassword: {SSHA}E8rboh823CDLQ23TC47ce1PCMU6sfe4o