EXPORTFS(8)

NOM
exportfs - Gérer la liste des systèmes de fichiers partagés par NFS

SYNOPSIS
/usr/sbin/exportfs [-avi] [-o options,..] [client:/chemin ..]
/usr/sbin/exportfs -r [-v]
/usr/sbin/exportfs [-av] -u [client:/chemin ..]
/usr/sbin/exportfs [-v]
/usr/sbin/exportfs -f

DESCRIPTION
La commande exportfs est utilisée pour la gestion de la table courante de systèmes de fichiers partagés par NFS. Cette liste est enregistrée dans un fichier spécifique nommé /var/lib/nfs/xtab. Ce fichier sera lu par mountd dès qu'un client distant demandera l'accès pour le montage d'une arborescence de fichier. Les parties de cette liste qui sont en cours d'utilisation sont gardées dans la table des partages du noyau.

Ce fichier xtab est normalement initialisé avec la liste de tous les systèmes de fichiers indiquée dans /etc/exports et ce, grâce à l'utilisation de la commande exportfs -a.

Dans tous les cas, les administrateurs peuvent choisir, en utilisant exportfs, d'ajouter ou de supprimer d'autres systèmes de fichiers sans modifier le fichier /etc/exports.

exportfs et son programme associé mountd fonctionnent sous l'un des deux modes suivants : le mode traditionnel, qui s'applique aux versions 2.4 et précédentes du noyau Linux, et un mode plus récent sous les noyaux 2.6 et suivants, accessible à la condition que le système de fichiers virtuel de nfsd soit bien monté sous /proc/fs/nfsd ou /proc/fs/nfs. Si ce système de fichiers n'est pas monté en 2.6, c'est le mode traditionnel qui sera utilisé.

Dans le mode plus récent, exportfs ne donne aucune information au noyau, il en fournit uniquement à mountd via le fichier /var/lib/nfs/xtab. mountd écoutera les requêtes provenant du noyau, et fournira alors l'information voulue.

Dans le mode traditionnel, toute demande de partage qui indique un hôte spécifique (plutôt qu'un sous-réseau ou un groupe de machines) est directement inscrite dans la table des partages du noyau ainsi que dans le fichier /var/lib/nfs/xtab. De plus, tout point de montage défini dans /var/lib/nfs/rmtab correspondant à une demande de partage d'un hôte non spécifique entraînera l'ajout, dans la table des partages du noyau, d'une entrée correspondante à l'hôte indiqué dans rmtab.

OPTIONS

-a  Partager ou interrompre le partage de tous les répertoires.

-o options,...
    Stipuler une liste d'options de partage, à la manière de exports(5).

-i  Ne pas tenir compte du fichier /etc/exports, de façon que les options par défaut ou celles données sur la ligne de commande soient utilisées.

-r  Relancer le partage de tous les répertoires. /var/lib/nfs/xtab est synchronisé avec /etc/exports. Les entrées qui ont disparu de /etc/exports seront supprimées de /var/lib/nfs/xtab. Dans la table des partages du noyau, les entrées qui ne sont plus valables seront également enlevées.

-u  Interrompre le partage d'un ou plusieurs répertoires.

-f  Dans le mode plus récent, vide complètement la table des partages du noyau. mountd générera une nouvelle entrée pour chaque client en activité, dès que celui-ci fera sa prochaine requête.

-v  Mode volubile. Lors d'un partage ou de l'arrêt d'un partage, afficher ce qui se passe. Lors de l'affichage de la liste actuelle des partages, afficher aussi la liste des options de partage.

DISCUSSION

  Le partage de répertoires
Le premier synopsis montre comment utiliser la commande pour ajouter de nouvelles entrées à la table des partages. Quand on lance exportfs -a, tous les répertoires dans exports(5) sont ajoutés à xtab, et la liste résultante est entrée dans le noyau.

L'argument client:/chemin définit le répertoire à partager ainsi que l'hôte ou les hôtes à qui il est offert. Tous les formats décrits dans exports(5) sont acceptés. Pour partager un répertoire à tout le monde, indiquez tout simplement :/chemin.

Les options de partage pour un couple hôte/répertoire précis proviennent de plusieurs sources. Il y a d'abord un jeu d'options par défaut, dont on peut passer outre grâce aux entrées dans /etc/exports (sauf si l'option -i a été utilisée). De surcroît, l'administrateur peut outrepasser toute option de ces sources grâce à l'argument -o qui attend une liste d'options séparées par des virgules, présentée de la même façon que dans exports(5). Ainsi, exportfs peut aussi être utilisé pour modifier les options de partage d'un répertoire déjà partagé.

Les modifications de la table des partages du noyau qu'utilise nfsd(8) sont prises en compte immédiatement après l'analyse de la ligne de commande et la mise à jour du fichier xtab.

Les options de partage par défaut sont sync,ro,root_squash,wdelay.

  L'arrêt de partage de répertoires
Ce troisième synopsis montre comme arrêter le partage d'un répertoire actuellement offert. Quand on lance exportfs -ua, toutes les entrées présentes dans xtab sont retirées de la table des partages du noyau, puis le fichier est vidé. Cela stoppe effectivement toute activité NFS.

Pour supprimer des entrées de partages particulières, vous pouvez indiquer un couple client:/chemin. L'entrée indiquée sera supprimée de xtab, ainsi que celle correspondante dans le noyau (si elle existe).

  Afficher le contenu de la table des partages
L'usage de exportfs sans la moindre option affiche la liste actuelle des systèmes de fichiers partagés. Lorsqu'on donne l'option -v, on obtient, en plus, la liste des drapeaux spécifiques à chaque partage.

EXEMPLES
L'exemple suivant ajoute tous les répertoires indiqués dans /etc/exports à /var/lib/nfs/xtab, puis les entrées de partages résultantes sont inscrites dans le noyau :

# exportfs -a

Pour offrir le répertoire /usr/tmp à l'hôte djando, en permettant les écritures asynchrones, on pourrait faire ceci :

# exportfs -o async django:/usr/tmp

DÉPENDANCES
Le partage à destination de réseaux IP, de domaines DNS ou NIS ne permet pas l'accès NFS immédiat aux clients NFS de ces groupes. En fait, ce type de partage est une indication pour mountd(8) d'honorer toute requête de montage provenant de ces clients. Ce n'est normalement pas un gros problème, puisque tout montage existant est préservé dans rmtab de redémarrage en redémarrage.

Lors de l'arrêt d'un partage à destination de domaines ou de réseaux, tout partage en cours pour les membres de ce groupe sera vérifié par rapport à la liste des partages valides restants. Dans le cas où ce partage n'est alors plus autorisé, il est supprimé.

AUTEURS
Olaf Kirch, <okir@monad.swb.de>
Neil Brown, <neilb@cse.unsw.edu.au>

VOIR AUSSI
exports(5), mountd(8)

TRADUCTION

Ce document est une traduction réalisée par Sylvain Cherrier <sylvain DOT cherrier AT free DOT fr> le 12 janvier 2006 et révisée le 19 novembre 2007.

L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 8 exportfs ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.