GDM-LDAP-Ubuntu

De e-glop
Révision datée du 19 mai 2015 à 15:01 par BeTa (discussion | contributions) (OpenLDAP)

Baptiste SIMON (aka BeTa)

Copyright © 2006 Baptiste SIMON <baptiste.simon @ e-glop.net>

Ce tutoriel (Howto) va présenter comment se sortir d'un problème apparemment insoluble avec GDM et une authentification basée sur un annuaire LDAP (ici : OpenLDAP). Ce problème s'est présenté à moi avec un parc de serveurs sous Debian GNU/Linux (Sarge) et un poste client sous Ubuntu GNU/Linux (5.10 - Breezy Badger).

Pré-requis

il faut avoir installé (à la date d'écriture de ce document) :

$ dpkg -l 'lib*ldap' gdm
Souhait=inconnU/Installé/suppRimé/Purgé/H=à garder
| État=Non/Installé/fichier-Config/dépaqUeté/échec-conFig/H=semi-installé
|/ Err?=(aucune)/H=à garder/besoin Réinstallation/X=les deux (État,Err: majuscule=mauvais)
||/ Nom                               Version                           Description
+++-=================================-=================================-======================================================== 
ii  gdm                               2.8.0.5-0ubuntu1                  GNOME Display Manager
ii  libnss-ldap                       238-1ubuntu1                      NSS module for using LDAP as a naming service
ii  libpam-ldap                       178-1ubuntu2                      Pluggable Authentication Module allowing LDAP interfaces

Configuration

PAM (authentification)

Pour faire fonctionner GDM, voici comment j'ai dû paramétrer mon authentification PAM (notez que cela n'a rien d'extraordinaire) :

$ cat /etc/pam.d/common-account
account sufficient      pam_ldap.so
account required        pam_unix.so
$ cat /etc/pam.d/common-auth
auth    sufficient      pam_ldap.so
auth    required        pam_unix.so     use_first_pass nullok_secure
$ cat /etc/pam.d/common-password
password   sufficient pam_ldap.so	md5
password   required   pam_unix.so	nullok obscure min=4 max=8 md5
$ cat /etc/pam.d/common-session
session sufficient      pam_ldap.so
session required        pam_unix.so

nsswitch

Ensuite, il m'a été nécessaire de mettre dans le bon ordre les options de mon fichier /etc/nsswitch.conf sous peine de continuer à voir GDM bloquer sur le processus d'authentification de manière incompréhensible (attention donc à l'ordre des éléments sur chaque ligne) :

$ grep ldap /etc/nsswitch.conf
passwd:         files ldap
group:          files ldap
shadow:         files ldap

OpenLDAP

Sans avoir fait de test sans passer par SSL/TLS, il est possible que cette étape soit aussi nécessaire pour réussir son authentification avec GDM. Notez que dans tous les cas, crypter ses échanges OpenLDAP est, je pense, aujourd'hui une nécessité.

Voici donc comment paramétrer son client pour fonctionner sur SSL/TLS :

$ grep ssl /etc/ldap.conf
ssl start_tls
ssl on

Pour paramétrer votre serveur, je vous conseille de suivre des documentations très bien faites à ce sujet... Je ne pense pas avoir besoin de réécrire ce qui a déjà été dit de bonne manière ailleurs. Voici quelques liens que j'ai trouvés après une rapide recherche sur la toile :

Conclusion

Alors que, par défaut, GDM bloquait sans raison apparente, que mes logs restaient muets, ... cette configuration m'a permis de fonctionner proprement, avec une authentification sécurisée, et toutes les fonctionnalités offertes par GDM (dont le changement d'utilisateur "à la volée" en combinaison avec xscreensaver et la configuration très appropriée de Ubuntu GNU/Linux).

Je n'ai jamais trouvé cette solution complète sur Internet et j'ai dû croiser de multiples conseils piochés un peu partout pour réussir à arriver à mes fins. C'est la raison pour laquelle je me suis lancé dans l'écriture de ce petit guide qui vous a, je l'espère, permi de réussir à utiliser GDM avec votre authentification LDAP sans vous casser les dents.

Pour toute remarque, question ou contribution supplémentaire, vous trouverez mon mail dans la partie réservée à cet effet, n'hésitez pas... Ce document est Libre et doit s'utiliser en tant que tel :c).

Annexes

L'auteur

Baptiste SIMON <baptiste.simon AT e-glop.net>
Administrateur systemes GNU/Linux, Unix, IPv6 | http://www.e-glop.net/
Disponible | Logiciel Libre (dev/sysadmin, agriculture, environnement..)

Licence de publication

Ce document issu de e-glop.net est soumis à la licence qui régit déjà l'ensemble du site (cf. en bas de cette page par exemple). Permission vous est donnée de distribuer, modifier des copies de ce document (traduction, modifications, adaptation, etc...) tant que vous respectez la licence sus-citée.