4.6. Configuration du serveur NFS


Cette section décrit la syntaxe et les options de deux façons de configurer les exportations sur un serveur NFS :

  • Modification manuelle du fichier de configuration /etc/exports
  • Utilisation de l'utilitaire exportfs sur la ligne de commande

4.6.1. Le fichier de configuration /etc/exports

Le fichier /etc/exports contrôle les systèmes de fichiers qui sont exportés vers des hôtes distants et spécifie des options. Il suit les règles syntaxiques suivantes :

  • Les lignes vides sont ignorées.
  • Pour ajouter un commentaire, commencez une ligne par le signe dièse (#).
  • Vous pouvez entourer les lignes longues d'une barre oblique inverse (\).
  • Chaque système de fichiers exporté doit se trouver sur sa propre ligne.
  • Toute liste d'hôtes autorisés placée après un système de fichiers exporté doit être séparée par des caractères d'espacement.
  • Les options pour chacun des hôtes doivent être placées entre parenthèses directement après l'identifiant de l'hôte, sans espace entre l'hôte et la première parenthèse.
Entrée de l'exportation

Chaque entrée d'un système de fichiers exporté a la structure suivante :

export host(options)

Il est également possible de spécifier plusieurs hôtes, ainsi que des options spécifiques pour chacun d'entre eux. Pour ce faire, il faut les énumérer sur la même ligne sous la forme d'une liste délimitée par des espaces, chaque nom d'hôte étant suivi de ses options respectives (entre parenthèses), comme dans l'exemple suivant :

export host1(options1) host2(options2) host3(options3)

Dans cette structure :

export
Le répertoire exporté
host
L'hôte ou le réseau vers lequel l'exportation est partagée
options
Les options à utiliser pour l'hôte

Exemple 4.1. Un simple fichier /etc/exports

Dans sa forme la plus simple, le fichier /etc/exports spécifie uniquement le répertoire exporté et les hôtes autorisés à y accéder :

/exported/directory bob.example.com

Ici, bob.example.com peut monter /exported/directory/ à partir du serveur NFS. Comme aucune option n'est spécifiée dans cet exemple, NFS utilise les options par défaut.

Important

Le format du fichier /etc/exports est très précis, notamment en ce qui concerne l'utilisation du caractère espace. N'oubliez pas de toujours séparer les systèmes de fichiers exportés des hôtes et les hôtes les uns des autres par un caractère espace. Cependant, il ne doit pas y avoir d'autres caractères d'espacement dans le fichier, sauf sur les lignes de commentaires.

Par exemple, les deux lignes suivantes n'ont pas la même signification :

/home bob.example.com(rw)
/home bob.example.com (rw)

La première ligne autorise uniquement les utilisateurs de bob.example.com à accéder en lecture et en écriture au répertoire /home. La deuxième ligne permet aux utilisateurs de bob.example.com de monter le répertoire en lecture seule (par défaut), tandis que le reste du monde peut le monter en lecture/écriture.

Options par défaut

Les options par défaut pour une entrée d'exportation sont les suivantes :

ro
Le système de fichiers exporté est en lecture seule. Les hôtes distants ne peuvent pas modifier les données partagées sur le système de fichiers. Pour permettre aux hôtes d'apporter des modifications au système de fichiers (c'est-à-dire de lire et d'écrire), spécifiez l'option rw.
sync
Le serveur NFS ne répondra pas aux demandes avant que les modifications apportées par les demandes précédentes ne soient écrites sur le disque. Pour activer les écritures asynchrones, spécifiez l'option async.
wdelay
Le serveur NFS retardera l'écriture sur le disque s'il soupçonne qu'une autre demande d'écriture est imminente. Cela peut améliorer les performances car cela réduit le nombre de fois où le disque doit être accédé par des commandes d'écriture distinctes, réduisant ainsi la surcharge d'écriture. Pour désactiver cette fonction, spécifiez l'option no_wdelay, qui n'est disponible que si l'option sync par défaut est également spécifiée.
root_squash

Cela empêche les utilisateurs root connectés à distance (et non localement) d'avoir les privilèges root ; au lieu de cela, le serveur NFS leur attribue l'ID utilisateur nobody. Cela a pour effet de réduire les pouvoirs de l'utilisateur racine distant à ceux de l'utilisateur local le plus bas, empêchant ainsi toute écriture non autorisée sur le serveur distant. Pour désactiver l'écrasement de la racine, spécifiez l'option no_root_squash.

Pour écraser tous les utilisateurs distants (y compris root), utilisez l'option all_squash. Pour spécifier les ID d'utilisateur et de groupe que le serveur NFS doit attribuer aux utilisateurs distants d'un hôte particulier, utilisez les options anonuid et anongid, respectivement, comme dans l'exemple ci-dessous :

export host(anonuid=uidanongid=gid)

Ici, uid et gid sont respectivement le numéro d'identification de l'utilisateur et le numéro d'identification du groupe. Les options anonuid et anongid vous permettent de créer un compte d'utilisateur et de groupe spécial pour les utilisateurs NFS distants à partager.

Par défaut, les listes de contrôle d'accès (ACL) sont prises en charge par NFS sous Red Hat Enterprise Linux. Pour désactiver cette fonctionnalité, spécifiez l'option no_acl lors de l'exportation du système de fichiers.

Options par défaut et options prioritaires

Chaque valeur par défaut de chaque système de fichiers exporté doit être explicitement remplacée. Par exemple, si l'option rw n'est pas spécifiée, le système de fichiers exporté est partagé en lecture seule. Voici un exemple de ligne provenant de /etc/exports qui remplace deux options par défaut :

/another/exported/directory 192.168.0.3(rw,async)

Dans cet exemple, 192.168.0.3 peut monter /another/exported/directory/ en lecture et en écriture, et toutes les écritures sur disque sont asynchrones.

4.6.2. L'utilitaire exportfs

L'utilitaire exportfs permet à l'utilisateur root d'exporter ou de non-exporter sélectivement des répertoires sans redémarrer le service NFS. Lorsqu'il dispose des options appropriées, l'utilitaire exportfs écrit les systèmes de fichiers exportés sur /var/lib/nfs/xtab. Étant donné que le service nfs-mountd se réfère au fichier xtab lorsqu'il décide des privilèges d'accès à un système de fichiers, les modifications apportées à la liste des systèmes de fichiers exportés prennent effet immédiatement.

Options courantes d'exportfs

Voici une liste des options couramment utilisées pour exportfs:

-r
Provoque l'exportation de tous les répertoires répertoriés dans /etc/exports en construisant une nouvelle liste d'exportation dans /var/lib/nfs/etab. Cette option permet d'actualiser la liste d'exportation en fonction des modifications apportées à /etc/exports.
-a
Provoque l'exportation ou la non-exportation de tous les répertoires, en fonction des autres options transmises à exportfs. Si aucune autre option n'est spécifiée, exportfs exporte tous les systèmes de fichiers spécifiés dans /etc/exports.
-o file-systems
Spécifie les répertoires à exporter qui ne sont pas répertoriés dans /etc/exports. Remplacer file-systems par des systèmes de fichiers supplémentaires à exporter. Ces systèmes de fichiers doivent être formatés de la même manière qu'ils sont spécifiés dans /etc/exports. Cette option est souvent utilisée pour tester un système de fichiers exporté avant de l'ajouter définitivement à la liste des systèmes de fichiers exportés.
-i
Ignore /etc/exports; seules les options données sur la ligne de commande sont utilisées pour définir les systèmes de fichiers exportés.
-u
Désexporte tous les répertoires partagés. La commande exportfs -ua suspend le partage de fichiers NFS tout en maintenant tous les services NFS. Pour réactiver le partage NFS, utilisez la commande exportfs -r.
-v
Fonctionnement verbeux, où les systèmes de fichiers exportés ou non exportés sont affichés plus en détail lorsque la commande exportfs est exécutée.

Si aucune option n'est transmise à l'utilitaire exportfs, celui-ci affiche une liste des systèmes de fichiers actuellement exportés.

Ressources supplémentaires

Red Hat logoGithubRedditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez leBlog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

© 2024 Red Hat, Inc.