Flux rss
Bookmark Ajouter aux favoris / Partager

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 adresses. Sur notre intranet, nous avons installé une messagerie avec Qmail. En effet il peut être intéressant de rassembler les informations contenues dans les carnets d'adresse de chacun dans une base stockée au niveau du serveur, directement disponible dans les clients de messagerie de tous les utilisateurs.

Les utilisateurs sont caractérisés par

  • leur nom
  • leur prénom
  • et leur adresse e-mail
De plus, pour définir la racine principale de l'annuaire, on imagine que tous les utilisateurs font partie de la société « commentcamarche » située en France. Cela va donner comme racine : o=commentcamarche, c=fr (o pour organization et c pour country)

Lors de la configuration de l'annuaire, il est nécessaire d'intervenir sur plusieurs fichiers de configuration situés dans le répertoire /etc/openldap :

  • slapd.conf : ce fichier comporte diverses informations telles que la racine supérieure de l'annuaire, l'administrateur principal de l'annuaire LDAP et son mot de passe, les droits d'accès par défaut, les fichiers d'objets et de syntaxe à utiliser ainsi que les règles d'accès pour les entrées et les attributs de l'annuaire LDAP.
  • les fichiers d'objets suffixés oc.conf : le fichier par défaut est slapd.oc.conf. Ils contiennent la déclaration de chaque objet de l'annuaire LDAP.
  • les fichiers d'attributs suffixés at.conf : le fichier par défaut est slapd.at.conf. Ces fichiers contiennent la syntaxe de chaque attribut composant les objets.

Edition du fichier slapd.conf

Editons tout d'abord le fichier slapd.conf :

   #
   # See slapd.conf(5) for details on configuration options.
   #This file should NOT be world readable.
   #
   # inclusion des autres fichiers de configuration
   include /etc/openldap/slapd.at.conf
   include /etc/openldap/slapd.oc.conf
   # vérification que l'on utilise réellement ou non la structure
   # des objets c'est à dire que si vous mettez « on » ici, vous
   #devez n'utilisez que que les propriétés des objets définies
   #dans les fichiers .oc.conf
   schemacheck off
   # fichiers qui stockent les arguments et les PID du serveur
   pidfile /var/run/slapd.pid
   argsfile /var/run/slapd.args
   ##############################################################
   # ldbm database definitions
   ##############################################################
   # Type de l'annuaire LDAP
   database ldbm
   # Définition de la racine du serveur
   suffix "o=commentcamarche, c=fr"
   # Définition du compte d'administration ici ldap_admin
   # c'est un nom arbitraire et ce n'est pas forcément un
   # utilisateur défini dans /etc/passwd du système
   rootdn "cn=ldap_admin, o=commentcamarche, c=fr"
   rootpw secret
   # cleartext passwords, especially for the rootdn, should
   # be avoid. See slapd.conf(5) for details.
   # directory /var/lib/ldap
   # Définition des accès autorisés à la base LDAP
   defaultaccess read
Pour affiner la configuration, il peut être utile de consulter les pages du man. Compte tenu que ce fichier contient le mot de passe en clair de l'administrateur de l'annuaire, il est impératif de positionner les droits « rw------- » sur le fichier slapd.conf :
chmod 600 /etc/openldap/slapd.conf
Quelques indications pour la gestion des accès à votre annuaire. Dans le cas actuel, toutes les personnes ont un accès en lecture mais il est possible de donner des droits particuliers en utilisant la directive access dont la syntaxe est :
access to <une partie de l'arbre>

[by <une personne> <droits none|search|read|write>]
De plus, l'ordre d'écriture des règles a une grande importance. Par exemple :
   access to dn= « .*, o=commentcamarche, c=fr » by * search
   access to dn= « .*, c=fr » by * read
Signifie que tout le monde a le droit en lecture sur toute l'arborescence c=fr excepté sur la partie o=commentcamarche où les utilisateurs ont un droit en recherche seulement. Le fait d'inverser l'ordre de ces deux lignes, impliquera que la directive concernant c=fr en lecture sera la seule à être prise en compte et, on ne protègera plus ainsi la partie de l'arbre o=commentcamarche en recherche seulement.

