<?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%3AAuthentification_LDAP</id>
		<title>Linux:Authentification LDAP - 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%3AAuthentification_LDAP"/>
		<link rel="alternate" type="text/html" href="http://www.minetti.org/mediawiki/index.php?title=Linux:Authentification_LDAP&amp;action=history"/>
		<updated>2026-05-04T13:01:45Z</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:Authentification_LDAP&amp;diff=127&amp;oldid=prev</id>
		<title>Jp : Page créée avec « == Installation et configuration du serveur LDAP == === Paquetages === Les paquetages suivants doivent être installés: * openldap * openldap-clients * openldap-servers *... »</title>
		<link rel="alternate" type="text/html" href="http://www.minetti.org/mediawiki/index.php?title=Linux:Authentification_LDAP&amp;diff=127&amp;oldid=prev"/>
				<updated>2016-04-07T18:37:59Z</updated>
		
		<summary type="html">&lt;p&gt;Page créée avec « == Installation et configuration du serveur LDAP == === Paquetages === Les paquetages suivants doivent être installés: * openldap * openldap-clients * openldap-servers *... »&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Installation et configuration du serveur LDAP ==&lt;br /&gt;
=== Paquetages ===&lt;br /&gt;
Les paquetages suivants doivent être installés:&lt;br /&gt;
* openldap&lt;br /&gt;
* openldap-clients&lt;br /&gt;
* openldap-servers&lt;br /&gt;
* openssl&lt;br /&gt;
=== Fichier /etc/openldap/slapd.conf ===&lt;br /&gt;
 # ==============================================================================&lt;br /&gt;
 # CONFIGURATION SERVEUR LDAP&lt;br /&gt;
 # Copyright 2006 by MINETTI JP&lt;br /&gt;
 # ==============================================================================&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 # ==============================================================================&lt;br /&gt;
 # Schémas&lt;br /&gt;
 # ==============================================================================&lt;br /&gt;
 &lt;br /&gt;
 include                 /etc/openldap/schema/core.schema&lt;br /&gt;
 include                 /etc/openldap/schema/cosine.schema&lt;br /&gt;
 include                 /etc/openldap/schema/inetorgperson.schema&lt;br /&gt;
 include                 /etc/openldap/schema/nis.schema&lt;br /&gt;
 include                 /etc/openldap/schema/samba.schema&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 # ==============================================================================&lt;br /&gt;
 # Support LDAPv2&lt;br /&gt;
 # ==============================================================================&lt;br /&gt;
 &lt;br /&gt;
 allow                   bind_v2&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 # ==============================================================================&lt;br /&gt;
 # Paramètres du démon&lt;br /&gt;
 # ==============================================================================&lt;br /&gt;
 &lt;br /&gt;
 pidfile                 /var/run/openldap/slapd.pid&lt;br /&gt;
 argsfile                /var/run/openldap/slapd.args&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 # ==============================================================================&lt;br /&gt;
 # Connexion TLS&lt;br /&gt;
 # ==============================================================================&lt;br /&gt;
 &lt;br /&gt;
 # Spéfications des algorithmes de chiffrement&lt;br /&gt;
 TLSCipherSuite          HIGH:MEDIUM:+SSLv2&lt;br /&gt;
 &lt;br /&gt;
 # Certificat de la CA&lt;br /&gt;
 TLSCACertificateFile    /etc/openldap/cacerts/ca.pem&lt;br /&gt;
 &lt;br /&gt;
 # Certificat du serveur LDAP&lt;br /&gt;
 TLSCertificateFile      /etc/openldap/server-certs/openldap.pem&lt;br /&gt;
 &lt;br /&gt;
 # Clée privée du serveur LDAP&lt;br /&gt;
 TLSCertificateKeyFile   /etc/openldap/server-certs/openldap.key&lt;br /&gt;
 &lt;br /&gt;
 # Clôture la session si certificat non valide&lt;br /&gt;
 TLSVerifyClient         demand&lt;br /&gt;
 &lt;br /&gt;
 # Connexion TLS obligatoire&lt;br /&gt;
 security                tls=1&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 # ==============================================================================&lt;br /&gt;
 # Droits d'accès&lt;br /&gt;
 # ==============================================================================&lt;br /&gt;
 &lt;br /&gt;
 include                 /etc/openldap/access.conf&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 # ==============================================================================&lt;br /&gt;
 # Base de données&lt;br /&gt;
 # ==============================================================================&lt;br /&gt;
 &lt;br /&gt;
 database                bdb&lt;br /&gt;
 suffix                  &amp;quot;dc=minetti,dc=org&amp;quot;&lt;br /&gt;
 rootdn                  &amp;quot;cn=admin,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot;&lt;br /&gt;
 rootpw                  {SSHA}XXXXXXXXXXXXXXXXXXXX&lt;br /&gt;
 directory               /var/db/ldap&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 # ==============================================================================&lt;br /&gt;
 # Indexes&lt;br /&gt;
 # ==============================================================================&lt;br /&gt;
 &lt;br /&gt;
 index objectClass                               eq,pres&lt;br /&gt;
 index ou,cn,sn,mail,givenname                   eq,pres,sub&lt;br /&gt;
 index uidNumber,gidNumber,loginShell            eq,pres&lt;br /&gt;
 index uid,memberUid                             eq,pres,sub&lt;br /&gt;
 index nisMapName,nisMapEntry                    eq,pres,sub&lt;br /&gt;
 index sambaSID,uniqueMember                     eq&lt;br /&gt;
 index sambaDomainName                           eq,pres&lt;br /&gt;
 index sambaPrimaryGroupSID                      eq&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 # ==============================================================================&lt;br /&gt;
 # Logs&lt;br /&gt;
 # ==============================================================================&lt;br /&gt;
 #   -1  Equivaut à tout tracer&lt;br /&gt;
 #    1  Trace les appels aux fonctions&lt;br /&gt;
 #    2  Gestion des paquets&lt;br /&gt;
 #    4  Déboggage lourd et verbeux&lt;br /&gt;
 #    8  Gestion de la connexion&lt;br /&gt;
 #   16  Affiche les paquets entrants et sortants&lt;br /&gt;
 #   32  Analyse des filtres de recherche&lt;br /&gt;
 #   64  Analyse du fichier de configuration&lt;br /&gt;
 #  128  Analyse des restrictions d'accès&lt;br /&gt;
 #  256  Récapitule les stats (recherche/résultats)&lt;br /&gt;
 #  512  Log des entrées renvoyées&lt;br /&gt;
 # 1024  Analyse de la communication avec les backends&lt;br /&gt;
 # 2048  Analyse du parsing d'une entrée&lt;br /&gt;
 #    0  Désactive tout logging&lt;br /&gt;
 # ==============================================================================&lt;br /&gt;
 &lt;br /&gt;
 loglevel        0&lt;br /&gt;
