Construction de la base de l'annuaire LDAP

Pour commencer ý saisir des informations dans notre annuaire, il s'agit de crÈer deux fichiers texte au format LDIF. Avant de saisir les informations concernants les utilisateurs, il faut dans un premier temps dÈfinir la sociÈtÈ qui est la racine de l'annuaire. Pour cela, il faut crÈer un fichier societe.txt contenant les informations suivantes :

   dn: o=commentcamarche, c=fr 
   o:commentcamarche 
   description: CCM est notre sociÈtÈ de test pour l'annuaire LDAP 
   postofficebox: Ville de votre sociÈtÈ 
   postaladdress: Adresse de votre sociÈtÈ 
   postalcode: Code postal de votre sociÈtÈ 
   objectclass: organization
Ensuite, pour entrer ces informations dans l'annuaire, il faut utiliser la commande suivante :
ldapadd -D "cn=ldap_admin, o=commentcamarche, c=fr" -W -f societe.txt
Le mot de passe de l'administrateur (dans le cas présent "secret") sera demandé :
Enter LDAP Password: 
le message suivant devrait alors apparaÓtre :
adding new entry o=commentcamarche, c=fr
Le paramËtre -D dÈfini la chaÓne de connexion ý l'annuaire avec l'utilisateur ldap_admin. -W siginifie que l'on veut un prompt pour saisir le mot de passe. Il aurait été possible d'utiliser le paramËtre ´ -w secret ª mais l'inconvÈnient est que le mot de passe de l'administrateur est saisi en clair (-w n'est ý utiliser seulement lors de la crÈation des scripts pour automatiser certaines opÈrations). Enfin, le paramËtre -f indique le fichier LDIF ý insÈrer dans l'annuaire.

Nous allons procÈder ensuite de la mÍme faÁon pour crÈer notre premier utilisateur. Il s'agit d'éditer un fichier personne.txt qui contient :

   dn: cn=DUPOND Georges, o=commentcamarche, c=fr 
   cn: DUPOND Georges 
   mail: dupond@tuxserveur.tuxdomaine 
   telephonenumber:84756 
   objectclass: person
Deux remarques : Ensuite, pour entrer ces informations dans l'annuaire, il faut utiliser la commande suivante :
ldapadd -D "cn=ldap_admin, o=commentcamarche, c=fr" -W -f personne.txt
AprËs avoir saisi le mot de passe, vous devriez obtenir :
adding new entry cn=DUPOND Georges, o=commentcamarche, c=fr
Pour saisir de nouveaux utilisateurs, il suffit de modifier le fichier personne.txt et utiliser la commande ldapadd.

Consultation de l'annuaire LDAP

La consultation de l'annuaire se fait par l'intermÈdiaire de la commande ldapsearch.

Trois exemples pour illustrer l'utilisation de cette commande :

ldapsearch -b ´ o=commentcamarche, c=fr ª ´ o=commentcamarche ª
Permet d'obtenir les informations concernant la sociÈtÈ. (-b est utilisÈ pour prÈciser le point de dÈpart de la recherche).
ldapsearch -b ´ o=commentcamarche, c=fr ª ´ objectclass=personª
Permet d'obtenir les informations concernant les utilisateurs que vous avez saisi que votre annuaire.
ldapsearch -b ´ o=commentcamarche, c=fr ª ´ cn=DUPOND*ª
Permet d'obtenir les informations de tous les utilisateurs DUPOND prÈsents dans votre annuaire.

Suppression d'un ÈlÈment de l'annuaire LDAP

Pour supprimer un ÈlÈment, la commande ldapdelete doit être utilisé en prÈcisant le Distinguished Name (DN) complet de l'objet ý dÈtruire. Ne pas oublier de prÈciser aussi l'utilisateur ý utiliser pour effectuer la destruction, ici ldap_admin. Par exemple, pour dÈtruire l'utilisateur PILLOU Jean-François de l'annuaire :

ldapdelete -v -D "cn=ldap_admin, o=commentcamarche, c=fr" -W ´ cn=PILLOU Jean-François, o=commentcamarche, c=fr ª
Vous devez obtenir (-v est l'option verbose : mode ´ parlant ª) le message suivant :
deleting entry "cn=PILLOU Jean-François, o=commentcamarche, c=fr"
removed

modification d'un ÈlÈment de l'annuaire LDAP

La modification de l'annuaire n'est pas une opÈration facile. Il faut dans un premier lieu crÈer un fichier contenant les modifications puis lancer la commande ldapmodify. Par exemple, pour modifier le numÈro de tÈlÈphone de l'utilisateur DUPOND, on doit crÈer un fichier modif.txt contenant les informations suivantes :

   dn: cn=DUPOND Georges, o=commentcamarche, c=fr 
   changetype: modify 
   replace: telephoneNumber 
   telephoneNumber: 72845
Puis lancer ensuite la commande :
ldapmodify -v -D "cn=ldap_admin, o=commentcamarche, c=fr" -W -f modif.txt
Pour obtenir le résultat suivant :
   replace telephoneNumber: 
   72845 
   modifying entry cn=DUPOND Georges, o=commentcamarche, c=fr 
   modify complete
De plus, il est possible d'ajouter ou supprimer des ÈlÈments des objets en utilisant la syntaxe suivante dans le fichier texte :
   dn: cn=DUPOND Georges, o=commentcamarche, c=fr 
   mail
Cela aura pour effet de supprime le mail de l'utilisateur DUPOND.
   dn: cn=DUPOND Georges, o=commentcamarche, c=fr 
   +description=UtilisateurDUPOND
Ajoute la propriÈtÈ description ý l'objet person DUPOND.

Quelques astuces

Pour saisir plusieurs personnes dans le mÍme fichier personne.txt, il suffit de sÈparer chaque dÈfinition par une ligne blanche.

Pour rÈinitialiser complËtement l'annuaire, il faut tout d'abord dÈtruire la base existante puis relancer le serveur aprËs avoir portÈ les modifications dans les fichiers de configuration.
Pour dÈtruire l'ancienne base, il suffit de vider le rÈpertoire /var/lib/ldap par la commande :

rm -fr /var/lib/ldap/*