Edition du fichier slapd.oc.conf

Le fichier etc/openldap/slapd.oc.conf décrit la structure des objets qui vont être utilisés dans l'annuaire LDAP.
Il est inclu dans le fichier slapd.conf par la directive include /etc/openldap/slapd.oc.conf.

Par exemple dans notre cas, nous allons utiliser les objets organization et person dont les définitions sont :

	  objectclass organization
	requires
		objectClass,
		o
	allows
		businessCategory,
		description,
		destinationIndicator,
		facsimileTelephoneNumber,
		internationaliSDNNumber,
		l,
		physicalDeliveryOfficeName,
		postOfficeBox,
		postalAddress,
		postalCode,
		preferredDeliveryMethod,
		registeredAddress,
		searchGuide,
		seeAlso,
		st,
		streetAddress,
		telephoneNumber,
		teletexTerminalIdentifier,
		telexNumber,
		userPassword,
		x121Address
objectclass person
	requires
		objectClass,
		sn,
		cn
	allows
	   objectclass organization
	requires
		objectClass,
		o
	allows
		businessCategory,
		description,
		destinationIndicator,
		facsimileTelephoneNumber,
		internationaliSDNNumber,
		l,
		physicalDeliveryOfficeName,
		postOfficeBox,
		postalAddress,
		postalCode,
		preferredDeliveryMethod,
		registeredAddress,
		searchGuide,
		seeAlso,
		st,
		streetAddress,
		telephoneNumber,
		teletexTerminalIdentifier,
		telexNumber,
		userPassword,
		x121Address
objectclass person
	requires
		objectClass,
		sn,
		cn
	allows
		description,
		seeAlso,
		telephoneNumber,
		userPassword
 description,
		seeAlso,
		telephoneNumber,
		userPassword
Dans le cas ci-dessus, trois champs sont obligatoires (objectClass, sn et cn) et il est aussi possible de renseigner quatre autres champs (description, seeAlso, telephoneNumber, UserPassword).
Afin d'utiliser l'annuaire LDAP pour assurer l'authentification sur leur système, il faut mettre en oeuvre une série d'objets qui sera décrite un peu plus loin... le fait de renseigner le champ password ne suffit pas !
Il est possible de créer des objets personnalisés en créant un nouveau fichier suffixé .oc.conf que vous devez inclure ensuite à l'aide de la directive « include ».

Edition du fichier slapd.at.conf

Pour terminer, il existe un troisième fichier de configuration qui est /etc/openldap/slapd.at.conf. Ce fichier contient la syntaxe et le type (bin, ces, tel...) des différents attributs. Vous trouverez des informations supplémentaires sur les types dans les pages du man.

Attribute photo bin
Attribute personalsignature bin
Attribute jpegphoto bin
Attribute audio bin
Attribute labeledurl ces
Attribute ref ces
Attribute userpassword ces
Attribute telephonenumber tel
Attribute facsimiletelephonenumber fax tel
Attribute pagertelephonenumber pager tel
Attribute homephone tel
Attribute mobiletelephonenumber mobile tel
Attribute aliasedObjectName dn
Attribute member dn
Attribute owner dn
Attribute seealso dn
Attribute manager dn
Attribute documentauthor dn
Attribute secretary dn
Attribute lastmodifiedby dn
Attribute associatedname dn
Attribute naminglink dn
Attribute reciprocalnaminglink dn
Attribute dn dn

De la même façon, pour ajouter de nouveaux attributs, il est possible de créer un nouveau fichier suffixé .at.conf, que vous devez inclure ensuite à l'aide de la directive « include ».

Lancement du serveur

Il ne nous reste plus qu'à lancer notre serveur et faire en sorte qu'il démarre automatiquement à chaque redémarrage de la machine. Voici les deux méthodes pour vérifier et créer rapidement les liens nécessaires au démarrage automatique d'un service.
Par exemple, le serveur LDAP doit être lancé aux run-levels 3,4 et 5. Il faut donc taper la commande suivante :