=== Création des certificats du serveur ===&lt;br /&gt;
On suppose que l'on soit une autorité de certification et que nous avons déjà créé notre CA. Dans le cas contraire, reportez-vous [[Commandes:Génération_de_certificats_SSL#Création_de_l'autorité_de_certification|ici]].&lt;br /&gt;
&lt;br /&gt;
On génère la demande de certificat auprès de l'autorité de certification (CA):&lt;br /&gt;
 openssl genrsa -out openldap.key 1024&lt;br /&gt;
 openssl req -new -key openldap.key -out openldap.req&lt;br /&gt;
L'autorité de certification (CA) accepte la demande et procède à la signature du certificat:&lt;br /&gt;
 openssl ca -in openldap.req -extensions v3_ca -out openldap.pem -days 3650&lt;br /&gt;
L'autorité de certification (CA) retourne un certificat signé valable pour 10 ans. Le fichier openldap.pem qui contient ce certificat, et le fichier openldap.key qui contient le couple clé privée/publique seront placés dans le répertoire /etc/openldap/server-certs.&lt;br /&gt;
&lt;br /&gt;
Pour éviter que le serveur LDAP soit obligé de demander un mot de passe au démarrage, enlever le mot de passe du certificat:&lt;br /&gt;
 mv openldap.key openldap-pw.key&lt;br /&gt;
 openssl rsa -in openldap-pw.key -out openldap.key&lt;br /&gt;
&lt;br /&gt;
Il ne faut pas oublier de placer le certificat de l'autorité de certification (CA) dans le répertoire /etc/openldap/cacerts afin que le serveur puisse vérifier la validité des certificats des clients.&lt;br /&gt;
&lt;br /&gt;
=== Configuration des accès clients ===&lt;br /&gt;
Sur chaque machine accédant au LDAP, on modifie le fichier '''/etc/openldap/ldap.conf''':&lt;br /&gt;
 # ==============================================================================&lt;br /&gt;
 # PARAMETRES DE CONNEXION PAR DEFAUT DES CLIENTS LDAP&lt;br /&gt;
 # Copyright 2006 by MINETTI JP&lt;br /&gt;
 # ==============================================================================&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 # Connexion&lt;br /&gt;
 URI             ldap://ldap.srv.minetti.org/&lt;br /&gt;
 BASE            dc=minetti,dc=org&lt;br /&gt;
 &lt;br /&gt;
 # Certificats SSL (voir $HOME/.ldaprc pour chaque utilisateur)&lt;br /&gt;
 SSL             start_tls&lt;br /&gt;
 &lt;br /&gt;
 # Le serveur doit posséder un certificat signé par la CA pour que la&lt;br /&gt;
 # connection soit possible&lt;br /&gt;
 TLS_REQCERT     demand&lt;br /&gt;
 &lt;br /&gt;
 # Certificat de la CA&lt;br /&gt;
 TLS_CACERTDIR   /etc/openldap/cacerts&lt;br /&gt;
Comme pour la machine serveur, on place le certificat de l'autorité de certification dans le répertoire /etc/openldap/cacerts de chaque machine afin que les clients puissent vérifier la validité du certificat du serveur.&lt;br /&gt;
&lt;br /&gt;
Pour que le client LDAP puisse trouver le bon certificat (il peut y en avoir plusieurs), il faut créer un lien avec le hash du certificat:&lt;br /&gt;
 cacertdir_rehash /etc/openldap/cacerts&lt;br /&gt;
Sur chaque machine et pour chaque utilisateur autorisé à se connecter au LDAP, on créé un fichier '''.ldaprc''' dans le répertoire home des utilisateurs ($HOME):&lt;br /&gt;
 # ==============================================================================&lt;br /&gt;
 # PARAMETRES DE CONNEXION PAR DEFAUT DES CLIENTS LDAP&lt;br /&gt;
 # Copyright 2006 by MINETTI JP&lt;br /&gt;
 # ==============================================================================&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 # Certificat x509 du client&lt;br /&gt;
 TLS_CERT        /etc/pki/tls/certs/mout.pem&lt;br /&gt;
 &lt;br /&gt;
 # Clés du certificat&lt;br /&gt;
 TLS_KEY         /etc/pki/tls/private/mout.key&lt;br /&gt;
