OpenLDAP-2.4.40

Introduction à OpenLDAP

Le paquet OpenLDAP fournit une implémentation libre de Lightweight Directory Access Protocol (protocole d'accès au répertoire).

Ce paquet est connu pour se construire correctement sur une plateforme LFS-7.7.

Informations sur le paquet

  • Téléchargement (FTP) : ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/openldap-2.4.40.tgz

  • Somme de contrôle MD5 du téléchargement : 423c1f23d2a0cb96b3e9baf7e9d7dda7

  • Taille du téléchargement : 5.4 Mo

  • Estimation de l'espace disque requis : 47 Mo (client) 101 Mo (server - additional 5 Mo for the tests)

  • Estimation du temps de construction : 0.9 SBU (client) 1.8 SBU (server - additional 3.4 SBU for the tests)

Téléchargements supplémentaires

Dépendances d'OpenLDAP

Recommandées

Facultatives

ICU-54.1, MariaDB-10.0.16 ou MySQL ou PostgreSQL-9.4.1, OpenSLP, Pth-2.0.7 et unixODBC-2.3.2

Notes utilisateur : http://wiki.linuxfromscratch.org/blfs/wiki/openldap

Installation d'OpenLDAP

[Note]

Note

Si vous souhaitez installer seulement le client ldap*, les man-pages correspondantes, les bibliothèques et fichiers d'entêtes (soit une installation comme « client-seul »), taper ces commandes au lieu des autres suivantes (pas de suite de test disponible):

patch -Np1 -i ../openldap-2.4.40-blfs_paths-1.patch &&
patch -Np1 -i ../openldap-2.4.40-symbol_versions-1.patch &&
autoconf &&
sed -i '/6.0.20/ a\\t__db_version_compat' configure &&
./configure --prefix=/usr     \
            --sysconfdir=/etc \
            --disable-static  \
            --enable-dynamic  \
            --disable-debug   \
            --disable-slapd &&
make depend &&
make

Ensuite, en tant qu'utilisateur root :

make install

Il doit y avoir un utilisateur et un groupe dédié pour prendre le contrôle du démon slapd après qu'il soit démarré. Tapez les commandes suivantes en tant qu'utilisateur root :

groupadd -g 83 ldap &&
useradd -c "OpenLDAP Daemon Owner" -d /var/lib/openldap -u 83 \
        -g ldap -s /bin/false ldap

Installez OpenLDAP en lançant les commandes suivantes :

patch -Np1 -i ../openldap-2.4.40-blfs_paths-1.patch &&
patch -Np1 -i ../openldap-2.4.40-symbol_versions-1.patch &&
autoconf &&
sed -i '/6.0.20/ a\\t__db_version_compat' configure &&
./configure --prefix=/usr         \
            --sysconfdir=/etc     \
            --localstatedir=/var  \
            --libexecdir=/usr/lib \
            --disable-static      \
            --disable-debug       \
            --enable-dynamic      \
            --enable-crypt        \
            --enable-spasswd      \
            --enable-modules      \
            --enable-rlookups     \
            --enable-backends=mod \
            --enable-overlays=mod \
            --disable-ndb         \
            --disable-sql &&
make depend &&
make

Pour tester les résultats, lancez : make test.

Maintenant, en tant qu'utilisateur root :

make install &&
chmod -v 700 /var/lib/openldap                                         &&
chown -v -R ldap:ldap /var/lib/openldap                                &&
chmod -v 640 /etc/openldap/{slapd.{conf,ldif},DB_CONFIG.example}       &&
chown -v root:ldap /etc/openldap/{slapd.{conf,ldif},DB_CONFIG.example} &&
install -v -dm700 -o ldap -g ldap /etc/openldap/slapd.d                &&
install -v -dm755  /usr/share/doc/openldap-2.4.40 &&
cp -vfr doc/drafts /usr/share/doc/openldap-2.4.40 &&
cp -vfr doc/rfc    /usr/share/doc/openldap-2.4.40 &&
cp -vfr doc/guide  /usr/share/doc/openldap-2.4.40

Avoir les fichiers de configuration sldap et les bases de données ldap dans /var/lib/openldap qui est lisible par tous est un PROBLEME DE SECURITE, particulièrement depuis qu'un fichier enregistre le mot de passe de l'administrateur en TEXTE. C'est pourquoi le mode 640 et la propriétée root:ldap sont utilisés. Le propriétaire est root, donc seulement root peut modifier le fichier, et le groupe est ldap, donc le groupe auquel appartient le démon slapd peut lire mais pas modifier le fichier en cas de faille de sécurité.

Explication des commandes

sed ... configure: corrige le script configure pour construire avec Berkeley DB-6.0.20 ou supérieur.

--disable-static: Ce paramètre empêche l'installation des versions statiques des bibliothèques.

--disable-debug : Ce paramètre désactive le code de déboguage dans OpenLDAP.

--enable-dynamic : Ce paramètre oblige les bibliothèques OpenLDAP à se lier dynamiquement aux programmes de l'exécutable.

--enable-crypt : Ce paramètre active les mots de passe crypt(3).

--enable-spasswd : Ce paramètre active la vérification de mot de passe avec SASL.

--enable-modules: Ce paramètre active le support des modules dynamiques.

--enable-rlookups : Ce paramètre active les recherches inversées des noms d'hôte du client.

--enable-backends : Ce paramètre active toutes les fondations disponibles.

--enable-overlays : Ce paramètre active toutes les couches disponibles.

--disable-ndb : Ce paramètre désactive le serveur de Cluster MySQL NDB qui cause un échec de configuration si MySQL est présent.

--disable-sql : Ce paramètre désactive explicitement le terminal sql. Ne mettez pas ce paramètre si un serveur SQL est installé et que vous l'utilisez.

--libexecdir=/usr/lib: Ce paramètre contrôle où le répertoire /usr/lib/openldap est installé. Ce répertoire ne contient que des bibliothèques, donc il est mieux dans /usr/lib au lieu de /usr/libexec.

--enable-slp : Ce paramètre active le support SLPv2. Utilisez ce paramètre si vous avez installé OpenSLP.

[Note]

Note

Vous pouvez lancer ./configure --help pour voir s'il y a d'autres paramètres que vous pouvez passer à la commande configure pour activer d'autres options ou d'autres paquets de dépendance.

Configuration de OpenLDAP

Fichiers de configuration

/etc/openldap/*

Informations de configuration

Configurer des serveurs slapd peut être complexe. Securiser le repertoire LDAP, spécialement si vous stocker des données privées comme une base de données de mots de passe, peut être également une tache compliquée. Vous devrez éditer le fichier /etc/openldap/slapd.conf et /etc/openldap/ldap.conf pour paramétrer OpenLDAP pour vos besoins particuliers.

Parmi les ressources pour vous aider sur des sujets tels que le choix de configuration d'un répertoire, les définitions de la fondation et de la base de données, les paramètres du contrôle d'accès, l'exécution en tant qu'utilisateur différent de root et le paramétrage d'un environnement chroot, il y a :

Répertoire d'adresse Mozilla

Par défaut le support LDAPv2 est désactivé dans le fichier slapd.conf. Une fois que la base de données est correctement paramétrée et que Mozilla est configuré pour utiliser le répertoire, vous devez ajouter allow bind_v2 au fichier slapd.conf.

Script de démarrage

Pour automatiser le démarrage du serveur LDAP au lancement du système, installez le script de démarrage /etc/rc.d/init.d/slapd inclu dans le paquet blfs-bootscripts-20150304 en utilisant la commande suivante :

make install-slapd
[Note]

Note

Vous devrez modifier le script /etc/sysconfig/slapd pour inclure les paramètres nécessaires à votre configuration spécifiques. Voir les pages de man de slapd pour des informations de paramètre.

Tester la Configuration

Démarrez le serveur LDAP en utilisant le script de démarrage :

/etc/rc.d/init.d/slapd start

Vérifiez l'accès au serveur LDAP avec la commande suivante :

ldapsearch -x -b '' -s base '(objectclass=*)' namingContexts

Le résultat attendu est :

# extended LDIF
#
# LDAPv3
# base <> with scope base
# filter: (objectclass=*)
# requesting: namingContexts
#
#
dn:
namingContexts: dc=my-domain,dc=com
# search result
search: 2
result: 0 Success
# numResponses: 2
# numEntries: 1

Contenu

Programmes installés: ldapadd, ldapcompare, ldapdelete, ldapexop, ldapmodify, ldapmodrdn, ldappasswd, ldapsearch, ldapurl, ldapwhoami, slapacl, slapadd, slapauth, slapcat, slapd, slapdn, slapindex, slappasswd, slapschema et slaptest
Bibliothèques installées: liblber.so, libldap.so, libldap_r.so, et plusieurs sous /usr/lib/openldap
Répertoires installés: /etc/openldap, /usr/lib/openldap, /usr/share/doc/openldap-2.4.40, et /var/lib/openldap

Descriptions courtes

ldapadd

ouvre une connexion sur un serveur LDAP, sonde et ajoute les entrées.

ldapcompare

ouvre une connexion sur un serveur LDAP, sonde et effectue une comparaison en utilisant des paramètres spécifiés.

ldapdelete

ouvre une connexion sur un serveur LDAP, sonde et supprime une ou plusieurs entrées.

ldapexop

délivre les opérations étendues de LDAP spécifiées par oid ou l'un des mots-clés spéciaux whoami, cancel, or refresh.

ldapmodify

ouvre une connexion sur un serveur LDAP, sonde et modifie des entrées.

ldapmodrdn

ouvre une connexion sur un serveur LDAP, sonde et modifie tle RDN des entrées.

ldappasswd

est un outil utilisé pour paramétrer le mot de passe d'un utilisateur LDAP.

ldapsearch

ouvre une connexion sur un serveur LDAP, sonde et effectue une recherche en utilisant des paramètres spécifiés.

ldapurl

est une commande qui permet soit de composer ou soit de décomposer des URL LDAP.

ldapwhoami

ouvre une connexion sur un serveur LDAP, sonde et affiche des informations sur qui on est.

slapacl

est utilisé pour vérifier le comportement de slapd en vérifiant l'accès aux répertoires de données par rapport aux directives de la liste des contrôles d'accès définies dans sa configuration.

slapadd

est utilisé pour ajouter des entrées spécifiées au format LDAP Directory Interchange Format (LDIF, format d'échange de répertoire LDAP) dans une base de données LDAP.

slapauth

est utilisé pour vérifier le comportement de slapd dans le mappage des identités pour l'authentication et l'usage des autorisations, tel que spécifié dans in slapd.conf.

slapcat

est utilisé pour justifier une sortie LDAP LDIF basée sur le contenu d'une base de données slapd.

slapd

est le serveur LDAP autonome.

slapdn

vérifie la liste des DNS représentée sous forme de chaîne basée sur une syntaxe de schéma.

slapindex

est utilisé pour régénérer des index slapd basés sur le contenu actuel d'une base de données.

slappasswd

est un outil de mot de passe de OpenLDAP.

slapschema

est utilisé pour vérifier le respect des schémas dans le contenu de la base de données slapd.

slaptest

vérifie la sanité du fichier slapd.conf.

liblber.so

est un ensemble de routines de règles d'encodage de base lightweight Ces routines sont utilisées par les routines de la bibliothèque LDAP pour encoder et décoder des éléments du protocole LDAP en utilisant les règles de l'encodage de base (légèrement simplifié) définies par LDAP. Elles ne sont en général pas utilisées en principe par une application LDAP sauf dans la gestion des contrôles et des opérations étendues.

libldap.so

supporte les programmes LDAP et offre des fonctionnalités pour d'autres programmes qui interagissent avec LDAP.

libldap_r.so

contient les fonctions exigées par des programmes LDAP pour produire des résultats à partir de requêtes LDAP.

Last updated on : 2013-04-06 00:01:58 +020