<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
		<id>http://www.minetti.org/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Linux%3AConfiguration_d%27OpenLDAP</id>
		<title>Linux:Configuration d'OpenLDAP - Historique des versions</title>
		<link rel="self" type="application/atom+xml" href="http://www.minetti.org/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Linux%3AConfiguration_d%27OpenLDAP"/>
		<link rel="alternate" type="text/html" href="http://www.minetti.org/mediawiki/index.php?title=Linux:Configuration_d%27OpenLDAP&amp;action=history"/>
		<updated>2026-05-04T11:42:04Z</updated>
		<subtitle>Historique pour cette page sur le wiki</subtitle>
		<generator>MediaWiki 1.26.2</generator>

	<entry>
		<id>http://www.minetti.org/mediawiki/index.php?title=Linux:Configuration_d%27OpenLDAP&amp;diff=128&amp;oldid=prev</id>
		<title>Jp : Page créée avec « == But == Installer et configurer un serveur LDAP.  == Installation == * Taper la commande suivante pour installer le serveur LDAP sur une CentOS/RedHat/Fedora:  yum insta... »</title>
		<link rel="alternate" type="text/html" href="http://www.minetti.org/mediawiki/index.php?title=Linux:Configuration_d%27OpenLDAP&amp;diff=128&amp;oldid=prev"/>
				<updated>2016-04-07T18:39:13Z</updated>
		
		<summary type="html">&lt;p&gt;Page créée avec « == But == Installer et configurer un serveur LDAP.  == Installation == * Taper la commande suivante pour installer le serveur LDAP sur une CentOS/RedHat/Fedora:  yum insta... »&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== But ==&lt;br /&gt;
Installer et configurer un serveur LDAP.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
* Taper la commande suivante pour installer le serveur LDAP sur une CentOS/RedHat/Fedora:&lt;br /&gt;
 yum install openldap-servers openldap-clients&lt;br /&gt;
&lt;br /&gt;
== Étape préliminaire ==&lt;br /&gt;
Avant de commencer, il est impératif d'avoir procédé à [[Linux:Installation d'OpenSSL|l'installation d'OpenSSL]].&lt;br /&gt;
&lt;br /&gt;
== Configuration du serveur ==&lt;br /&gt;
* Commencez par chiffrer le mot de passe du '''Manager''' (administrateur LDAP):&lt;br /&gt;
 slappasswd&lt;br /&gt;
* Editer le fichier '''/etc/openldap/slapd.d/cn\=config/olcDatabase\=\{2\}bdb.ldif''':&lt;br /&gt;
** changer tous les '''dc=my-domain,dc=com''' par '''dc=minetti,dc=org''',&lt;br /&gt;
** ajouter la ligne '''olcRootPW: {SSHA}''votre_mot_de_passe_chiffré''''',&lt;br /&gt;
** ajouter la ligne suivante pour configurer les connexions TLS:&lt;br /&gt;
 olcSecurity: tls=128&lt;br /&gt;
* Editer le fichier '''/etc/openldap/slapd.d/cn\=config/olcDatabase\=\{1\}monitor.ldif''':&lt;br /&gt;
** changer tous les '''dc=my-domain,dc=com''' par '''dc=minetti,dc=org'''.&lt;br /&gt;
* Créer le certificat serveur avec [[Commandes:Génération de certificats SSL serveur|openSSL]]:&lt;br /&gt;
** Fichier clé privée/clé publique: '''/etc/pki/tls/private/openldap.key'''&lt;br /&gt;
** Certificat: '''/etc/pki/tls/certs/openldap.pem'''&lt;br /&gt;
* Ajouter le fichier '''DB_CONFIG''' dans le répertoire des données du LDAP:&lt;br /&gt;
 cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG&lt;br /&gt;
 chown ldap.ldap /var/lib/ldap/DB_CONFIG&lt;br /&gt;
* Démarrer le serveur LDAP:&lt;br /&gt;
 service slapd start&lt;br /&gt;
* Créer le fichier '''tls.ldif''' suivant:&lt;br /&gt;
 dn: cn=config&lt;br /&gt;
 add: olcTLSCACertificateFile&lt;br /&gt;
 olcTLSCACertificateFile: /etc/pki/CA/cacert.pem&lt;br /&gt;
 -&lt;br /&gt;
 add: olcTLSCertificateFile&lt;br /&gt;
 olcTLSCertificateFile: /etc/pki/tls/certs/openldap.pem&lt;br /&gt;
 -&lt;br /&gt;
 add: olcTLSCertificateKeyFile&lt;br /&gt;
 olcTLSCertificateKeyFile: /etc/pki/tls/private/openldap.key&lt;br /&gt;
* Exécuter la commande suivante:&lt;br /&gt;
 ldapmodify -Y EXTERNAL -H ldapi:/// -f tls.ldif&lt;br /&gt;