&lt;br /&gt;
On génère la demande de certificat du client auprès de l'autorité de certification (CA):&lt;br /&gt;
 openssl genrsa -out mout.key 1024&lt;br /&gt;
 openssl req -new -key mout.key -out mout.req&lt;br /&gt;
L'autorité de certification (CA) accepte la demande et procède à la signature du certificat:&lt;br /&gt;
 openssl ca -in mout.req -extensions v3_ca -out mout.pem -days 3650&lt;br /&gt;
L'autorité de certification (CA) retourne un certificat signé valable pour 10 ans. Le fichier mout.pem qui contient ce certificat, et le fichier mout.key qui contient le couple clé privée/publique seront placés dans le répertoire /etc/pki/tls/certs et /etc/pki/tls/private.&lt;br /&gt;
&lt;br /&gt;
'''ATTENTION:''' Si [[Linux:SELinux|SELinux]] est activé et que les certificats se trouvent dans une autre arborescence que /etc/pki, il est impératif de positionner les contextes SELinux des fichiers contenant les certificats sur '''cert_t'''. Sans cela, le serveur LDAP ne pourrait pas avoir accès à ses certificats:&lt;br /&gt;
 chcon -R -u system_u /var/minetti/pki&lt;br /&gt;
 semanage fcontext -a -t cert_t '/var/minetti/pki(/.*)?'&lt;br /&gt;
 restorecon -R -v /var/minetti&lt;br /&gt;
&lt;br /&gt;
=== Démarrage/arrêt du serveur LDAP ===&lt;br /&gt;
* Pour démarrer le serveur:&lt;br /&gt;
 /sbin/service ldap start&lt;br /&gt;
* Pour arrêter le serveur:&lt;br /&gt;
 /sbin/service ldap stop&lt;br /&gt;
* Pour redémarrer le serveur:&lt;br /&gt;
 /sbin/service ldap restart&lt;br /&gt;
* Pour connaître l'état du serveur:&lt;br /&gt;
 /sbin/service ldap status&lt;br /&gt;
=== Peuplement du LDAP ===&lt;br /&gt;
Pour peupler le LDAP, on créé un fichier d'import au format LDIF (''import.ldif''):&lt;br /&gt;
 blabla &lt;br /&gt;
La commande suivante permet de crypter les mots de passe:&lt;br /&gt;
 slappasswd -s &amp;quot;xxxxxxxxxxxxxx&amp;quot;&lt;br /&gt;
Puis on procède à l'import:&lt;br /&gt;
 ldapadd -W -x -v -ZZ -D &amp;quot;cn=admin,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; -f ''import.ldif''&lt;br /&gt;
