{{tag>BROUILLON}}
----
====== LDAP client ======
===== À qui cela s'adresse =====
Cette page est pour n'importe qui voulant rendre son Ubuntu capable de s'authentifier auprès d'un serveur [[wpfr>OpenLDAP]].
L'utilisateur qui désire s'authentifier avec Sun Java Enterprise System Directory Server doit regarder la [[https://wiki.ubuntu.com/SunLDAPClientAuthentication|page sur la documentation en anglais]].
===== Note pour Gutsy =====
Il y a un nouvel outil dans Gutsy pour modifier les outils de pam et de nsswitch en même temps :
sudo auth-client-config -a -p lac_ldap
===== L’installation et la configuration de LDAP =====
==== Installation des paquets ====
Vous avez besoin des paquets suivants ''libpam-ldap'' et ''libnss-ldap'' pour la configuration du client :
sudo apt-get install libpam-ldap libnss-ldap
Pendant l'installation, vous allez avoir à répondre à ces questions :
* **L'adresse du serveur LDAP utilisé**. Vous pouvez aussi utiliser un **fully qualified domain**. Par exemple : **ldap.exemple.com**
sur l'image ci-dessous, à la place de 127.0.0.1, choisissez l'IP de votre serveur, c'est la meilleure solution pour éviter les problèmes.
{{:configuration-ldap-nss-pam.png|}}
* **Le nom de la base de recherche**. Par exemple **dc=example,dc=com**
* **La version de LDAP à utiliser**. Vous choisirez habituellement **3**.
* **Si votre base de données requiert une connexion**. Vous choisirez habituellement **no** ici.
* **Si vous voulez faire une configuration en Lecture/Écriture par le propriétaire seulement**. Donc **no** devrait être la réponse.
* Le prochain dialogue vous explique qu'il ne peut configurer **nsswitch.conf** automatiquement.
* **Si vous voulez que le root local soit l'administrateur de la base de données**, vous devez habituellement choisir **yes** ici.
* Ensuite, **si votre base de données requiert une connexion**. Vous devez choisir **no** ici.
* **Votre compte root**. Par exemple : **cn=manager,dc=example,dc=com**
* **Son mot de passe**.
* Ensuite, la boite de dialogue vous explique les différentes méthodes de cryptage. On va vous demander d'indiquer **la méthode de cryptage avant d'envoyer le mot de passe**. **exop** est habituellement un bon choix.
Ici, une explication des fichiers créés et de leur contenu serait la bienvenue. Ainsi que les modifications manuelles, possibles
Un petit dpkg-reconfigure ldap-auth-config permet de refaire cette configuration, au cas où !!!
==== La configuration de nsswitch.conf ====
Malheureusement nous ne pouvons tester la configuration des paquets plus haut sans la modification de /etc/nsswitch.conf :
sudo vi /etc/nsswitch.conf
et remplacer **compat** par **ldap files** ou par cette commande dans vi :
:g/compat/s//files ldap/g
Votre fichier /etc/nsswitch.conf doit alors contenir les lignes suivantes :
passwd: files ldap
group: files ldap
shadow: files ldap
Pensez à **redémarrer le démon nscd**, qui garde en cache les résultats : /etc/init.d/nscd restart
===== Tester la configuration de nsswitch.conf avec getent =====
Maintenant vous pouvez tester la configuration avec
les commandes plus bas (remplacer **** par un nom d'utilisateur et **** par un nom de groupe présent dans votre serveur LDAP) :
getent passwd
getent group
Si vous avez une réponse dans les deux cas **nsswitch.conf** est correctement configuré la seule chose qui reste à faire est
de configurer PAM.
Il est aussi possible de taper directement : getent passwd vous devez alors voir tous les utilisateurs de votre serveur ldap. Si ce n'est pas le cas, éditez et vérifiez le contenu des fichiers **/etc/ldap/ldap.conf** et **/etc/libnss-ldap.conf**. Pour modifier ce dernier utilsez la commande :
dpkg-reconfigure libnss-ldap
Sans réponses, quels sont les points à vérifier pour trouver l'origine du problème ?
===== Configuration de PAM =====
La configuration de PAM est divisée en 4 fichiers : common-account, common-auth, common-password and common-session
==== /etc/pam.d/common-account ====
sudo vi /etc/pam.d/common-account
Changez la configuration par ces lignes :
account sufficient pam_ldap.so
account required pam_unix.so
==== /etc/pam.d/common-auth ====
sudo vi /etc/pam.d/common-auth
Changez la configuration par ces lignes :
auth sufficient pam_ldap.so
auth required pam_unix.so nullok_secure use_first_pass
==== /etc/pam.d/common-password ====
=== Configuration standard ===
sudo vi /etc/pam.d/common-password
Changez la configuration par ces lignes :
password sufficient pam_ldap.so
password required pam_unix.so nullok obscure min=4 max=8 md5
===== Utilisez des mots de passe plus complexes =====
Pour l'utilisation de mot de passe plus difficile à être cassés il vous suffit d'installer le paquet ''libpam-cracklib'' :
sudo apt-get install libpam-cracklib
Vous avez besoin de modifier la configuration du fichier **/etc/pam.d/common-password** :
sudo vi /etc/pam.d/common-password
Changez la configuration par ces lignes :
password required pam_cracklib.so retry=3 minlen=6 difok=3
password sufficient pam_ldap.so use_authtok nullok md5
password required pam_unix.so use_authtok use_first_pass
==== /etc/pam.d/common-session ====
=== standard configuration ===
sudo vi /etc/pam.d/common-session
Changez la configuration par ces lignes :
session sufficient pam_ldap.so
session required pam_unix.so
===== Création automatique du répertoire home à la première connexion =====
Si vous voulez que la création automatique du répertoire home soit faite à la première connexion vous allez devoir éditer **common-session** encore une fois :
sudo vi /etc/pam.d/common-session
Changez la configuration par ces lignes :
session required pam_unix.so
session required pam_mkhomedir.so skel=/etc/skel/
session optional pam_ldap.so
===== Notes =====
* Je ne peux promettre que ce document soit sans erreur mais je l'ai testé et il fonctionne.
===== Crédits =====
Source : traduction de https://wiki.ubuntu.com/LDAPClientAuthentication
* La plupart des informations viennent de cette page :
http://mcwhirter.com.au/craige/blog/2006/Making-a-Debian-or-Ubuntu-Machine-an-LDAP-Authentication-Client
* Des informations additionnelles peuvent être trouvées ici :
* http://www.gentoo.org/doc/en/ldap-howto.xml
* http://www.gesnel.fr/ubuntu/2007/05/30/integration-de-clients-ubuntu-dans-un-reseau-avec-ldap/
----
//Contributeur principal : [[utilisateurs:phetu]] (traduction).//