* Redémarrer le serveur LDAP:&lt;br /&gt;
 service slapd restart&lt;br /&gt;
* Editer le fichier '''/etc/openldap/slapd.d/cn\=config.ldif''' et modifier la propriété suivante:&lt;br /&gt;
 olcTLSVerifyClient: demand&lt;br /&gt;
* Créer le fichier '''schema_convert.conf''' dans '''/etc/openldap''' qui sera utilisé pour ajouter des [[#Ajout d'un nouveau schéma|nouveaux schémas]]:&lt;br /&gt;
 include /etc/openldap/schema/core.schema&lt;br /&gt;
 include /etc/openldap/schema/collective.schema&lt;br /&gt;
 include /etc/openldap/schema/corba.schema&lt;br /&gt;
 include /etc/openldap/schema/cosine.schema&lt;br /&gt;
 include /etc/openldap/schema/duaconf.schema&lt;br /&gt;
 include /etc/openldap/schema/dyngroup.schema&lt;br /&gt;
 include /etc/openldap/schema/inetorgperson.schema&lt;br /&gt;
 include /etc/openldap/schema/java.schema&lt;br /&gt;
 include /etc/openldap/schema/misc.schema&lt;br /&gt;
 include /etc/openldap/schema/nis.schema&lt;br /&gt;
 include /etc/openldap/schema/openldap.schema&lt;br /&gt;
 include /etc/openldap/schema/ppolicy.schema&lt;br /&gt;
* Créer le fichier '''index.ldif''' suivant pour ajouter les indexes qui seront utilisés pour la recherche:&lt;br /&gt;
 dn: olcDatabase={2}bdb,cn=config&lt;br /&gt;
 changetype: modify&lt;br /&gt;
 add: olcDbIndex&lt;br /&gt;
 olcDbIndex: uniqueMember pres,eq&lt;br /&gt;
 -&lt;br /&gt;
 add: olcDbIndex&lt;br /&gt;
 olcDbIndex: displayName eq&lt;br /&gt;
 -&lt;br /&gt;
 add: olcDbIndex&lt;br /&gt;
 olcDbIndex: ipHostNumber pres,eq&lt;br /&gt;
* exécuter la commande suivante:&lt;br /&gt;
 ldapmodify -Y EXTERNAL -H ldapi:/// -f index.ldif&lt;br /&gt;
* et vérifier les indexes en exécutant la commande suivante:&lt;br /&gt;
 ldapsearch -Y EXTERNAL -H ldapi:/// -b &amp;quot;cn=config&amp;quot; | grep ^olcDbIndex&lt;br /&gt;
* Dans le répertoire '''/etc/rsyslog.d/''', ajouter le fichier '''ldap.conf''' ressemblant à ceci: &lt;br /&gt;
 local4.error                                                    -/var/log/ldap.log&lt;br /&gt;
* Redémarrer le démon '''rsyslog''' pour prendre en compte la nouvelle configuration des logs du LDAP:&lt;br /&gt;
 service rsyslog restart&lt;br /&gt;
* Ouvrir le port TCP 389 dans [[Linux:Configuration réseau pour une CentOS/RedHat/Fedora#Fichiers_configuration_firewall|iptables]].&lt;br /&gt;
* Ne pas oublier de rendre le lancement du démon '''slapd''' automatique à chaque démarrage du serveur:&lt;br /&gt;
 ntsysv		# sous CentOS/RedHat/Fedora&lt;br /&gt;
Le serveur est maintenant prêt pour des connexions sécurisées par échange de certificats (client et serveur). &lt;br /&gt;
&lt;br /&gt;
== Peuplement ==&lt;br /&gt;
* Commencer par créer le fichier '''struct.ldif''' pour monter la structure du LDAP:&lt;br /&gt;
 dn: dc=minetti,dc=org&lt;br /&gt;
 dc: minetti&lt;br /&gt;
 objectClass: top&lt;br /&gt;
 objectClass: domain&lt;br /&gt;
 &lt;br /&gt;
 # Donnees sur le reseau local&lt;br /&gt;
 dn: ou=localnet,dc=minetti,dc=org&lt;br /&gt;
 ou: localnet&lt;br /&gt;
 objectClass: top&lt;br /&gt;
 objectClass: organizationalUnit&lt;br /&gt;
 &lt;br /&gt;
 # sysaccount&lt;br /&gt;
 dn: ou=sysaccount,ou=localnet,dc=minetti,dc=org&lt;br /&gt;
 ou: sysaccount&lt;br /&gt;
 objectClass: top&lt;br /&gt;
 objectClass: organizationalUnit&lt;br /&gt;
 description: Comptes des utilisateurs systèmes&lt;br /&gt;
 &lt;br /&gt;
 # people&lt;br /&gt;
 dn: ou=people,ou=localnet,dc=minetti,dc=org&lt;br /&gt;
 ou: people&lt;br /&gt;
 objectClass: top&lt;br /&gt;
 objectClass: organizationalUnit&lt;br /&gt;
 description: Comptes des utilisateurs du réseau&lt;br /&gt;
 &lt;br /&gt;
 # group&lt;br /&gt;
 dn: ou=group,ou=localnet,dc=minetti,dc=org&lt;br /&gt;
 ou: group&lt;br /&gt;
 objectClass: top&lt;br /&gt;
 objectClass: organizationalUnit&lt;br /&gt;
 description: Groupes des utilisateurs du réseau&lt;br /&gt;
 &lt;br /&gt;
 # hosts&lt;br /&gt;
 dn: ou=hosts,ou=localnet,dc=minetti,dc=org&lt;br /&gt;
 ou: hosts&lt;br /&gt;
 objectClass: top&lt;br /&gt;
 objectClass: organizationalUnit&lt;br /&gt;
 description: Association adresse IP et nom des postes du réseau (NSS) et machines membres du domaine NetBIOS&lt;br /&gt;
 &lt;br /&gt;
 # idmap&lt;br /&gt;
 dn: ou=idmap,ou=localnet,dc=minetti,dc=org&lt;br /&gt;
 ou: idmap&lt;br /&gt;
 objectClass: top&lt;br /&gt;
 objectClass: organizationalUnit&lt;br /&gt;
 &lt;br /&gt;
 # services&lt;br /&gt;
 dn: ou=services,ou=localnet,dc=minetti,dc=org&lt;br /&gt;
 ou: services&lt;br /&gt;
 objectClass: top&lt;br /&gt;
 objectClass: organizationalUnit&lt;br /&gt;
 description: Noms et numéros de ports des services réseaux (NSS)&lt;br /&gt;
 &lt;br /&gt;
 # protocols&lt;br /&gt;
 dn: ou=protocols,ou=localnet,dc=minetti,dc=org&lt;br /&gt;
 ou: protocols&lt;br /&gt;
 objectClass: top&lt;br /&gt;
 objectClass: organizationalUnit&lt;br /&gt;
 description: Numéros des protocoles IP (NSS - voir /etc/protocols)&lt;br /&gt;
 &lt;br /&gt;
 # netgroup&lt;br /&gt;
 dn: ou=netgroup,ou=localnet,dc=minetti,dc=org&lt;br /&gt;
 ou: netgroup&lt;br /&gt;
 objectClass: top&lt;br /&gt;
 objectClass: organizationalUnit&lt;br /&gt;
 description: Postes et groupes d'utilisateurs pour contrôler les accès (NSS)&lt;br /&gt;
 &lt;br /&gt;
 # autofs&lt;br /&gt;
 dn: ou=autofs,ou=localnet,dc=minetti,dc=org&lt;br /&gt;
 ou: autofs&lt;br /&gt;
 objectClass: top&lt;br /&gt;
 objectClass: organizationalUnit&lt;br /&gt;
 &lt;br /&gt;
 # networks&lt;br /&gt;
 dn: ou=networks,ou=localnet,dc=minetti,dc=org&lt;br /&gt;
 ou: networks&lt;br /&gt;
 objectClass: top&lt;br /&gt;
 objectClass: organizationalUnit&lt;br /&gt;
 description: Adresses des réseaux (NSS)&lt;br /&gt;
 &lt;br /&gt;
 # rpc&lt;br /&gt;
 dn: ou=rpc,ou=localnet,dc=minetti,dc=org&lt;br /&gt;
 ou: rpc&lt;br /&gt;
 objectClass: top&lt;br /&gt;
 objectClass: organizationalUnit&lt;br /&gt;
 description: Noms et numéros d'appel des procédures distantes (NSS)&lt;br /&gt;
 &lt;br /&gt;
 # ethers&lt;br /&gt;
 dn: ou=ethers,ou=localnet,dc=minetti,dc=org&lt;br /&gt;
 ou: ethers&lt;br /&gt;
 objectClass: top&lt;br /&gt;
 objectClass: organizationalUnit&lt;br /&gt;
 description: Adresses MAC des postes du réseau (NSS)&lt;br /&gt;
 &lt;br /&gt;
 # aliases&lt;br /&gt;
 dn: ou=aliases,ou=localnet,dc=minetti,dc=org&lt;br /&gt;
 ou: aliases&lt;br /&gt;
 objectClass: top&lt;br /&gt;
 objectClass: organizationalUnit&lt;br /&gt;
 description: Alias d'adresses mails (NSS - voir /etc/aliases)&lt;br /&gt;
* Lancer la commande suivante:&lt;br /&gt;
 ldapmodify -Y EXTERNAL -H ldapi:/// -f struct.ldif&lt;br /&gt;
&lt;br /&gt;
== Paramétrage des droits d'accès ==&lt;br /&gt;
* Commencer par créer le fichier '''acl.ldif''' suivant:&lt;br /&gt;
 dn: olcDatabase={2}bdb,cn=config&lt;br /&gt;
 add: olcAccess&lt;br /&gt;
 olcAccess: {0}to dn.base=&amp;quot;ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; by dn=&amp;quot;cn=Manager,dc=minetti,dc=org&amp;quot; manage by dn.regex=&amp;quot;^cn=([^,]+),ou=sysaccount,ou=localnet,dc=minetti,dc=org$&amp;quot; read by * none&lt;br /&gt;
 olcAccess: {1}to dn.children=&amp;quot;ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; attrs=&amp;quot;userPassword&amp;quot; by dn=&amp;quot;cn=Manager,dc=minetti,dc=org&amp;quot; manage by self read by anonymous auth by * none&lt;br /&gt;
 olcAccess: {2}to dn.children=&amp;quot;ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; by dn=&amp;quot;cn=Manager,dc=minetti,dc=org&amp;quot; manage by self read by * none&lt;br /&gt;
 olcAccess: {3}to dn.base=&amp;quot;ou=addressbook,ou=people,ou=localnet,dc=minetti,dc=org&amp;quot; attrs=objectClass,top,organizationalUnit by dn=&amp;quot;cn=Manager,dc=minetti,dc=org&amp;quot; manage by * read&lt;br /&gt;
 olcAccess: {4}to dn.base=&amp;quot;ou=addressbook,ou=people,ou=localnet,dc=minetti,dc=org&amp;quot; by dn=&amp;quot;cn=Manager,dc=minetti,dc=org&amp;quot; manage by users write by * read&lt;br /&gt;
 olcAccess: {5}to dn.children=&amp;quot;ou=addressbook,ou=people,ou=localnet,dc=minetti,dc=org&amp;quot; by dn=&amp;quot;cn=Manager,dc=minetti,dc=org&amp;quot; manage by users write by * read&lt;br /&gt;
 olcAccess: {6}to dn.base=&amp;quot;ou=people,ou=localnet,dc=minetti,dc=org&amp;quot; attrs=objectClass,top,organizationalUnit by dn=&amp;quot;cn=Manager,dc=minetti,dc=org&amp;quot; manage by * read&lt;br /&gt;
 olcAccess: {10}to dn.base=&amp;quot;ou=group,ou=localnet,dc=minetti,dc=org&amp;quot; attrs=objectClass,top,organizationalUnit by dn=&amp;quot;cn=Manager,dc=minetti,dc=org&amp;quot; manage by * read&lt;br /&gt;
 olcAccess: {13}to dn.base=&amp;quot;ou=hosts,ou=localnet,dc=minetti,dc=org&amp;quot; attrs=objectClass,top,organizationalUnit by dn=&amp;quot;cn=Manager,dc=minetti,dc=org&amp;quot; manage by * read&lt;br /&gt;
 olcAccess: {16}to dn.base=&amp;quot;ou=idmap,ou=localnet,dc=minetti,dc=org&amp;quot; attrs=objectClass,top,organizationalUnit by dn=&amp;quot;cn=Manager,dc=minetti,dc=org&amp;quot; manage by * read&lt;br /&gt;
 olcAccess: {19}to dn.base=&amp;quot;ou=localnet,dc=minetti,dc=org&amp;quot; attrs=objectClass,top,domain by dn=&amp;quot;cn=Manager,dc=minetti,dc=org&amp;quot; manage by * read&lt;br /&gt;
 olcAccess: {22}to dn.subtree=&amp;quot;ou=localnet,dc=minetti,dc=org&amp;quot; by dn=&amp;quot;cn=Manager,dc=minetti,dc=org&amp;quot; manage by * read&lt;br /&gt;
 olcAccess: {23}to dn.base=&amp;quot;dc=minetti,dc=org&amp;quot; attrs=objectClass,top,domain by dn=&amp;quot;cn=Manager,dc=minetti,dc=org&amp;quot; manage by * read&lt;br /&gt;
 olcAccess: {25}to dn.subtree=&amp;quot;dc=minetti,dc=org&amp;quot; by dn=&amp;quot;cn=Manager,dc=minetti,dc=org&amp;quot; manage by * read&lt;br /&gt;
* Puis exécuter la commande suivante:&lt;br /&gt;
 ldapmodify -Y EXTERNAL -H ldapi:/// -f acl.ldif&lt;br /&gt;
* Vérifier les droits d'accès en exécutant la commande suivante:&lt;br /&gt;
 ldapsearch -Y EXTERNAL -H ldapi:/// -b &amp;quot;cn=config&amp;quot; | grep ^olcAccess&lt;/div&gt;</summary>
		<author><name>Jp</name></author>	</entry>

	</feed>