&lt;br /&gt;
=== Fichier /etc/openldap/access.conf ===&lt;br /&gt;
 # ==============================================================================&lt;br /&gt;
 # CONFIGURATION SERVEUR LDAP: Droits d'accès&lt;br /&gt;
 # Copyright 2006 by MINETTI JP&lt;br /&gt;
 # ==============================================================================&lt;br /&gt;
 # dn.base       Acces au noeud uniquement&lt;br /&gt;
 # dn.one        Acces enfant direct du noeud&lt;br /&gt;
 # dn.subtree    Acces au noeud et a ses descendants&lt;br /&gt;
 # dn.children   Acces aux descendants du noeud (mais pas au noeud)&lt;br /&gt;
 # ==============================================================================&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 # Accès sysaccount.localnet.minetti.org&lt;br /&gt;
 access to dn.base=&amp;quot;ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot;&lt;br /&gt;
        by dn=&amp;quot;cn=admin,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by dn.regex=&amp;quot;^cn=([^,]+),ou=sysaccount,ou=localnet,dc=minetti,dc=org$&amp;quot; read&lt;br /&gt;
        by * none&lt;br /&gt;
 access to dn.children=&amp;quot;ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot;&lt;br /&gt;
           attrs=&amp;quot;userPassword&amp;quot;&lt;br /&gt;
        by dn=&amp;quot;cn=admin,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by self read&lt;br /&gt;
        by anonymous auth&lt;br /&gt;
        by * none&lt;br /&gt;
 access to dn.children=&amp;quot;ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot;&lt;br /&gt;
        by dn=&amp;quot;cn=admin,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by self read&lt;br /&gt;
        by * none&lt;br /&gt;
 &lt;br /&gt;
 # Accès people.localnet.minetti.org&lt;br /&gt;
 access to dn.base=&amp;quot;ou=people,ou=localnet,dc=minetti,dc=org&amp;quot;&lt;br /&gt;
           attrs=objectClass,top,organizationalUnit&lt;br /&gt;
        by dn=&amp;quot;cn=admin,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by dn=&amp;quot;cn=nss,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; read&lt;br /&gt;
        by dn=&amp;quot;cn=samba,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; read&lt;br /&gt;
        by dn=&amp;quot;cn=contact,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; read&lt;br /&gt;
        by * none&lt;br /&gt;
 access to dn.base=&amp;quot;ou=people,ou=localnet,dc=minetti,dc=org&amp;quot;&lt;br /&gt;
        by dn=&amp;quot;cn=admin,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by dn=&amp;quot;cn=nss,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; read&lt;br /&gt;
        by dn=&amp;quot;cn=samba,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by dn=&amp;quot;cn=contact,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by * none&lt;br /&gt;
 access to dn.children=&amp;quot;ou=people,ou=localnet,dc=minetti,dc=org&amp;quot;&lt;br /&gt;
           filter=&amp;quot;objectClass=posixAccount&amp;quot;&lt;br /&gt;
           attrs=userPassword&lt;br /&gt;
        by dn=&amp;quot;cn=admin,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by dn=&amp;quot;cn=nss,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by dn=&amp;quot;cn=samba,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by self write&lt;br /&gt;
        by anonymous auth&lt;br /&gt;
        by * none&lt;br /&gt;
 access to dn.children=&amp;quot;ou=people,ou=localnet,dc=minetti,dc=org&amp;quot;&lt;br /&gt;
           filter=&amp;quot;objectClass=posixAccount&amp;quot;&lt;br /&gt;
           attrs=shadowlastchange&lt;br /&gt;
        by dn=&amp;quot;cn=admin,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by dn=&amp;quot;cn=nss,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by dn=&amp;quot;cn=samba,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by self write&lt;br /&gt;
        by * none&lt;br /&gt;
 access to dn.subtree=&amp;quot;uid=admin,ou=people,ou=localnet,dc=minetti,dc=org&amp;quot;&lt;br /&gt;
        by dn=&amp;quot;cn=admin,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by dn=&amp;quot;cn=nss,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; read&lt;br /&gt;
        by dn=&amp;quot;cn=samba,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by self read&lt;br /&gt;
        by * none&lt;br /&gt;
 access to dn.children=&amp;quot;ou=people,ou=localnet,dc=minetti,dc=org&amp;quot;&lt;br /&gt;
           filter=&amp;quot;objectClass=sambaSamAccount&amp;quot;&lt;br /&gt;
        by dn=&amp;quot;cn=admin,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by dn=&amp;quot;cn=nss,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; read&lt;br /&gt;
        by dn=&amp;quot;cn=samba,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by dn=&amp;quot;cn=contact,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; read&lt;br /&gt;
        by self read&lt;br /&gt;
        by * none&lt;br /&gt;
 access to dn.children=&amp;quot;ou=people,ou=localnet,dc=minetti,dc=org&amp;quot;&lt;br /&gt;
           filter=&amp;quot;objectClass=shadowAccount&amp;quot;&lt;br /&gt;
        by dn=&amp;quot;cn=admin,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by dn=&amp;quot;cn=nss,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; read&lt;br /&gt;
        by dn=&amp;quot;cn=samba,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by dn=&amp;quot;cn=contact,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; read&lt;br /&gt;
        by self read&lt;br /&gt;
        by * none&lt;br /&gt;
 access to dn.children=&amp;quot;ou=people,ou=localnet,dc=minetti,dc=org&amp;quot;&lt;br /&gt;
           filter=&amp;quot;objectClass=posixAccount&amp;quot;&lt;br /&gt;
        by dn=&amp;quot;cn=admin,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by dn=&amp;quot;cn=nss,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; read&lt;br /&gt;
        by dn=&amp;quot;cn=samba,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by dn=&amp;quot;cn=contact,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; read&lt;br /&gt;
        by self read&lt;br /&gt;
        by * none&lt;br /&gt;
 access to dn.children=&amp;quot;ou=people,ou=localnet,dc=minetti,dc=org&amp;quot;&lt;br /&gt;
        by dn=&amp;quot;cn=admin,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by dn=&amp;quot;cn=contact,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by * none&lt;br /&gt;
 &lt;br /&gt;
 # Accès group.localnet.minetti.org&lt;br /&gt;
 access to dn.base=&amp;quot;ou=group,ou=localnet,dc=minetti,dc=org&amp;quot;&lt;br /&gt;
           attrs=objectClass,top,organizationalUnit&lt;br /&gt;
        by dn=&amp;quot;cn=admin,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by dn=&amp;quot;cn=nss,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; read&lt;br /&gt;
        by dn=&amp;quot;cn=samba,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; read&lt;br /&gt;
        by * none&lt;br /&gt;
 access to dn.base=&amp;quot;ou=group,ou=localnet,dc=minetti,dc=org&amp;quot;&lt;br /&gt;
        by dn=&amp;quot;cn=admin,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by dn=&amp;quot;cn=nss,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; read&lt;br /&gt;
        by dn=&amp;quot;cn=samba,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by * none&lt;br /&gt;
 access to dn.children=&amp;quot;ou=group,ou=localnet,dc=minetti,dc=org&amp;quot;&lt;br /&gt;
           filter=&amp;quot;objectClass=sambaGroupMapping&amp;quot;&lt;br /&gt;
        by dn=&amp;quot;cn=admin,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by dn=&amp;quot;cn=samba,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by dn=&amp;quot;cn=nss,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; read&lt;br /&gt;
        by * none&lt;br /&gt;
 access to dn.children=&amp;quot;ou=group,ou=localnet,dc=minetti,dc=org&amp;quot;&lt;br /&gt;
           filter=&amp;quot;objectClass=posixGroup&amp;quot;&lt;br /&gt;
        by dn=&amp;quot;cn=admin,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by dn=&amp;quot;cn=samba,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by dn=&amp;quot;cn=nss,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; read&lt;br /&gt;
        by * none&lt;br /&gt;
 access to dn.children=&amp;quot;ou=group,ou=localnet,dc=minetti,dc=org&amp;quot;&lt;br /&gt;
        by dn=&amp;quot;cn=admin,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by * none&lt;br /&gt;
 &lt;br /&gt;
 # Accès hosts.localnet.minetti.org&lt;br /&gt;
 access to dn.base=&amp;quot;ou=hosts,ou=localnet,dc=minetti,dc=org&amp;quot;&lt;br /&gt;
           attrs=objectClass,top,organizationalUnit&lt;br /&gt;
        by dn=&amp;quot;cn=admin,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by dn=&amp;quot;cn=nss,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; read&lt;br /&gt;
        by dn=&amp;quot;cn=samba,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; read&lt;br /&gt;
        by * none&lt;br /&gt;
 access to dn.base=&amp;quot;ou=hosts,ou=localnet,dc=minetti,dc=org&amp;quot;&lt;br /&gt;
        by dn=&amp;quot;cn=admin,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by dn=&amp;quot;cn=nss,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; read&lt;br /&gt;
        by dn=&amp;quot;cn=samba,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by * none&lt;br /&gt;
 access to dn.children=&amp;quot;ou=hosts,ou=localnet,dc=minetti,dc=org&amp;quot;&lt;br /&gt;
           filter=&amp;quot;objectClass=posixAccount&amp;quot;&lt;br /&gt;
        by dn=&amp;quot;cn=admin,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by dn=&amp;quot;cn=samba,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by * none&lt;br /&gt;
 access to dn.children=&amp;quot;ou=hosts,ou=localnet,dc=minetti,dc=org&amp;quot;&lt;br /&gt;
           filter=&amp;quot;objectClass=ipHost&amp;quot;&lt;br /&gt;
        by dn=&amp;quot;cn=admin,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by dn=&amp;quot;cn=nss,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; read&lt;br /&gt;
        by dn=&amp;quot;cn=samba,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; read&lt;br /&gt;
        by * none&lt;br /&gt;
 access to dn.children=&amp;quot;ou=hosts,ou=localnet,dc=minetti,dc=org&amp;quot;&lt;br /&gt;
        by dn=&amp;quot;cn=admin,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by * none&lt;br /&gt;
 &lt;br /&gt;
 # Accès IDMAP&lt;br /&gt;
 access to dn.base=&amp;quot;ou=idmap,ou=localnet,dc=minetti,dc=org&amp;quot;&lt;br /&gt;
           attrs=objectClass,top,organizationalUnit&lt;br /&gt;
        by dn=&amp;quot;cn=admin,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by dn=&amp;quot;cn=samba,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; read&lt;br /&gt;
        by * none&lt;br /&gt;
 access to dn.base=&amp;quot;ou=idmap,ou=localnet,dc=minetti,dc=org&amp;quot;&lt;br /&gt;
        by dn=&amp;quot;cn=admin,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by dn=&amp;quot;cn=samba,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by * none&lt;br /&gt;
 access to dn.children=&amp;quot;ou=idmap,ou=localnet,dc=minetti,dc=org&amp;quot;&lt;br /&gt;
           filter=&amp;quot;objectClass=sambaIdmapEntry&amp;quot;&lt;br /&gt;
        by dn=&amp;quot;cn=admin,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by dn=&amp;quot;cn=samba,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by * none&lt;br /&gt;
 access to dn.children=&amp;quot;ou=idmap,ou=localnet,dc=minetti,dc=org&amp;quot;&lt;br /&gt;
           filter=&amp;quot;objectClass=sambaUNIXIdPool&amp;quot;&lt;br /&gt;
        by dn=&amp;quot;cn=admin,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by dn=&amp;quot;cn=samba,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by * none&lt;br /&gt;
 access to dn.children=&amp;quot;ou=idmap,ou=localnet,dc=minetti,dc=org&amp;quot;&lt;br /&gt;
        by dn=&amp;quot;cn=admin,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by * none&lt;br /&gt;
 &lt;br /&gt;
 # Accès services.localnet.minetti.org&lt;br /&gt;
 access to dn.subtree=&amp;quot;ou=services,ou=localnet,dc=minetti,dc=org&amp;quot;&lt;br /&gt;
        by dn=&amp;quot;cn=admin,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by dn=&amp;quot;cn=nss,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; read&lt;br /&gt;
        by * none&lt;br /&gt;
 &lt;br /&gt;
 # Accès protocols.localnet.minetti.org&lt;br /&gt;
 access to dn.subtree=&amp;quot;ou=protocols,ou=localnet,dc=minetti,dc=org&amp;quot;&lt;br /&gt;
        by dn=&amp;quot;cn=admin,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by dn=&amp;quot;cn=nss,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; read&lt;br /&gt;
        by * none&lt;br /&gt;
 &lt;br /&gt;
 # Accès netgroup.localnet.minetti.org&lt;br /&gt;
 access to dn.subtree=&amp;quot;ou=netgroup,ou=localnet,dc=minetti,dc=org&amp;quot;&lt;br /&gt;
        by dn=&amp;quot;cn=admin,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by dn=&amp;quot;cn=nss,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; read&lt;br /&gt;
        by * none&lt;br /&gt;
 &lt;br /&gt;
 # Accès autofs.localnet.minetti.org&lt;br /&gt;
 access to dn.subtree=&amp;quot;ou=autofs,ou=localnet,dc=minetti,dc=org&amp;quot;&lt;br /&gt;
        by dn=&amp;quot;cn=admin,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by dn=&amp;quot;cn=nss,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; read&lt;br /&gt;
        by * none&lt;br /&gt;
 &lt;br /&gt;
 # Accès localnet.minetti.org&lt;br /&gt;
 access to dn.base=&amp;quot;ou=localnet,dc=minetti,dc=org&amp;quot;&lt;br /&gt;
        by dn=&amp;quot;cn=admin,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by dn=&amp;quot;cn=nss,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; read&lt;br /&gt;
        by dn=&amp;quot;cn=samba,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; read&lt;br /&gt;
        by dn=&amp;quot;cn=contact,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; read&lt;br /&gt;
        by * none&lt;br /&gt;
 access to dn.one=&amp;quot;ou=localnet,dc=minetti,dc=org&amp;quot;&lt;br /&gt;
           filter=&amp;quot;objectClass=sambaDomain&amp;quot;&lt;br /&gt;
        by dn=&amp;quot;cn=admin,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by dn=&amp;quot;cn=samba,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by * none&lt;br /&gt;
 access to dn.one=&amp;quot;ou=localnet,dc=minetti,dc=org&amp;quot;&lt;br /&gt;
        by dn=&amp;quot;cn=admin,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by * none&lt;br /&gt;
 &lt;br /&gt;
 # Accès tomcat.appli.minetti.org&lt;br /&gt;
 access to dn.base=&amp;quot;ou=tomcat,ou=appli,dc=minetti,dc=org&amp;quot;&lt;br /&gt;
        by dn=&amp;quot;cn=admin,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by dn=&amp;quot;cn=tomcat,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; read&lt;br /&gt;
        by * read&lt;br /&gt;
 access to dn.children=&amp;quot;ou=tomcat,ou=appli,dc=minetti,dc=org&amp;quot;&lt;br /&gt;
           attrs=userPassword&lt;br /&gt;
        by dn=&amp;quot;cn=admin,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by dn=&amp;quot;cn=tomcat,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by self write&lt;br /&gt;
        by anonymous auth&lt;br /&gt;
        by * read&lt;br /&gt;
 access to dn.children=&amp;quot;ou=tomcat,ou=appli,dc=minetti,dc=org&amp;quot;&lt;br /&gt;
        by dn=&amp;quot;cn=admin,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by dn=&amp;quot;cn=tomcat,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by self read&lt;br /&gt;
        by * read&lt;br /&gt;
 &lt;br /&gt;
 # Accès appli.minetti.org&lt;br /&gt;
 access to dn.base=&amp;quot;ou=appli,dc=minetti,dc=org&amp;quot;&lt;br /&gt;
        by dn=&amp;quot;cn=admin,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by dn=&amp;quot;cn=tomcat,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; read&lt;br /&gt;
        by * read&lt;br /&gt;
 &lt;br /&gt;
 # Accès test.minetti.org&lt;br /&gt;
 access to dn.base=&amp;quot;ou=test,dc=minetti,dc=org&amp;quot;&lt;br /&gt;
           attrs=objectClass,top,organizationalUnit&lt;br /&gt;
        by dn=&amp;quot;cn=admin,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by * read&lt;br /&gt;
 access to dn.base=&amp;quot;ou=test,dc=minetti,dc=org&amp;quot;&lt;br /&gt;
        by dn=&amp;quot;cn=admin,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by dn=&amp;quot;cn=test,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by * read&lt;br /&gt;
 access to dn.children=&amp;quot;ou=test,dc=minetti,dc=org&amp;quot;&lt;br /&gt;
           attrs=userPassword&lt;br /&gt;
        by dn=&amp;quot;cn=admin,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by dn=&amp;quot;cn=test,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by self write&lt;br /&gt;
        by anonymous auth&lt;br /&gt;
        by * none&lt;br /&gt;
 access to dn.children=&amp;quot;ou=test,dc=minetti,dc=org&amp;quot;&lt;br /&gt;
        by dn=&amp;quot;cn=admin,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by dn=&amp;quot;cn=test,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by self write&lt;br /&gt;
        by * read&lt;br /&gt;
 &lt;br /&gt;
 # Accès minetti.org&lt;br /&gt;
 access to dn.base=&amp;quot;dc=minetti,dc=org&amp;quot;&lt;br /&gt;
        by dn=&amp;quot;cn=admin,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by * read&lt;br /&gt;
 access to dn.subtree=&amp;quot;dc=minetti,dc=org&amp;quot;&lt;br /&gt;
        by dn=&amp;quot;cn=admin,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; write&lt;br /&gt;
        by * none&lt;br /&gt;
 &lt;br /&gt;
 # Accès par défaut&lt;br /&gt;
 access to *&lt;br /&gt;
        by users read&lt;br /&gt;
        by anonymous auth&lt;br /&gt;
