5. Accès aux ressources LDAP & NFS depuis le client

Dans cette section, on suppose que l'annuaire LDAP du poste serveur est complet et accessible. Dans un premier temps, on configure le poste client pour qu'il obtienne de façon transparente les informations sur les comptes utilisateurs desservis par l'annuaire. Dans un second temps, on complète sa configuration pour qu'il obtienne, toujours de façon transparente les informations sur le système de fichiers réseau.

Cette partie reprend les étapes décrites dans la section Configuration Name Service Switch du support Introduction aux annuaires LDAP avec OpenLDAP.

5.1. Configuration LDAP

Q18.

Quels sont les paquets de bibliothèques LDAP relatifs au mécanisme Name Service Switch et au gestionnaire d'authentification PAM ?

Rechercher la liste des paquets dont le nom débute par libnss et libpam.

Les deux paquets utiles sont : libnss-ldapd et libpam-ldapd. Le paquet nslcd est une dépendance importante de libnss-ldapd. Il assure le volet connexion et authentification à l'annuaire.

Q19.

Quelles sont les étapes de la configuration des paquets de bibliothèques NSS et PAM ?

Lors de l'installation des deux paquets, on passe par une série de menus debconf.

Voici un récapitulatif des réponses.

Pour le paquet libnss-ldapd, on donne la liste des services de nom à configurer :

  • passwd

  • group

  • shadow

Pour le paquet nslcd, on donne les paramètres pour contacter le serveur LDAP.

  • URI du serveur LDAP : ldap://192.0.2.12

  • Base de recherche du serveur LDAP : dc=lab,dc=stri

  • Authentification LDAP : aucune

  • La base LDAP demande-t-elle une identification ? non

  • Faut-il utiliser StartTLS ? non

Q20.

Comment valider la configuration de l'accès à l'annuaire LDAP ?

Rechercher une commande permettant d'effectuer un appel système aux bibliothèques standard libc.

On qualifie le mécanisme Name Service Switch à l'aide de la commande getent.

$ getent passwd
root:x:0:0:root:/root:/bin/bash
<snip>
nslcd:x:111:117:nslcd name service LDAP connection daemon,,,:/var/run/nslcd/:/bin/false
padme:x:10000:10000:Padme Amidala Skywalker:/ahome/padme:/bin/bash
anakin:x:10001:10001:Anakin Skywalker:/ahome/anakin:/bin/bash
leia:x:10002:10002:Leia Organa:/ahome/leia:/bin/bash
luke:x:10003:10003:Luke Skywalker:/ahome/luke:/bin/bash

On qualifie l'authentication PAM à l'aide de la commande su.

$ su - luke
Mot de passe : 
:/home/etu$

5.2. Configuration NFS avec automontage

On considère que le paquet autofs-ldap a déjà été installé pour fournir le schéma de la partie automontage au serveur LDAP. Voir Section 4, « Configuration de l'automontage avec le service LDAP ».

Q21.

Quelle est la modification à apporter au fichier de configuration /etc/nsswitch.conf pour que le démon automount accède aux ressources de l'annuaire LDAP ?

Il faut ajouter une directive supplémentaire qui spécifie l'ordre de recherche des informations pour le démon automount.

La syntaxe est la suivante.

$ echo -e "\nautomount:      ldap" | sudo tee -a /etc/nsswitch.conf

Q22.

Quel est le fichier de configuration du service d'automontage dans lequel sont définis ses paramètres globaux ?

Rechercher le répertoire dans lequel sont placés les fichiers de paramétrage de tous les services.

Il s'agit du fichier /etc/default/autofs.

Q23.

Quelles sont les modifications à apporter à ce fichier pour que le démon accède à l'annuaire LDAP et que la journalisation soit active ?

Il faut éditer le fichier avec les éléments suivants.

  • Désigner l'unité organisationnelle qui contient les entrées de configuration de l'automontage

  • Faire apparaître les évènements du service d'automontage dans les journaux système

  • Désigner le serveur LDAP à contacter

  • Spécifier le point d'entrée pour les recherches dans l'annuaire

$ sudo grep -v ^# /etc/default/autofs 
MASTER_MAP_NAME="ou=auto.master,ou=automount,dc=lab,dc=stri"
TIMEOUT=300
BROWSE_MODE="no"
LOGGING="verbose"
LDAP_URI="ldap://192.0.2.12"
SEARCH_BASE="ou=automount,dc=lab,dc=stri"

Q24.

Comment vérifier que le service autofs a bien pris la nouvelle configuration en charge et fait appel aux ressources de l'annuaire LDAP ?

Rechercher dans les informations relatives au statut du service autofs les paramètres de configuration LDAP.

On affiche l'état du service à l'aide de la commande ci-dessous.

$ sudo systemctl status autofs
● autofs.service - Automounts filesystems on demand
   Loaded: loaded (/lib/systemd/system/autofs.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2017-09-15 13:58:18 CEST; 15s ago
  Process: 19416 ExecStart=/usr/sbin/automount $OPTIONS 
                        --pid-file /var/run/autofs.pid (code=exited, status=0/SUCCESS)
 Main PID: 19417 (automount)
    Tasks: 4 (limit: 4915)
   CGroup: /system.slice/autofs.service
           └─19417 /usr/sbin/automount --pid-file /var/run/autofs.pid

systemd[1]: Starting Automounts filesystems on demand...
automount[19417]: Starting automounter version 5.1.2, 
                        master map ou=auto.master,ou=automount,dc=lab,dc=stri
automount[19417]: using kernel protocol version 5.02
automount[19417]: connected to uri ldap://192.0.2.12
automount[19417]: mounted indirect on /ahome with timeout 300, 
                        freq 75 seconds
systemd[1]: Started Automounts filesystems on demand.

Q25.

Quelles sont les méthodes qui permettent de valider le fonctionnement du service d'automontage ?

Donner deux moyens d'acquérir l'identité d'un utilisateur ou d'une utilisatrice défini(e) dans l'annuaire LDAP uniquement.

ne pas oublier le consulter les journaux système pour observer les étapes de ces connexions utilisateur.

  • Connexion SSH depuis un autre hôte

  • Changement d'identité sur le même hôte avec la commande su

  • Utilisation du gestionnaire de connexion graphique

Enfin, une fois la session d'un(e) utilisat(eur|rice) défini dans l'annuaire LDAP ouverte, il est important de vérifier que l'automontage du répertoire personnel à fonctionné. Il suffit d'utiliser la commande mount pour afficher la liste des montages actifs.

On retrouve la copie d'écran donnée en fin de section précédente.

$ mount | egrep '(ldap|nfs)'
ldap:ou=auto.home,ou=automount,dc=lab,dc=stri on /ahome type autofs \
                (rw,relatime,fd=7,pgrp=875,timeout=300,minproto=5,maxproto=5,
                indirect,pipe_ino=16519)
192.0.2.12:/home/padme on /ahome/padme type nfs4 \
                (rw,relatime,vers=4.2,rsize=131072,wsize=131072,namlen=255,
                hard,proto=tcp,timeo=600,
                retrans=2,sec=sys,clientaddr=192.0.2.25,local_lock=none,
                addr=192.0.2.12)