FLASH INFORMATIQUE FI



Configuration d’un client LDAP Ubuntu




Léonard GROSS


Ce document décrit la manière de configurer l’authentification d’une machine client Ubuntu sur le serveur LDAP de l’EPFL. LDAP (Lightweight Directory Access Protocol) est un protocole standard qui permet la gestion et l’accès à des annuaires. Initialement conçu pour accéder au service d’annuaire X.500, il fut adapté pour les réseaux utilisant TCP/IP, devenant ainsi natif et passablement allégé (d’où son qualificatif Lightweight). Un de ses nombreux avantages est l’identification en réseau qui permet de se passer de comptes locaux et de disposer de ses droits quelle que soit la machine client. Pour de plus amples détails, voir [1] et [2]

Installation des paquetages et configuration

Les paquetages nécessaires sont les suivants : libnss-ldap et libpam-ldap. Durant la phase de l’assistant de configuration de libnss-ldap, choisir la version 3 de LDAP, saisir l’URI et configurer la base comme suit :

o=epfl,c=ch

Les autres champs concernant l’accès root peuvent être laissés vides. La phase de configuration de libpam-ldap propose une série de questions. Répondre par non. En cas d’erreur, la configuration peut être relancée avec la commande dpkg-reconfigure. Ces configurations sont contenues dans les fichiers suivants : /etc/libnss-ldap.conf, /etc/ldap/ldap.conf et /etc/pam_ldap.conf. Dans /etc/libnss-ldap.conf, spécifier le host, la base et l’URI comme précédemment, puis dans la section de reconnect policy décommenter et modifier comme suit :

bind_policy soft

Dans /etc/ldap/ldap.conf et /etc/pam_ldap.conf, vérifier que figurent le host, la base et l’URI corrects.

HOST ldap.epfl.ch
BASE o=epfl,c=ch
URI  ldap://ldap.epfl.ch

Configuration de nsswitch.conf

Editer les trois premières lignes du fichier /etc/nsswitch.conf comme suit :

passwd:           files ldap
group:            files ldap
shadow:           files ldap

La configuration peut être testée via les commandes suivantes :

$ getent passwd <ldap_username>
$ getent group <ldap_groupname>

Configuration de PAM

Des modifications sont à apporter à 4 fichiers de configuration de PAM (Pluggable Authentication Modules) :

  • Le fichier /etc/pam.d/common-account contient
account sufficient    pam_unix.so
account sufficient    pam_ldap.so

De plus, si vous voulez que le répertoire home de tout utilisateur LDAP qui se connecte sur la machine soit créé au premier login, il faut rajouter, toujours dans le fichier /etc/pam.d/common-account, la ligne suivante :

session required pam_mkhomedir.so umask=0022skel=/etc/skel/ silent
  • Le fichier /etc/pam.d/common-auth contient
auth sufficient      pam_unix.so nullok_secure
auth sufficient      pam_ldap.so use_firt_pass
auth required        pam_deny.so
  • Le fichier /etc/pam.d/common-password contient
password sufficient  pam_unix.so nullok obscure min=4 max=8 md5
password sufficient  pam_ldap.so
  • Le fichier /etc/pam.d/common-session contient
session sufficient      pam_unix.so
session sufficient      pam_ldap.so

Pour plus de détails et des options supplémentaires, voir ici. Attention toutefois aux exemples donnés qui diffèrent quelque peu, notamment les indicateurs de contrôle. Dans notre cas ils doivent être sufficient car on ne connaît pas a priori la provenance de l’utilisateur (local ou LDAP).

Attribution automatique des groupes

Un login à ce point de la procédure est possible, mais il subsiste quelques mises au point à effectuer. Pour éviter les failles de sécurité, les utilisateurs externes (i.e. sans compte local) n’appartiennent pas à certains groupes, plus précisément ceux qui permettent d’accéder à certains périphériques comme les clés USB (groupe plugdev) ou à la carte audio (groupe audio). Il faut donc rajouter dynamiquement chaque utilisateur qui se connecte par gdm (ou kdm) à ces groupes. Pour ce faire, ajouter les lignes suivantes au fichier /etc/security/group.conf :

kdm;*;*;Al0000-2400;users,dialout,cdrmo,floppy,audio,dip,video,plugdev,lpadmin,scanner
gdm;*;*;Al0000-2400;users,dialout,cdrmo,floppy,audio,dip,video,plugdev,lpadmin,scanner

puis dans les fichiers /etc/pam.d/gdm et /etc/pam.d/login ajouter la ligne :

auth optional pam_group.so

Attention toutefois cette ligne doit se trouver avant la ligne :

@common-auth

Divers

Il est peut être utile de placer des informations utilisateur en cache pour éviter qu’il interroge le serveur à chaque requête. Pour ce faire installer nscd.

Bibliographie

  1. Claude Lecommandeur, Authentification via le serveur LDAP. FI 9/01
  2. Jacqueline Dousson, Usernames/mots de passe à l’EPFL. FI 3/05


Cherchez ...

- dans tous les Flash informatique
(entre 1986 et 2001: seulement sur les titres et auteurs)
- par mot-clé

Avertissement

Cette page est un article d'une publication de l'EPFL.
Le contenu et certains liens ne sont peut-être plus d'actualité.

Responsabilité

Les articles n'engagent que leurs auteurs, sauf ceux qui concernent de façon évidente des prestations officielles (sous la responsabilité du DIT ou d'autres entités). Toute reproduction, même partielle, n'est autorisée qu'avec l'accord de la rédaction et des auteurs.


Archives sur clé USB

Le Flash informatique ne paraîtra plus. Le dernier numéro est daté de décembre 2013.

Taguage des articles

Depuis 2010, pour aider le lecteur, les articles sont taggués:
  •   tout public
    que vous soyiez utilisateur occasionnel du PC familial, ou bien simplement propriétaire d'un iPhone, lisez l'article marqué tout public, vous y apprendrez plein de choses qui vous permettront de mieux appréhender ces technologies qui envahissent votre quotidien
  •   public averti
    l'article parle de concepts techniques, mais à la portée de toute personne intéressée par les dessous des nouvelles technologies
  •   expert
    le sujet abordé n'intéresse que peu de lecteurs, mais ceux-là seront ravis d'approfondir un thème, d'en savoir plus sur un nouveau langage.