&lt;br /&gt;
=== Test ===&lt;br /&gt;
Pour valider la configuration de notre serveur, on procèdera à quelques tests.&lt;br /&gt;
* Pour lister tous le contenu du LDAP:&lt;br /&gt;
 ldapsearch -vx -ZZ -D &amp;quot;cn=admin,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; -W &amp;quot;(objectClass=*)&amp;quot;&lt;br /&gt;
* Pour lister les informations d'un utilisateur (''myUID''):&lt;br /&gt;
 ldapsearch -vx -ZZ -D &amp;quot;cn=admin,ou=sysaccount,ou=localnet,dc=minetti,dc=org&amp;quot; -W &amp;quot;(uid=''myUID'')&amp;quot;&lt;br /&gt;
* Pour vérifier l'accès d'un utilisateur (''myUID''):&lt;br /&gt;
 ldapsearch -vx -ZZ -D &amp;quot;uid=''myUID'',ou=people,ou=localnet,dc=minetti,dc=org&amp;quot; -W &amp;quot;(objectClass=*)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Authentification LDAP avec NSS et PAM ==&lt;br /&gt;
NSS et PAM permettent l'authentification sous Linux.&lt;br /&gt;
=== Fichier /etc/ldap.conf ===&lt;br /&gt;
 # ==============================================================================&lt;br /&gt;
 # PARAMETRES DE CONNEXION DE PAM_LDAP &amp;amp; NSS_LDAP&lt;br /&gt;
 # Copyright 2006 by MINETTI JP&lt;br /&gt;
 # ==============================================================================&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 # ==============================================================================&lt;br /&gt;
 # CONNEXION&lt;br /&gt;
 # ==============================================================================&lt;br /&gt;
 &lt;br /&gt;
 uri                             ldap://ldap.srv.minetti.org/&lt;br /&gt;
 base                            dc=minetti,dc=org&lt;br /&gt;
 ldap_version                    3&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 # ==============================================================================&lt;br /&gt;
 # TLS&lt;br /&gt;
 # ==============================================================================&lt;br /&gt;
 &lt;br /&gt;
 # Activation du protocole TLS&lt;br /&gt;
 ssl                             start_tls&lt;br /&gt;
 &lt;br /&gt;
 # Vérifier le certificat du serveur&lt;br /&gt;
 tls_checkpeer                   yes&lt;br /&gt;
 &lt;br /&gt;
 # Spéfications des algorithmes de chiffrement&lt;br /&gt;
 tls_ciphers                     HIGH:MEDIUM:+SSLv2&lt;br /&gt;
 &lt;br /&gt;
 # Certificat de la CA&lt;br /&gt;
 tls_cacertfile                  /etc/openldap/cacerts/ca.pem&lt;br /&gt;
 &lt;br /&gt;
 # Certificat x509 du client&lt;br /&gt;
 tls_cert                        /etc/pki/tls/certs/mout.pem&lt;br /&gt;
 &lt;br /&gt;
 # Clés du certificat&lt;br /&gt;
 tls_key                         /etc/pki/tls/private/mout.key&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 # ==============================================================================&lt;br /&gt;
 # GENERAL&lt;br /&gt;
 # ==============================================================================&lt;br /&gt;
 &lt;br /&gt;
 timelimit                       5&lt;br /&gt;
 bind_timelimit                  5&lt;br /&gt;
 bind_policy                     soft&lt;br /&gt;
 idle_timelimit                  3600&lt;br /&gt;
 &lt;br /&gt;
 # Utilisateur pour la connexion au serveur LDAP&lt;br /&gt;
 binddn                          cn=nss,ou=sysaccount,ou=localnet,dc=minetti,dc=org&lt;br /&gt;
 bindpw                          XXXXXXXXXXXXXXX&lt;br /&gt;
 &lt;br /&gt;
 # Type de parcours de recherche&lt;br /&gt;
 scope                           one&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 # ==============================================================================&lt;br /&gt;
 # Configuration PAM&lt;br /&gt;
 # ==============================================================================&lt;br /&gt;
 &lt;br /&gt;
 pam_password                    md5&lt;br /&gt;
 pam_filter                      objectclass=posixAccount&lt;br /&gt;
 pam_login_attribute             uid&lt;br /&gt;
 pam_member_attribute            memberUid&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 # ==============================================================================&lt;br /&gt;
 # Configuration NSS&lt;br /&gt;
 # ==============================================================================&lt;br /&gt;
 &lt;br /&gt;
 nss_base_passwd                 ou=people,ou=localnet,dc=minetti,dc=org?one&lt;br /&gt;
 nss_base_shadow                 ou=people,ou=localnet,dc=minetti,dc=org?one&lt;br /&gt;
 nss_base_group                  ou=group,ou=localnet,dc=minetti,dc=org?one&lt;br /&gt;
 nss_base_hosts                  ou=hosts,ou=localnet,dc=minetti,dc=org?one&lt;br /&gt;
 nss_base_services               ou=services,ou=localnet,dc=minetti,dc=org?one&lt;br /&gt;
 nss_base_networks               ou=networks,ou=localnet,dc=minetti,dc=org?one&lt;br /&gt;
 nss_base_protocols              ou=protocols,ou=localnet,dc=minetti,dc=org?one&lt;br /&gt;
 nss_base_rpc                    ou=rpc,ou=localnet,dc=minetti,dc=org?one&lt;br /&gt;
 nss_base_ethers                 ou=ethers,ou=localnet,dc=minetti,dc=org?one&lt;br /&gt;
 nss_base_netmasks               ou=networks,ou=localnet,dc=minetti,dc=org?one&lt;br /&gt;
 nss_base_bootparams             ou=ethers,ou=localnet,dc=minetti,dc=org?one&lt;br /&gt;
 nss_base_aliases                ou=aliases,ou=localnet,dc=minetti,dc=org?one&lt;br /&gt;
 nss_base_netgroup               ou=netgroup,ou=localnet,dc=minetti,dc=org?one&lt;br /&gt;
 &lt;br /&gt;
 # Just assume that there are no supplemental groups for these named users&lt;br /&gt;
 nss_initgroups_ignoreusers      root,ldap,named,avahi,haldaemon,dbus,radvd,tomcat,radiusd,news,mailman,nscd,gdm&lt;br /&gt;
