Chapitre 29. LDAP – un service d'annuaire

Table des matières

29.1. LDAP par rapport à NIS
29.2. Structure d'une arborescence d'annuaire LDAP
29.3. Configuration d'un serveur avec slapd.conf
29.4. Manipulation de données dans l'annuaire LDAP
29.5. Le client LDAP de YaST
29.6. Informations supplémentaires

Résumé

Le protocole léger d'accès aux annuaires (LDAP, en anglais Lightweight Directory Access Protocol) est un ensemble de protocoles conçu pour maintenir et accéder à des annuaires d'informations. LDAP peut être utilisé pour de nombreux objectifs comme la gestion des utilisateurs et des groupes, la gestion de la configuration système ou la gestion des adresses. Ce chapitre propose une compréhension des bases du fonctionnement de LDAP et vous explique comment gérer des données LDAP avec YaST.

Il est fondamental, dans un environnement de travail en réseau, de pouvoir disposer rapidement et de manière structurée de diverses informations importantes. Ce problème est résolu par un service d'annuaire permettant, comme les pages jaunes (en anglais Yellow Pages) du monde réel, d'accéder rapidement et de façon structurée aux informations recherchées.

Idéalement, il existe un serveur central gérant les données dans un annuaire et les partageant avec tous les clients dans le réseau à l'aide d'un protocole donné. Les données doivent être structurées de manière à permettre à la plus large gamme d'applications possible d'y accéder. Ainsi, il n'est pas nécessaire que chaque application d'agenda ou chaque client de messagerie gère ses propres bases de données—il suffit que chacun puisse accéder au référentiel commun. Ce mode de gestion réduit de manière appréciable la charge de gestion pour les informations concernées. Le fait d'utiliser un protocole ouvert et standardisé comme LDAP garantit qu'autant d'applications clientes que possible peuvent accéder à ces informations.

Dans ce contexte, un annuaire est une sorte de base de données optimisée de manière à permettre une consultation et des recherches rapides et précises :

De par sa conception, un service d'annuaire tel que LDAP n'est pas prévu pour prendre en charge des mécanismes complexes de mises à jour ou de requêtes. Toutes les applications accédant à ce service doivent bénéficier d'un accès qui soit le plus aisé et le plus rapide possible.

Il y a eu et il y a encore un grand nombre de services d'annuaire, et pas uniquement dans le monde Unix : NDS de Novell, ADS de Microsoft, Street Talk de Banyan ainsi que la norme OSI X.500. Le protocole LDAP était initialement conçu comme une variante allégée du protocole DAP (ou Directory Access Protocol), qui avait été conçu pour l'accès X.500. La norme X.500 régit l'organisation hiérarchique des enregistrements d'annuaire.

LDAP, qui a perdu quelques fonctions du protocole DAP, est multi-plate-forme et consomme peu de ressources, sans qu'il soit nécessaire de renoncer aux hiérarchies d'enregistrements définies dans X.500. L'utilisation de TCP/IP simplifie considérablement la réalisation d'interfaces entre les applications et le service LDAP.

Entre temps, le service LDAP a continué à se développer et est de plus en plus fréquemment utilisé comme solution à part entière sans prise en charge de X.500. Avec LDAPv3 (la version du protocole du paquetage openldap2), LDAP prend en charge les redirections (en anglais, referrals) à l'aide desquels on peut créer des bases de données réparties. Autre nouveauté : la prise en charge de SASL (Simple Authentication and Security Layer), une couche d'authentification et de sécurité.

LDAP ne se limite pas à l'interrogation de serveurs X.500, comme cela était initialement prévu. On utilise également le programme slapd, un serveur open source permettant d'enregistrer dans une base de données locale des informations sur des objets. Ce programme est complété par le programme slurpd, chargé de la réplication de plusieurs serveurs LDAP.

Le paquetage openldap2 comporte :

slapd

Un serveur LDAPv3 unique gérant des informations sur des objets dans une base de données de type BerkeleyDB.

slurpd

Ce programme permet de répliquer des modifications apportées aux données du serveur LDAP local sur d'autres serveurs LDAP installés sur le réseau.

des outils supplémentaires de gestion système

slapcat, slapadd, slapindex

29.1. LDAP par rapport à NIS

L'administrateur système Unix utilise traditionnellement le service NIS pour la résolution de noms et pour le partage des données au sein du réseau. Les données de configuration des fichiers /etc et des répertoires group, hosts, mail, netgroup, networks, passwd, printcap, protocols, rpc et services sont distribués par les clients dans tout le réseau. S'agissant de simples fichiers de texte, la maintenance de ces fichiers ne pose pas de difficulté particulière. Toutefois, lorsque le volume de données est important, ils s'avèrent peu pratiques à gérer en raison de l'absence de structuration. Le service NIS étant uniquement conçu pour les plate-formes Unix, il est impossible de l'utiliser pour une gestion centrale des données dans un réseau hétérogène.

À la différence du service NIS, le domaine d'utilisation du service LDAP ne se borne pas aux réseaux Unix. Les serveurs Windows (à partir de la version 2000) prennent en charge le service d'annuaire LDAP. Novell propose quant à lui également un service LDAP. Ce dernier ne se borne pas aux domaines d'utilisation précités.

Le principe de LDAP peut être appliqué à n'importe quel type de structures de données nécessitant une gestion centralisée. Voici quelques exemples d'applications :

  • Utilisation à la place d'un service NIS

  • Routage de messagerie (postfix, sendmail)

  • Carnets d'adresses pour des clients de messagerie tels que Mozilla, Evolution et Outlook

  • Gestion de descriptions de zones pour un serveur de nom BIND9

Cette énumération pourrait se poursuivre, du fait de l'extensibilité de LDAP, à la différence de NIS. La structure hiérarchique clairement définie des données apporte une aide appréciable dans la gestion des volumes de données très importants, grâce aux facilités de recherche qu'elle autorise.


SUSE LINUX Guide de l'administrateur 9.2