Red Hat Enterprise Linux 3: Guide de référence | ||
---|---|---|
Précédent | Chapitre 9. Système de fichiers réseau (NFS) | Suivant |
Il existe trois manières de configurer un serveur NFS sous Red Hat Enterprise Linux : à l'aide de l'Outil de configuration du serveur NFS (redhat-config-nfs), en modifiant manuellement son fichier de configuration (/etc/exports) ou à l'aide de la commande /usr/sbin/exportfs.
Pour obtenir des instructions sur l'utilisation de l'Outil de configuration du serveur NFS, reportez-vous au chapitre intitulé Système de fichiers réseau (NFS) dans le Guide d'administration système de Red Hat Enterprise Linux. Le reste de cette section examine la modification manuelle de /etc/exports et l'utilisation de la commande /usr/sbin/exportfs pour exporter les systèmes de fichiers NFS.
Le fichier /etc/exports permet non seulement de contrôler quels systèmes de fichiers sont exportés vers des hôtes distants, mais permet également de spécifier des options. Les lignes vierges ne sont pas prises en compte, des commentaires peuvent être créés en ajoutant un symbole dièse (#) en début de ligne et un retour à la ligne peut être introduit grâce à une barre oblique inverse (\). Chaque système de fichiers exporté doit avoir sa propre ligne et toute les listes d'hôtes autorisés placée après un système de fichiers exporté doivent être séparées par des espaces. Les options pour chacun des hôtes doivent être placées entre parenthèses directement après l'identifieur d'hôte, sans espace entre l'hôte et la première parenthèse.
La ligne pour un système de fichiers exporté a la structure suivante :
<export> <host1>(<options>) <hostN>(<options>)... |
Dans cette structure, remplacez <export> par le répertoire à exporter, remplacez <host1> par l'hôte ou le réseau vers lequel l'export est partagé et remplacez <options> par les options pour cet hôte ou réseau. Des hôtes supplémentaires peuvent être spécifiés dans une liste délimitée par des espaces.
Les méthodes suivantes peuvent être utilisées pour spécifier des noms d'hôtes :
hôte simple — Où un hôte particulier est spécifié avec un nom de domaine, d'hôte ou une adresse IP pleinement qualifiés.
caractères génériques — Où les caractères * ou ? sont utilisés pour prendre en compte un groupement de noms de domaines pleinement qualifiés qui correspondent à une chaîne de lettres donnée. Les caractères génériques ne sont pas utilisés avec les adresses IP ; cependant, il est possible qu'ils fonctionnent par accident, si les consultations inverses de DNS échouent.
Soyez toutefois prudent si vous utilisez des caractères génériques pour des noms de domaines pleinement qualifiés, car ils sont souvent plus exacts que ce que vous escomptiez. Par exemple, si vous utilisez *.example.com comme caractère générique, sales.example.com sera autorisé à accéder au système de fichiers exporté, mais bob.sales.example.com lui, ne le sera pas. Pour retenir les deux noms de domaine, vous devrez utiliser *.example.com et *.*.example.com.
réseaux IP — Autorise la mise en correspondance d'hôtes selon leur adresse IP dans un réseau plus grand. Par exemple, 192.168.0.0/28 autorisera les 16 premières adresses IP, de 192.168.0.0 à 192.168.0.15, à accéder au système de fichiers exporté, mais pas 192.168.0.16 ou une adresse IP supérieure.
groupes réseau — Attribue un nom de groupe réseau NIS, écrit ainsi : @<group-name>. Cette option attribue au serveur NIS la charge du contrôle d'accès pour ce système de fichier exporté, où les utilisateurs peuvent être ajoutés et supprimés dans un groupe NIS sans affecter /etc/exports.
Dans sa forme la plus simple, /etc/exports requiert seulement le répertoire exporté et les hôtes autorisés à l'exploiter, comme dans l'exemple suivant :
/exported/directory bob.example.com |
Dans cet exemple, bob.example.com peut monter /exported/directory/. Vu qu'aucune option n'est spécifiée dans cet exemple, les options NFS par défaut prennent effet :
ro — Les montages du système de fichiers exporté sont en lecture-seule. Les hôtes distants ne peuvent pas modifier les données partagées sur le système de fichiers. Pour autoriser les hôtes à apporter des modifications au système de fichiers, l'option rw (lecture-écriture) doit être spécifiée.
async — Permet au serveur d'écrire des données sur le disque lorsqu'il le juge opportun. Cette option fonctionne le mieux lorsque le système de fichiers exporté est en lecture-seule. Si les hôtes apportent des modifications au système de fichiers en lecture-écriture et que le serveur plante, des données peuvent être perdues. En spécifiant l'option sync, toutes les opérations d'écriture doivent être confiées au disque avant que la requête d'écriture par le client ne soit effectivement achevée. L'option sync peut cependant diminuer les performances.
wdelay — Cette option entraîne un retard des opérations d'écriture sur le disque par NFS, s'il suspecte qu'une autre requête d'écriture est imminente. Ce faisant, les performances peuvent être améliorées grâce à une réduction du nombre d'accès au disque par des commandes d'écriture séparées, réduisant ainsi le temps d'écriture. L'option no_wdelay quant à elle, désactive cette fonction mais n'est disponible que lors de l'utilisation de l'option sync.
root_squash — Retire au super-utilisateur en connexion distante tous les privilèges de son statut en lui assignant l'ID d'utilisateur nfsnobody (personne). Ce faisant, le pouvoir du super-utilisateur distant est réduit au niveau d'utilisateur le plus bas, l'empêchant d'apporter des modifications non autorisées dans des fichiers sur le serveur distant. Sinon, l'option no_root_squash annule cette fonction de réduction des privilèges du super-utilisateur. Afin de limiter le champ d'action de chaque utilisateur distant, y compris le super-utilisateur, utilisez l'option all_squash. Pour spécifier les ID d'utilisateur et de groupe à utiliser avec des utilisateurs distants d'un hôte particulier, utilisez respectivement les options anonuid et anongid. Dans ce cas, vous pouvez créer un compte d'utilisateur spécial pour que les utilisateurs NFS distants partagent et spécifient (anonuid=<uid-value>,anongid=<gid-value>), où <uid-value> correspond au numéro de l'ID d'utilisateur et <gid-value> représente le numéro de l'ID de groupe.
![]() | Important |
---|---|
Par défaut, les listes de contrôle d'accès (LCA) sont prises en charge par NFS sous Red Hat Enterprise Linux. Pour désactiver cette fonction, spécifiez l'option no_acl lors de l'export du système de fichiers. Pour davantage d'informations sur cette fonction, reportez-vous au chapitre intitulé Système de fichiers réseau (NFS) du Guide d'administration système de Red Hat Enterprise Linux. |
Toutes les valeurs par défaut de chaque système de fichiers exporté doivent être explicitement écrasées. Par exemple, si l'option rw n'est pas spécifiée, le système de fichiers exporté est partagé en lecture-seule. L'exemple suivant est une ligne de /etc/exports qui écrase les deux options par défaut :
/another/exported/directory 192.168.0.3(rw,sync) |
Dans cet exemple, 192.168.0.3 peut monter /another/exported/directory/ en lecture/écriture et tous les transferts vers le disque sont validés avant que la requête d'écriture par le client soit achevée.
De plus, d'autres options sont disponibles là où il n'existe pas de valeur par défaut. Elles permettent d'annuler la vérification de sous-arborescence, l'accès à des ports non-sûrs et les verrouillages non-sûrs de fichiers (nécessaires pour certaines implémentations anciennes de client NFS). Consultez la page de manuel relative à exports pour plus d'informations sur ces options moins souvent utilisées.
![]() | Avertissement | |
---|---|---|
Le format du fichier /etc/exports est très précis, particulièrement en ce qui concerne l'utilisation des caractères d'espacement. Rappelez-vous bien de toujours séparer les systèmes de fichiers exportés des hôtes, et les hôtes entre eux à l'aide d'un caractère d'espacement. Toutefois, aucun autre caractère d'espacement ne doit se trouver dans le fichier à moins qu'ils ne soient utilisés pour des lignes de commentaire. Par exemple, les deux lignes suivantes n'ont pas la même signification :
La première ligne autorise seulement les utilisateurs de bob.example.com à avoir un accès en lecture-écriture au répertoire /home. La deuxième ligne elle, autorise les utilisateurs de bob.example.com à monter le répertoire en lecture-seule (valeur par défaut), mais tout autre utilisateur peut le monter en lecture-écriture. |
Pour obtenir de plus amples informations sur la configuration d'un serveur NFS par le biaisdu fichier /etc/exports, reportez-vous au chapitre intitulé Système de fichiers réseau (NFS) du Guide d'administration système de Red Hat Enterprise Linux.
Chaque fichier exporté vers les utilisateurs distants via NFS et les droits d'accès liés à ces systèmes de fichiers, se trouvent dans le fichier /etc/exports. Lorsque le service nfs démarre, la commande /usr/sbin/exportfs lance et lit ce fichier, puis fournit à rpc.mountd et rpc.nfsd les systèmes de fichiers disponibles aux utilisateurs distants.
Lorsqu'elle est lancée manuellement, la commande /usr/sbin/exportfs permet au super-utilisateur d'exporter ou de désexporter sélectivement des répertoires sans redémarrer le service NFS. Avec les options appropriées, la commande /usr/sbin/exportfs écrit les systèmes de fichiers exportés dans /var/lib/nfs/xtab. Puisque rpc.mountd se réfère au fichier xtab lorsqu'il décide des privilèges d'accès à un système de fichiers, les changements apportés à la liste des systèmes de fichiers exportés prennent effet immédiatement.
Parmi la liste d'options utilisées couramment pour /usr/sbin/exportfs figurent :
-r — Provoque l'export de tous les répertoires listés dans /etc/exports par la construction d'une nouvelle liste d'export dans /etc/lib/nfs/xtab. Cette option rafraîchit effectivement la liste d'exports par tout changement apporté à /etc/exports.
-a — Provoque l'export ou le désexport de tous les répertoires, selon les autres options de la commande /usr/sbin/exportfs. Si aucune autre option n'est spécifiée, /usr/sbin/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 listés dans /etc/exports. Remplacez file-systems par les systèmes de fichiers supplémentaires à exporter. Ces derniers doivent être formatés de la même manière qu'ils sont spécifiés dans /etc/exports. Reportez-vous à la Section 9.3.1 afin d'obtenir davantage d'informations sur la syntaxe de /etc/exports. Cette option est souvent utilisée pour tester un système de fichiers exporté avant de l'ajouter de façon permanente à la liste des systèmes de fichiers à exporter.
-i — Ne prend pas en compte /etc/exports ; seules les options données par 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 /usr/sbin/exportfs -ua suspend effectivement le partage de fichiers NFS tout en laissant actifs les divers démons NFS. Pour permettre au partage NFS de continuer, tapez exportfs -r.
-v — Opération prolixe selon laquelle les systèmes de fichiers à exporter ou désexporter sont affichés avec de plus amples détails, lors de l'exécution de la commande exportfs.
Si aucune option n'est transmise à la commande /usr/sbin/exportfs, elle affiche une liste des systèmes de fichiers exportés en cours.
Pour obtenir davantage d'informations sur la commande /usr/sbin/exportfs, reportez-vous à la page de manuel relative à exportfs.
Précédent | Sommaire | Suivant |
Lancement et arrêt de NFS | Niveau supérieur | Fichiers de configuration de clients NFS |