&lt;br /&gt;
=== Fichier /etc/pam.d/system-auth ===&lt;br /&gt;
 #%PAM-1.0&lt;br /&gt;
 # This file is auto-generated.&lt;br /&gt;
 # User changes will be destroyed the next time authconfig is run.&lt;br /&gt;
 auth        required      pam_env.so&lt;br /&gt;
 auth        sufficient    pam_unix.so nullok try_first_pass&lt;br /&gt;
 auth        requisite     pam_succeed_if.so uid &amp;gt;= 500 quiet&lt;br /&gt;
 auth        sufficient    pam_ldap.so use_first_pass&lt;br /&gt;
 auth        required      pam_deny.so&lt;br /&gt;
 &lt;br /&gt;
 account     sufficient    pam_unix.so broken_shadow&lt;br /&gt;
 account     sufficient    pam_localuser.so&lt;br /&gt;
 account     sufficient    pam_succeed_if.so uid &amp;lt; 500 quiet&lt;br /&gt;
 account     [default=bad success=ok user_unknown=ignore] pam_ldap.so&lt;br /&gt;
 account     required      pam_permit.so&lt;br /&gt;
 &lt;br /&gt;
 password    requisite     pam_cracklib.so try_first_pass retry=3&lt;br /&gt;
 password    sufficient    pam_unix.so md5 shadow nullok try_first_pass use_authtok&lt;br /&gt;
 password    sufficient    pam_ldap.so use_authtok&lt;br /&gt;
 password    required      pam_deny.so&lt;br /&gt;
 &lt;br /&gt;
 session     required      pam_limits.so&lt;br /&gt;
 session     required      pam_unix.so&lt;br /&gt;
 session     optional      pam_ldap.so&lt;br /&gt;
