Principe du client GNU / Linux

L’objectif est d’obtenir des postes de travail sous GNU / Linux dont l'authentification et le montage des répertoires de travail se fait sur les modules Scribe ou Horus.

Authentification PAM / LDAP

Un système GNU / Linux peut aller chercher dans différents endroits pour authentifier des utilisateurs. Par défaut il utilise le fichier /etc/passwd.

Cependant on peut lui ajouter d'autres sources de données.

Le module PAM[1] va permettre de vérifier, à la demande d'un service, la validité d'une authentification à un service d'authentification tel que LDAP[2] ou Kerberos[3].

Aussi, il ne suffit pas de modifier la configuration de PAM pour que cela fonctionne. En général, il faut également installer un service qui va pouvoir activer ce pont entre PAM et le service d'authentification :

  • libpam-ldap permet à PAM d'utiliser LDAP pour l'authentification

  • libpam-krb5 permet de faire le pont entre PAM et Kerberos pour l'authentification

L'authentification sur les postes clients GNU / Linux va principalement se baser sur 2 services :

  • NSS (Name Service Switch, NS Switch) est une bibliothèque générique de résolution de nom.

    Elle permet :

    • d'authentifier les utilisateurs via le LDAP ;
    • d'obtenir les informations des utilisateurs à travers le LDAP.
  • nslcd est utilisé pour lier l’authentification LDAP et de récupérer ses informations

    nslcd est un démon qui va faire des requêtes LDAP pour les processus locaux qui veulent faire utilisateur, groupe et autres recherches de nommage (NSS) ou de faire l'authentification des utilisateurs, d'autorisation ou de modification de mot de passe (PAM)

  • nscd qui fera un cache et vous évitera des problèmes liés à la performance et au coupure du réseau.

NSS

Les informations telles que les noms d'utilisateurs, groupes et autres, stockées dans des fichiers situés dans /etc/, vont être fournies grâce à NSS (Name Service Switch) à l'aide du serveur LDAP du module Scribe.

Un serveur LDAP peut gérer les bases de données suivantes :

  • aliases (alias de messagerie, ignoré par la plupart des démons de courrier) ;

  • ethers (adresses Ethernet) ;

  • group (groupes d'utilisateurs) ;

  • hosts (noms et adresses d'hôte) ;

  • netgroup (groupes d'hôtes et d'utilisateurs pour le contrôle d'accès) ;

  • networks (informations concernant le réseau) ;

  • passwd (comptes des utilisateurs) ;

  • protocols (protocoles réseau) ;

  • rpc (base de données des numéros de programmes rpc) ;

  • services (liste des services réseau Internet) ;

  • shadow (informations sécurisées sur les comptes utilisateurs).

Les données gérer dans l'annuaire LDAP du module Scribe sont :

  • passwd (comptes des utilisateurs) ;

  • group (groupes d'utilisateurs) ;

  • shadow (informations sécurisées sur les comptes utilisateurs).

#fixme : à compléter

Il existe actuellement deux paquets disponibles pour configurer les requêtes NSS via LDAP :

  • libnss-ldap

    plus mature mais plus complexe, libnss-ldap a quelques problèmes connus au démarrage

  • libnss-ldapd

    plus simple, amélioré, mais moins mature

Le choix entre les deux dépend des besoins, ici libnss-ldapd a été retenu.

nslcd

nslcd (local LDAP name service daemon) est un démon qui va faire des requêtes LDAP pour les processus locaux basés sur un fichier de configuration simple.

nslcd utilise nscd pour mettre en cache les informations et permet de limiter les requêtes au serveur LDAP.

Truc & astuce

Le durée du cache peut être réglé en modifiant les valeurs xxx-time-to-live dans le fichier /etc/nscd.conf, les valeurs par défaut suffise dans la plupart des cas.

Montage des répertoires partagés

Il existe actuellement 2 méthodes pour mettre en place des montages distants depuis le client GNU/Linux ver le module Scribe :

  • méthode basée sur NFS ;

  • méthode basée sur les montages Samba.

Méthode basée sur NFS

La méthode basée sur le partage de fichiers NFS[4] est valable aussi bien pour des clients GNU/Linux existants que pour la mise en œuvre des clients légers Eclair (serveur de clients légers).

Pour fonctionner, le client GNU/Linux a besoin que le service NFS soit installé et activé sur le module Scribe.

Le logiciel Gaspacho permet d'appliquer des configurations sur les postes clients.

Attention

Tous les comptes locaux ont un accès au module Scribe.

#fixme

Méthode basée sur Samba

Cette solution basée sur SMB[5] est valable pour des clients GNU/Linux.

Un fichier de configuration doit être ajouté sur le module Scribe pour la prise en charge des partages.

Pour fonctionner, le client GNU/Linux doit pouvoir monter des partitions distante par SMB avec l'utilitaire cifs-utils.

Le logiciel Gaspacho permet d'appliquer des configurations sur les postes clients.

Attention

Cette méthode crée autant de comptes sur l'ordinateur client qu'il y a de comptes dans l'annuaire du module Scribe.

#fixme

Intégration dans l'environnement graphique

Un certains nombres de modification permette une intégration plus forte dans l'environnement graphique.

Appliquer des règles

Gaspacho est une application qui permet de configurer automatiquement le poste de travail de l'utilisateur selon son profil.