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 :
- Tout d'abord pour ceux qui suivent :
- comment se fait-il que l'on puisse mettre un attribut mail
alors qu'il n'est pas défini dans la structure de l'objet person ?
c'est grâce à la directive « schemacheck off » placée dans le fichier slapd.conf
qui indique que l'on a droit ne pas respecter complètement la structure des objets définis dans le fichier slapd.oc.conf !
- C'est pour la même raison qu'aucun champ sn n'est défini dans le fichier
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.
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.
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
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.
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/*
Ecrit par Jeff Pillou et Michel Maudet
|