&lt;br /&gt;
=== Fichier /etc/nsswitch.conf ===&lt;br /&gt;
 # ==============================================================================&lt;br /&gt;
 # CONFIGURATION NSS&lt;br /&gt;
 # Copyright 2006 by MINETTI JP&lt;br /&gt;
 # ==============================================================================&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 # Utilisateurs et groupes&lt;br /&gt;
 passwd:     files ldap&lt;br /&gt;
 shadow:     files ldap&lt;br /&gt;
 group:      files ldap&lt;br /&gt;
 &lt;br /&gt;
 # Machines du réseau&lt;br /&gt;
 hosts:      files dns ldap&lt;br /&gt;
 &lt;br /&gt;
 # Autres&lt;br /&gt;
 bootparams: nisplus [NOTFOUND=return] files&lt;br /&gt;
 ethers:     files&lt;br /&gt;
 netmasks:   files&lt;br /&gt;
 networks:   files&lt;br /&gt;
 protocols:  files ldap&lt;br /&gt;
 rpc:        files&lt;br /&gt;
 services:   files ldap&lt;br /&gt;
 netgroup:   nisplus ldap&lt;br /&gt;
 publickey:  nisplus&lt;br /&gt;
 automount:  files nisplus ldap&lt;br /&gt;
 aliases:    files nisplus&lt;br /&gt;
