Flux rss
Collection CommentÇaMarche.net
Configuration

Construction et utilisation du serveur LDAP (OpenLDAP)

 
Bookmark Ajouter aux favoris / Partager

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 :
  • 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.

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/*

Ecrit par Jeff Pillou et Michel Maudet



Dernière modification le mardi 14 octobre 2008 à 17:40:31.Ce document intitulé « Construction et utilisation du serveur LDAP (OpenLDAP) » issu de Comment Ça Marche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Configuration du serveur LDAP (OpenLDAP) Introduction à LDAP Avant de commencer la configuration, il est conseillé d'établir l'inventaire des objets et des informations à stocker dans l'annuaire. Dans le cadre de cet article, nous nous intéresserons à une gestion centralisée des carnets... www.commentcamarche.net/contents/ldap/ldapconf.php3
Serveur LDAP + PDC/BDC sous W2K serveur Bonjour J’envisage de mettre en place dans notre société un serveur LDAP pour des raisons hiérarchique je suis obligée d’utiliser OpenLDAP dont la fonction principale sera l’authentification centralisée Notre PDC et BDC sont actuellement sous NT4. Les... www.commentcamarche.net/forum/affich-987135-serveur-ldap-pdc-bdc-sous-w2k-serveur
PHP - Administration d'un annuaire LDAP Introduction à LDAP PHP permet la connexion et l'envoi de requêtes sur un annuaire LDAP, c'est-à-dire un serveur permettant de stocker des informations de manière hiérarchique. Pour plus d'informations sur les fonctions LDAP de PHP, reportez... www.commentcamarche.net/contents/php/phpldapadmin.php3
[Réseaux] Installation d'un serveur ssh sous WindowsCet article va vous expliquer comment installer et configurer un serveur ssh sous Windows. Sommaire Introduction Choix du logiciel OS nécessaire Outils utilisés Avant de commencer Note importante Note de l'auteur (sebsauvage) I -... www.commentcamarche.net/faq/sujet-2132-reseaux-installation-d-un-serveur-ssh-sous-windows
Serveur X sous WindowsIl est possible d'installer un serveur X sous Windows afin d'utiliser les applications X-Windows (Gnome, KDE, etc.) sous Windows (par exemple à travers une connexion ssh). La méthode suivante n'utilise pas Cygwin. Dans l'exemple ci-dessous,... www.commentcamarche.net/faq/sujet-6884-serveur-x-sous-windows
Serveur LDAP, pas de port ouvert ? (Résolu)Bonjour à tous, Je viens de mettre un serveur LDAP/Samba en place, cela fait plusieurs fois que je recommence et j'ai à chaque fois le même problême, avec ce message d'erreur : failed to bind to server ldap://127.0.0.1/ with... www.commentcamarche.net/forum/affich-3642561-serveur-ldap-pas-de-port-ouvert
[LDAP] Requête sur le serveurBonjour à tous, alors voila je bosse depuis une semaine sur LDAP afin de créer un annuaire pour l'entreprise, seulement voilà je bloque sur l'affichage de la liste des personnes... Avec un bout de code et en testant la connexion au serveur LDAP je me... www.commentcamarche.net/forum/affich-3237392-ldap-requete-sur-le-serveur
Serveur LDAP sous ubuntuBonjour, je suis occupé à installer un serveur LDAP, je suis calé dans la configurations de celui-ci. J'ai suivi un tuto sur le site d'ubuntu. J'ai un exemple de fichier et je ne sais pas quoi mettre. J'aimerais créer quatre utilisateurs qui pourront... www.commentcamarche.net/forum/affich-8965851-serveur-ldap-sous-ubuntu
Télécharger LDAP Client.NetLDAP Client.Net est un client de programmation fusionnant ensemble Net.Framework avec LDAP (Lightweight Directory Access Protocol) dans un pack puissant et intuitif. C’est un composant désigné pour l’accès direct au serveur LADP à partir... www.commentcamarche.net/telecharger/telecharger-34059802-ldap-client-net
PHP - Connexion à un annuaire LDAPIntroduction à LDAP PHP permet la connexion et l'envoi de requêtes sur un annuaire LDAP, c'est-à-dire un serveur permettant de stocker des informations de manière hiérarchique. Un serveur LDAP est conçu pour être capable de gérer les opérations... www.commentcamarche.net/contents/php/phpldap.php3
LDAP - Installation d'un serveur d'annuaire (OpenLDAP sous LinuxPrésentation de OpenLDAP OpenLDAP (http://www.openldap.org) est un projet libre de serveur d'annuaire conforme à la norme LDAP 3. Ce serveur, dérivé de l'implémentation mise au point par l'université du Michigan, est développé selon les termes de... www.commentcamarche.net/contents/ldap/ldapinst.php3
Serveurs proxy (serveurs mandataires) et reverse proxyProxy Un serveur proxy (traduction française de «proxy server», appelé aussi «serveur mandataire») est à l'origine une machine faisant fonction d'intermédiaire entre les ordinateurs d'un réseau local (utilisant parfois des protocoles autres que le... www.commentcamarche.net/contents/lan/proxy.php3