chkconfig --level 345 ldap on
équivalent à avec l'ancienne méthode :
ln -s /etc/rc.d/init.d/ldap /etc/rc.d/rc3.d/S70ldap
ln -s /etc/rc.d/init.d/ldap /etc/rc.d/rc4.d/S70ldap
ln -s /etc/rc.d/init.d/ldap /etc/rc.d/rc5.d/S70ldap
Il doit être stoppé aux run-levels 0,1,2,6 :
chkconfig --level 0126 ldap off
équivalent à :
ln -s /etc/rc.d/init.d/ldap /etc/rc.d/rc0.d/K40ldap
ln -s /etc/rc.d/init.d/ldap /etc/rc.d/rc1.d/K40ldap
ln -s /etc/rc.d/init.d/ldap /etc/rc.d/rc2.d/K40ldap
ln -s /etc/rc.d/init.d/ldap /etc/rc.d/rc6.d/K40ldap
Maintenant que nla structure de l'annuaire est définie, il est possible de lancer celui-ci en tapant la commande suivante :
/etc/rc.d/init.d./ldap start

Ecrit par Jeff Pillou et Michel Maudet



Dernière modification le mardi 14 octobre 2008 à 17:40:31.Ce document intitulé « Configuration 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.
Construction et utilisation du serveur LDAP (OpenLDAP) 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... www.commentcamarche.net/contents/ldap/ldapcons.php3
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
[Red Hat] Configuration Serveur LDAP (Résolu) Bonjour, Je suis en satge et je dois configurer mon serveur LDAP sur Red Hat 4.3 AS. Quand je lance mon serveru LDAP avec la commande: /etc/init.d/ldap start . j'ai un FAILED avec 2 WARNING: /var/lib/ldap/id2entry.bdb is not owned by "ldap"... www.commentcamarche.net/forum/affich-2787770-red-hat-configuration-serveur-ldap
Installation serveur SambaInstallation et configuration d'un serveur Samba version 3.0.2a Linux Mandrake version 10.0 Prérequis Introduction 1.Architecture de Samba 2.Installation des paquetages nécessaires au serveur samba Premier démarrage de Samba Les commandes... www.commentcamarche.net/faq/sujet-722-installation-serveur-samba
Adresses des serveurs POP et SMTP des principaux FAICette page donne les adresses des serveurs de messagerie (SMTP / POP3 / IMAP) des principaux fournisseurs d'accès à internet (FAI) : 9 Telecom 9ONLINE ALICE AOL ALTERN.ORG CARAMAIL CEGETEL CLUB INTERNET DARTY BOX (DARTYBOX) ESTVIDEO... www.commentcamarche.net/faq/sujet-893-adresses-des-serveurs-pop-et-smtp-des-principaux-fai
Serveurs DNS des principaux FAILa liste ci-dessous donne les adresses IP des serveurs de noms (DNS) des principaux fournisseurs d'accès à Internet (FAI) : 9 Telecom / 9Online Alice ADSL AOL Belgacom / SkyNet Bluewin.ch Cégétel Chello Club-internet Colt France Darty... www.commentcamarche.net/faq/sujet-1496-serveurs-dns-des-principaux-fai
Configuration serveur temps (NTP)Bonjour, Je viens de configuré le serveur temps (ntpd) sur un serveur linux (centos) de façon ci dessous: # installer le package ntp (yum install ntp) # modifier le fichier /etc/ntp.conf pour se synchroniser avec un serveur de temps suisse : remplacer... www.commentcamarche.net/forum/affich-10357016-configuration-serveur-temps-ntp
[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
Configuration serveur Counter-Strike:SourceVous avez un serveur CS:S mais vous avez du mal a le configurer ? Vous voulez un serveur Zombie mod avec des skins de zombie modifiés, un damage given, du sang et des os en guise de Heatshot et bien-sur Mani Admin ? Vous voulez une config fun avec un... www.commentcamarche.net/forum/affich-12505967-configuration-serveur-counter-strike-source
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
Configuration d'un serveur d'un réseau TCP/IP sous LinuxIntroduction Dans cette partie , nous allons décrire toutes les étapes nécessaires pour configurer votre réseau TCP/IP sur votre serveur. Tout d'abord, nous verrons les types d'adressage IP, ensuite, nous configurerons vos interfaces réseaux et... www.commentcamarche.net/contents/reslinux/reslintro.php3