9.7. Configuration du serveur NFS


Il existe deux manière de configurer un serveur NFS :
  • La configuration manuelle du fichier de configuration NFS /etc/exports, et
  • à l'aide de la ligne de commande, en utilisant la commande exportfs

9.7.1. Fichier de configuration /etc/exports

Le fichier /etc/exports contrôle quels systèmes de fichiers sont exportés vers des hôtes distants et spécifie les options. Les règles de syntaxes suivantes sont observées :
  • Les lignes vides sont ignorées.
  • Pour ajouter un commentaire, commencez la ligne par le caractère dièse (#).
  • Pour les longues lignes, il est possible d'effectuer des retours à la ligne avec une barre oblique inversée (\).
  • Chaque système de fichiers exporté devrait se trouver sur une ligne individuelle.
  • Toute liste d'hôtes non autorisés placée après un système de fichiers exporté doit être séparée par des caractères d'espace.
  • Les options de chaque hôte doivent être placées directement après l'identifiant de l'hôte, sans espace séparant l'hôte et la première parenthèse.
Chaque entrée de système de fichiers exporté possède la structure suivante :
export host(options)
La structure mentionnée ci-dessus utilise les variables suivantes :
export
Répertoire en cours d'exportation
host
Hôte ou réseau sur lequel l'exportation est partagée
options
Options à utiliser pour l'hôte
Il est également possible de spécifier plusieurs hôtes avec des options spécifiques pour chacun d'entre eux. Pour ceci, veuillez les répertorier sur la même ligne en tant que liste séparée par des espaces, en veillant à ce que chaque nom d'hôte soit bien suivi par ses options respectives (entre parenthèses), comme suit :
export host1(options1) host2(options2) host3(options3)
Pour obtenir des informations sur les différentes méthodes de spécification de noms d'hôtes, veuillez consulter la Section 9.7.4, « Formats des noms d'hôtes ».
Sous 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, comme dans l'exemple suivant :

Exemple 9.6. Fichier /etc/exports

/exported/directory bob.example.com
Ici, bob.example.com peut monter /exported/directory/ à partir du serveur NFS. Comme aucune autre fonction n'est spécifiée dans cet exemple, NFS utilisera les paramètres par défaut.
Les paramètres par défaut sont les suivants :
ro
Le système de fichiers exporté est accessible en lecture seule. Les hôtes distants ne peuvent pas modifier les données partagées sur le système de fichiers. Pour autoriser des hôtes à effectuer des modifications sur le système de fichiers (par exemple, lecture/écriture), veuillez spécifier l'option rw.
sync
Le serveur NFS ne répondra pas aux requêtes effectuées avant que les changements demandés par les requêtes précédentes soient écrits sur disque. Sinon, pour activer les écritures asynchrones, veuillez spécifier l'option async.
wdelay
Le serveur NFS retardera l'écriture sur disque s'il suspecte qu'une autre requête d'écriture est imminente. Ceci peut améliorer les performances car il y a une réduction du nombre d'accès au disque par le biais de commandes d'écriture séparées, réduisant ainsi également l'alourdissement des écritures. Pour désactiver ce comportement, veuillez spécifier no_wdelay. no_wdelay est uniquement disponible si l'option par défaut sync est également spécifiée.
root_squash
Ceci empêche les utilisateurs root connectés à distance (et non locaux) d'avoir des privilèges root. Au lieu de cela, le serveur NFS leurs assignera l'ID d'utilisateur nfsnobody. Ceci « écrasera » (ou réduira) les capacités de l'utilisateur root à celles d'un utilisateur local du plus bas niveau possible, empêchant ainsi toute écriture non autorisée sur le serveur distant. Pour désactiver l'écrasement root, veuillez spécifier no_root_squash.
Pour écraser tous les utilisateurs distants (y compris les utilisateurs root), utilisez all_squash. Pour spécifier les ID des groupes et des utilisateurs que le serveur NFS devrait assigner à des utilisateurs distants à partir d'un hôte en particulier, veuillez utiliser les options anonuid et anongid respectives, comme suit :
export host(anonuid=uid,anongid=gid)
uid et gid sont les numéros d'ID d'utilisateur et les numéros d'ID de groupe respectifs. Les options anonuid et anongid vous permettent de créer un compte utilisateur et groupe spécifique que les utilisateurs NFS distants peuvent partager.
Par défaut, les listes de contrôle d'accès ou ACL (access control lists) sont prises en charge par NFS dans Red Hat Enterprise Linux. Pour désactiver cette fonctionnalité , veuillez spécifier l'option no_acl lorsque vous exportez le système de fichiers.
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, alors le système de fichiers exporté est partagé en lecture seule. Ci-dessous figure un exemple de ligne 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/écriture et toutes les écritures sur disque seront asynchrones. Pour obtenir davantage d'informations sur les options d'export, veuillez consulter man exportfs.
D'autres options sont disponibles lorsqu'aucune valeur par défaut n'est spécifiée. Celles-ci incluent la possibilité de désactiver la vérification de sous-arborescence, autorise l'accès à partir de ports non-sécurisés et autorise les verrouillages non-sécurisés (nécessaires pour certaines implémentations de clients NFS plus anciennes). Veuillez consulter man exports pour obtenir davantage de détails sur ces options moins souvent utilisées.

Important

Le format du fichier /etc/exports est très précis, particulièrement au regard de l'utilisation du caractère espace. Rappelez-vous de toujours séparer les systèmes de fichiers exportés des hôtes et les hôtes les uns des autres avec un caractère espace. Toutefois, il ne devrait pas y avoir d'autres caractères espace dans le fichier, sauf sur les lignes de commentaire.
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 aux utilisateurs de bob.example.com d'accéder en lecture/écriture au répertoire /home. La seconde ligne autorise les utilisateurs de bob.example.com de monter le répertoire en tant que lecture seule (par défaut), tandis que le reste du monde peut le monter en lecture/écriture.
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.