5. Configuration de l'automontage avec le service NIS

Le principe de l'automontage veut que le montage d'une arborescence de système de fichiers réseau se fasse automatiquement et uniquement à l'utilisation. En effet, il n'est pas nécessaire de mobiliser les ressources du protocole NFS tant qu'une arborescence n'est pas effectivement parcourue. Dans le contexte de ce support, il n'est pas nécessaire de monter l'arborescence d'un répertoire utilisateur si celui-ci n'est pas connecté sur le poste client. On optimise ainsi les ressources du système et du réseau.

Du point de vue administration système, il est essentiel que la configuration des postes clients ne soit pas remise en question à chaque évolution du serveur ou à chaque ajout de nouveau compte utilisateur. C'est ici que le service NIS intervient. Ce service sert à publier la configuration de l'automontage en direction des clients.

Pour appliquer ces principes, cette section doit couvrir les étapes suivantes.

  • Pour compléter les informations publiées par le serveur NIS, il faut ajouter les fichiers de configuration relatifs à l'automontage dans la base des «cartes» publiées. Ainsi, les clients héritent directement des paramètres de configuration.

  • Pour que le montage des arborescences soit automatique, il faut ajouter un paquet spécifique sur les clients et désigner le service NIS comme fournisseur de la configuration. Cette désignation se fait à l'aide du Name Service Switch.

La principale difficulté dans le traitement des questions suivantes vient du fait qu'il est nécessaire d'échanger des informations entre le client et le serveur.

Dans le contexte de ce support, le service NIS et le serveur NFS sont implantés sur le même système.

Q17.

Quel est le paquet de la distribution Debian GNU/Linux qui fournit le service d'automontage ?

Rechercher le mot clé automount dans le champ description du catalogue des paquets disponibles.

# aptitude search "?description(automount)" | grep autofs
p   autofs                          - kernel-based automounter for Linux
p   autofs-hesiod                   - Hesiod map support for autofs
p   autofs-ldap                     - LDAP map support for autofs

Q18.

Sur quel type de poste ce paquet doit il être installé ?

Le service d'automontage est a exécuter sur le poste qui ne détient pas le système de fichiers dans lequel se trouvent les répertoires utilisateur.

Ce paquet doit être installé sur le poste client puisque le processus automount doit être exécuté sur ce même client. Son installation se fait simplement avec la commande usuelle # aptitude install autofs.

Q19.

Comment intégrer les informations d'automontage dans la configuration du service NIS ?

Identifier les fichiers de configuration concernés et compléter le fichier de configuration utilisé par l'outil de génération des bases NIS.

Pour le montage automatique des répertoires utilisateur, les deux fichiers de configuration utiles sont auto.master et auto.home. On doit les ajouter à la liste des bases NIS.

On édite le fichier Makefile dans le répertoire /var/yp.

# grep ^ALL Makefile 
ALL =   passwd group hosts rpc services netid protocols netgrp
ALL +=  auto.master auto.home
ALL += shadow
ALL += passwd.adjunct

Comme la configuration de l'automontage n'est pas encore traitée, on se contente de créer des fichiers vides de façon à ne pas bloquer le fonctionnement du service NIS.

# touch /etc/auto.master /etc/auto.home

Une fois le fichier Makefile prêt, on lance la mise à jour des bases avec la commande make.

# make
make[1]: entrant dans le répertoire « /var/yp/nis.lab »
Updating passwd.byname...
Updating passwd.byuid...
Updating group.byname...
Updating group.bygid...
Updating hosts.byname...
Updating hosts.byaddr...
Updating rpc.byname...
Updating rpc.bynumber...
Updating services.byname...
Updating services.byservicename...
Updating netid.byname...
Updating protocols.bynumber...
Updating protocols.byname...
Updating netgroup...
Updating netgroup.byhost...
Updating netgroup.byuser...
Updating auto.master...
Updating auto.home...
Updating shadow.byname...
make[1]: quittant le répertoire « /var/yp/nis.lab »

Q20.

Quelle est la configuration à implanter dans chacun des deux fichiers ?

Le fichier principal auto.master désigne la racine de montage suivie du fichier des paramètres de montage des répertoires utilisateurs auto.home.

Le fichier auto.home utilise la même syntaxe que celle d'un montage statique manuel à une différence près. Il est possible de rendre générique la syntaxe de montage.

Le fichier auto.master se résume à une ligne. Le répertoire /ahome est la racine des comptes utilisateur publiés via NIS. Elle est définie dans la Section 6, « Création & publication de compte utilisateur ».

# cat /etc/auto.master 
/ahome     /etc/auto.home

Le fichier auto.home fixe les paramètres du montage NFS.

# cat /etc/auto.home 
#*    -port=2049,-fstype=nfs4    [2001:db8:feb2:10::12]:/home/&
*    -port=2049,-fstype=nfs4    vm2.fake.domain:/home/&
[Avertissement] Avertissement

Ne pas utiliser les tabulations dans ces fichiers, mais uniquement les espaces !

Le caractère * se substitue au nom d'utilisateur qui sert aussi à désigner son répertoire à partir de la racine exportée par le système de fichier réseau NFS : le caractère &.

[Avertissement] Avertissement

Au moment de la rédaction de ce document, l'utilisation d'une adresse IPv6 numérique ne fonctionne pas. Il est nécessaire de passer par un nom d'hôte (FQDN) ayant deux enregistrements DNS AAAA et PTR valides.

# dig +short aaaa vm2.fake.domain
2001:db8:feb2:10::12

# dig +short -x 2001:db8:feb2:10::12
vm2.fake.domain.

Cette contrainte peut poser problème dans la mesure où elle impose le recours au service DNS ; ce qui ajoute des manipulations supplémentaires peu compatibles avec la duréé d'une séance de travaux pratiques.

Q21.

Comment valider la publication des paramètres de l'automontage via le service NIS ?

Utiliser l'outil de consultation des bases NIS fourni avec le paquet nis.

On utilise à nouveau la commande ypcat.

# ypcat auto.master
/etc/auto.home
# ypcat auto.home
-port=2049,-fstype=nfs4    vm2.fake.domain:/home/&