&lt;br /&gt;
=== SELinux et test ===&lt;br /&gt;
Si [[Linux:SELinux|SELinux]] est activé et que les certificats se trouvent dans une autre arborescence que /etc/pki, il est impératif de positionner les contextes SELinux des fichiers contenant les certificats sur '''cert_t'''. Sans cela, PAM et NSS n'enverront pas leurs certificats au serveur LDAP:&lt;br /&gt;
 chcon -R -u system_u /var/minetti/pki&lt;br /&gt;
 semanage fcontext -a -t cert_t '/var/minetti/pki(/.*)?'&lt;br /&gt;
 restorecon -R -v /var/minetti&lt;br /&gt;
Une fois tout ceci terminé, on peut tester une authentification. Mais avant, il ne faut pas oublier de redémarrer le démon NSCD:&lt;br /&gt;
 service nscd restart&lt;br /&gt;
&lt;br /&gt;
== Authentification LDAP avec RADIUS ==&lt;br /&gt;
== Authentification LDAP avec Apache ==&lt;br /&gt;
=== Applications PHP ===&lt;br /&gt;
Pour se connecter au LDAP, l'interpréteur PHP utilise le client OpenLDAP. La configuration de la connexion ne devrait donc pas représenter une difficulté. Toutefois, il faut s'assurer:&lt;br /&gt;
* qu'un fichier '''.ldaprc''' est bien présent dans le répertoire home ($HOME) de l'utilisateur sous lequel le serveur Apache est lancé,&lt;br /&gt;
* et que la variable d'environnement $HOME est bien positionné lors du lancement du serveur Apache.&lt;br /&gt;
&lt;br /&gt;
== Application PHPLDAPAdmin ==&lt;/div&gt;</summary>
		<author><name>Jp</name></author>	</entry>

	</feed>