Man page - exports(5)

Packages contains this manual

Available languages:

en fr ja

Manual

exports

NOM
DESCRIPTION
Formats des noms de machine
Sécurité RPCSEC_GSS
Sécurité de la couche de transport (TLS)
Options générales
Correspondance d’ID utilisateur (« User ID Mapping »)
Partage de sous-répertoires
Tables d’exportation supplĂ©mentaire
EXEMPLE
FICHIERS
VOIR AUSSI
TRADUCTION

NOM

exports - Liste des répertoires partagés par le serveur NFS

DESCRIPTION

Le fichier /etc/exports du serveur NFS contient une liste des systùmes de fichiers locaux accessibles pour les clients NFS. Le contenu de ce fichier est entretenu par l’administrateur systùme.

Chaque systĂšme de fichiers dans cette liste est suivi d’une liste d’options et d’une liste de contrĂŽle d’accĂšs. La liste est utilisĂ©e par exportfs (8) pour renseigner mountd (8).

Le format de ce fichier est similaire Ă  celui du fichier exports de SunOS. Chaque ligne est composĂ©e d’un point de montage Ă  partager, suivi d’une liste (aux Ă©lĂ©ments sĂ©parĂ©s par des espaces) de clients autorisĂ©s Ă  monter le systĂšme de fichiers situĂ© en ce point. Chaque client de la liste peut ĂȘtre immĂ©diatement suivi par une liste d’options de partage pour ce client (entre parenthĂšses, les Ă©lĂ©ments Ă©tant sĂ©parĂ©s par des virgules). Aucune espace n’est tolĂ©rĂ©e entre un nom de client et sa liste d’options.

En outre, chaque ligne peut dĂ©finir (aprĂšs le nom du chemin) la valeur par dĂ©faut d’une ou plusieurs options, sous forme de tiret (« - ») suivi d’une liste d’options. La liste d’options est employĂ©e pour tous les partages qui suivent, sur cette ligne seulement.

Les lignes blanches sont ignorĂ©es. Un « # » indique un commentaire s’étendant jusqu’à la fin de la ligne. Les entrĂ©es peuvent s’étendre sur plusieurs lignes en utilisant la barre oblique inverse (antislash). Si un nom de partage contient des espaces, il doit ĂȘtre protĂ©gĂ© par des apostrophes doubles « " ». Vous pouvez aussi utiliser la barre oblique inverse (antislash) suivi du code octal Ă  trois chiffres pour protĂ©ger tout espace ou autre caractĂšre inhabituel dans un nom de partage.

Pour que soient prises en compte vos modifications sur ce fichier, exécutez exportfs -ra ou redémarrez le serveur NFS.

Formats des noms de machine

Les clients NFS peuvent ĂȘtre indiquĂ©s de plusieurs façons :
Une machine seule

Vous pouvez indiquer un hĂŽte, soit par un nom abrĂ©gĂ© reconnu par le mĂ©canisme de rĂ©solution, soit par le nom de domaine pleinement qualifiĂ©, soit par une adresse IPv4, ou soit par une adresse IPV6. Les adresses IPv6 ne doivent pas ĂȘtre entre crochets dans /etc/exports pour ne pas ĂȘtre confondues avec les caractĂšres de classe jokers correspondants.

Réseaux IP

Il est aussi possible de partager des rĂ©pertoires avec toutes les machines d’un (sous) rĂ©seau IP. Il suffit d’indiquer une paire adresse IP / masque de rĂ©seau ( adresse/masque ), en utilisant le format dĂ©cimal pointĂ©, ou la longueur du masque CIDR. On peut donc ajouter soit « /255.255.252.0 » soit « /22 » Ă  l’adresse IPv4 du rĂ©seau pour obtenir un sous-rĂ©seau avec 10 bits pour la partie machine. Les adresses IPv6 doivent utiliser une longueur de masque contiguĂ«s et ne doivent pas ĂȘtre Ă  l’intĂ©rieur des crochets pour Ă©viter la confusion avec les caractĂšres de classe jokers. En gĂ©nĂ©ral, les caractĂšres jokers ne fonctionnent pas avec les adresses IP, bien que cela arrive accidentellement quand les recherches inverses de DNS (« reverse DNS lookups ») Ă©chouent.

CaractĂšres jokers

Les noms de machine peuvent contenir les caractùres jokers * et ? , ou peuvent contenir des listes de classes de caractùres entre [crochets]. Cela sert à rendre le fichier exports plus compact. Par exemple, *.cs.toto.edu indique toutes les machines du domaine cs.toto.edu . Puisque les jokers peuvent aussi remplacer les points dans un nom de domaine, ce motif correspondra aussi à toute machine de n’importe quel sous-domaine de cs.toto.edu .

Groupes de machines

Les groupes de machines NIS peuvent ĂȘtre utilisĂ©s (tels que @group ). Seul le nom court de machine de chacun des membres du groupe est utilisĂ© pour la vĂ©rification. Les noms de machines vides ou ceux contenant un simple tiret (-) sont ignorĂ©s.

Anonymement

Ceci est spécifié par un simple caractÚre * ( ne pas le confondre avec le joker entré précédemment) qui correspondra à tous les clients.

Si un client correspond Ă  plusieurs des configurations ci-dessus, alors la premiĂšre correspondance dans l’ordre de la liste ci-dessus a la prioritĂ© – indĂ©pendamment de l’ordre d’apparition sur la ligne d’exportation. Toutefois, si un client correspond Ă  plus d’une spĂ©cification (par exemple deux groupes rĂ©seau), alors la premiĂšre correspondance dans l’ordre d’apparition sur la ligne d’exportation a la prioritĂ©.

Sécurité RPCSEC_GSS

Il est possible d’utiliser les chaĂźnes spĂ©ciales « gss/krb5 », « gss/krb5i » ou « gss/krb5p » pour n’accepter que les clients qui utilisent la sĂ©curitĂ© rpcsec_gss. Toutefois, cette syntaxe est obsolĂšte, et sur les noyaux Linux 2.6.23 et supĂ©rieurs, il faut plutĂŽt utiliser l’option de partage « sec= ».

sec=

L’option sec=, suivie d’une liste de niveaux de sĂ©curitĂ© (dĂ©limitĂ©s par des virgules), limite le partage aux clients qui utilisent cette sĂ©curitĂ©. Les niveaux de sĂ©curitĂ© disponibles sont sys (pas de sĂ©curitĂ© cryptographique, par dĂ©faut), krb5 (authentification seulement), krb5i (protection de l’intĂ©gritĂ©) et krb5p (protection de la confidentialitĂ©). En ce qui concerne la nĂ©gociation des niveaux de sĂ©curitĂ©, l’ordre est important ; et les niveaux prĂ©fĂ©rĂ©s doivent ĂȘtre listĂ©s en premier. La position de l’option sec= par rapport aux autres options n’a pas d’influence, sauf si ces options s’appliquent diffĂ©remment selon le niveau de sĂ©curitĂ©. Dans ce cas, il faudra utiliser de multiples options sec=, et les options qui suivent ne s’appliqueront alors qu’à ce niveau de sĂ©curitĂ©. Les seules options utilisables dans ce cas de figure sont ro, rw, no_root_squash, root_squash, et all_squash.

Sécurité de la couche de transport (TLS)

Le serveur NFS de Linux permet l’utilisation de RPC avec TLS (RFC 9289) pour protĂ©ger le trafic entre lui et ses clients. Autrement, les administrateurs peuvent sĂ©curiser le trafic NFS en utilisant un VPN, un tunnel SSH ou un mĂ©canisme similaire d’une maniĂšre transparente au serveur.

Pour activer l’utilisation de RPC avec TLS, l’administrateur du serveur doit installer et configurer tlshd pour gĂ©rer les requĂȘtes d’établissement de connexion de sĂ©curitĂ© de la couche de transport Ă  partir du noyau local. Les clients peuvent ensuite choisir d’utiliser RPC avec TLS ou de continuer Ă  opĂ©rer sans lui.

Les administrateurs peuvent exiger l’utilisation de RPC avec TLS pour protĂ©ger l’accĂšs aux partages individuels, ce qui est particuliĂšrement utile lorsqu’on utilise des variantes sans sĂ©curitĂ© chiffrĂ©e telles que sec=sys . L’option xprtsec= suivie d’une liste non ordonnĂ©e, sĂ©parĂ©e par des deux-points, de politiques de sĂ©curitĂ© peut restreindre l’accĂšs au partage aux seuls clients qui ont nĂ©gociĂ© la sĂ©curitĂ© de la couche de transport. Actuellement, les politiques de sĂ©curitĂ© de la couche de transport comprennent :

none

Le serveur permet aux clients d’accĂ©der au partage sans utiliser la sĂ©curitĂ© de la couche de transport.

tls

Le serveur permet aux clients qui ont nĂ©gociĂ© une session RPC avec TLS sans authentification du pair (seulement la confidentialitĂ©) d’accĂ©der au partage. Les clients ne sont pas obligĂ©s de fournir un certificat X.509 lors de l’établissement de la session avec la sĂ©curitĂ© de la couche de transport.

mtls

Le serveur permet aux clients qui ont nĂ©gociĂ© une session RPC avec TLS avec authentification du pair d’accĂ©der au partage. Le serveur exige que les clients fournissent un certificat X.509 lors de l’établissement de la session avec la sĂ©curitĂ© de la couche de transport.

Si RPC avec TLS est configurĂ© et activĂ© et si l’option xprtsec= n’est pas spĂ©cifiĂ©e, la configuration par dĂ©faut pour un partage est xprtsec=none:tls:mtls . Avec cette configuration, le serveur permet aux clients d’utiliser n’importe quel mĂ©canisme de sĂ©curitĂ© de la couche de transport.

Options générales

exportfs accepte les options de partage suivantes :

secure

Cette option impose que les requĂȘtes qui n’utilisent pas gss aient comme origine un port Internet infĂ©rieur au port rĂ©servĂ© (« IPPORT_RESERVED ») 1024. Cette option est activĂ©e par dĂ©faut. Pour la dĂ©sactiver, utilisez insecure . NOTE : les noyaux anciens (antĂ©rieurs Ă  la version amont 4.17) appliquent aussi cette exigence aux requĂȘtes gss.

rw

Permettre les requĂȘtes en lecture et en Ă©criture sur le volume NFS. Le comportement par dĂ©faut est d’interdire toute requĂȘte qui modifierait le systĂšme de fichiers, mais on peut aussi l’indiquer avec l’option ro .

async

Permettre au serveur NFS de transgresser le protocole NFS en rĂ©pondant aux requĂȘtes avant que tous les changements impliquĂ©s par la requĂȘte en cours n’aient Ă©tĂ© effectuĂ©s sur le support rĂ©el (par exemple, le disque dur).

L’utilisation de cette option amĂ©liore gĂ©nĂ©ralement les performances, mais au risque de perdre ou de corrompre des donnĂ©es en cas de redĂ©marrage brutal d’un serveur, suite Ă  un plantage par exemple.

sync

Ne rĂ©pondre aux requĂȘtes qu’aprĂšs l’exĂ©cution de tous les changements sur le support rĂ©el (voir async plus haut).

Dans toutes les versions de nfs-utils jusqu’à la 1.0.0 (incluse), async Ă©tait l’option par dĂ©faut. Dans toutes les versions postĂ©rieures Ă  1.0.0, le comportement par dĂ©faut est sync , et async doit ĂȘtre explicitement indiquĂ©e si vous en avez besoin.

no_wdelay

Cette option est sans effet si async est dĂ©jĂ  active. Le serveur NFS va normalement retarder une requĂȘte d’écriture sur disque s’il suspecte qu’une autre requĂȘte en Ă©criture liĂ©e Ă  celle-ci est en cours ou peut survenir rapidement. Cela permet l’exĂ©cution de plusieurs requĂȘtes d’écriture en une seule passe sur le disque, ce qui peut amĂ©liorer les performances. En revanche, si un serveur NFS reçoit principalement des petites requĂȘtes indĂ©pendantes, ce comportement peut rĂ©ellement diminuer les performances. no_wdelay permet de dĂ©sactiver cette option. On peut explicitement forcer ce comportement par dĂ©faut en utilisant l’option wdelay .

nohide

Cette option est basĂ©e sur l’option de mĂȘme nom fournie dans le NFS d’IRIX. Normalement, si un serveur partage deux systĂšmes de fichiers dont un est montĂ© sur l’autre, le client devra explicitement monter les deux systĂšmes de fichiers pour obtenir l’accĂšs complet. S’il ne monte que le parent, il verra un rĂ©pertoire vide Ă  l’endroit oĂč l’autre systĂšme de fichiers est montĂ©. Ce systĂšme de fichiers est « caché ».

DĂ©finir l’option nohide sur un systĂšme de fichiers empĂȘchera de le cacher, et tout client convenablement autorisĂ© pourra alors se dĂ©placer du systĂšme de fichiers parent Ă  celui-ci sans s’en apercevoir.

Cependant, quelques clients NFS ne sont pas adaptĂ©s Ă  cette situation. Il est alors possible, par exemple, que deux fichiers d’un systĂšme de fichiers vu comme unique aient le mĂȘme numĂ©ro d’inƓud.

L’option nohide ne concerne actuellement que les partages vers les hĂŽtes seuls . Elle ne fonctionne pas de maniĂšre fiable avec les groupes de machines, les sous-rĂ©seaux et ceux utilisant les caractĂšres jokers.

Cette option peut ĂȘtre trĂšs pratique dans certains cas, mais elle doit ĂȘtre utilisĂ©e avec parcimonie, et seulement aprĂšs vĂ©rification de la capacitĂ© du systĂšme client Ă  bien gĂ©rer cette situation.

Cette option peut ĂȘtre dĂ©sactivĂ©e explicitement pour NFSv2 et NFSv3 avec hide .

Cette option n’est pas pertinente quand NFSv4 est utilisĂ©. NFSv4 ne dissimule jamais les systĂšmes de fichiers subordonnĂ©s. Tous les systĂšmes de fichiers partagĂ©s seront visibles oĂč cela est prĂ©vu lors de l’utilisation de NFSv4.

crossmnt

Cette option est semblable Ă  nohide , mais elle permet aux clients d’accĂ©der Ă  tous les systĂšmes de fichiers montĂ©s sur un systĂšme de fichiers marquĂ© crossmnt . Ainsi, si un systĂšme de fichiers enfant « B » est montĂ© sur un systĂšme de fichiers parent « A », dĂ©finir l’option crossmnt Ă  « A » aura le mĂȘme effet que d’indiquer « nohide » sur « B ».

Avec nohide , le systĂšme de fichiers enfant doit ĂȘtre explicitement partagĂ©. Avec crossmnt , ce n’est pas le cas. Si un enfant d’un fichier crossmnt n’est pas explicitement partagĂ©, il sera implicitement partagĂ© avec les mĂȘmes options de partage que le parent, sauf pour fsid= . Cela rend impossible de ne pas partager un enfant d’un systĂšme de fichiers crossmnt . Si certains des systĂšmes de fichiers subordonnĂ©s d’un parent, mais pas tous, sont destinĂ©s Ă  ĂȘtre partagĂ©s, ils doivent ĂȘtre explicitement partagĂ©s et le parent ne doit ne pas avoir crossmnt configurĂ©.

L’option nocrossmnt peut explicitement dĂ©sactiver crossmnt si elle a Ă©tĂ© dĂ©finie prĂ©cĂ©demment. Cela est rarement utile.

subtree_check

Cette option active la vérification de sous-répertoires, ce qui peut avoir des bénéfices subtils au niveau de la sécurité, mais peut réduire la fiabilité dans certains cas.

Si un sous-rĂ©pertoire d’un systĂšme de fichiers est partagĂ©, mais que le systĂšme de fichiers ne l’est pas, alors chaque fois qu’une requĂȘte NFS arrive, le serveur doit non seulement vĂ©rifier que le fichier accĂ©dĂ© est dans le systĂšme de fichiers appropriĂ© (ce qui est facile), mais aussi qu’il est dans l’arborescence partagĂ©e (ce qui est plus compliquĂ©). Cette vĂ©rification s’appelle subtree_check .

Pour ce faire, le serveur doit ajouter quelques informations sur l’emplacement du fichier dans le « filehandle » (descripteur de fichier) qui est donnĂ© au client. Cela peut poser problĂšme lors d’accĂšs Ă  des fichiers renommĂ©s alors qu’un client est en train de les utiliser (bien que dans la plupart des cas simples, cela continuera Ă  fonctionner).

La vĂ©rification de sous-rĂ©pertoires est Ă©galement utilisĂ©e pour s’assurer que des fichiers situĂ©s dans des rĂ©pertoires auxquels seul l’administrateur a accĂšs ne sont consultables que si le systĂšme de fichiers est partagĂ© avec l’option no_root_squash (voir ci-dessous), et ce mĂȘme si les fichiers eux-mĂȘmes offrent un accĂšs plus gĂ©nĂ©ral.

Pour plus d’informations sur les implications au niveau de la sĂ©curitĂ©, reportez-vous Ă  la section Partage de sous-rĂ©pertoires

D’une façon gĂ©nĂ©rale, un systĂšme de fichiers du rĂ©pertoire personnel (« home directory »), qui est normalement partagĂ© Ă  sa racine et qui va subir de multiples opĂ©rations de renommage de fichiers, doit ĂȘtre partagĂ© sans contrĂŽle des sous-rĂ©pertoires. Un systĂšme de fichiers principalement en lecture seule, et qui donc ne verra que peu de modifications de noms de fichiers (/usr ou /var par exemple) et pour lequel des sous-rĂ©pertoires pourront ĂȘtre partagĂ©s, le sera probablement avec la vĂ©rification des sous-rĂ©pertoires.

La dĂ©sactivation par dĂ©faut de la vĂ©rification des sous-rĂ©pertoires peut ĂȘtre explicitement demandĂ©e avec l’option no_subtree_check .

Avant la version 1.1.0 de nfs-utils, le rĂ©glage par dĂ©faut Ă©tait subtree_check . Depuis la version 1.1.0, le rĂ©glage par dĂ©faut est no_subtree_check , car la vĂ©rification des sous-rĂ©pertoires pose souvent plus de problĂšmes qu’elle n’en rĂ©sout. Si vous voulez vraiment activer la vĂ©rification des sous-rĂ©pertoires, vous devez explicitement indiquer cette option dans le fichier exports . Si vous ne prĂ©cisez rien, exportfs vous avertira de la modification.

insecure_locks
no_auth_nlm

Cette option (les deux noms sont synonymes) indique au serveur NFS de ne pas exiger l’authentification des requĂȘtes de verrouillage (c’est-Ă -dire les requĂȘtes qui utilisent le protocole NLM). Normalement le serveur de NFS doit exiger d’une requĂȘte de verrouillage qu’elle fournisse une accrĂ©ditation pour un utilisateur qui a accĂšs en lecture au fichier. Avec cette option, aucun contrĂŽle d’accĂšs ne sera effectuĂ©.

Les premiĂšres implĂ©mentations de clients NFS n’envoyaient pas d’accrĂ©ditations lors de requĂȘtes de verrouillage, et nombre de clients NFS encore utilisĂ©s sont basĂ©s sur ces anciennes implĂ©mentations. Utilisez cette option si vous constatez que vous ne pouvez verrouiller que les fichiers en lecture pour tous (« world readable »).

Par dĂ©faut, les demandes d’authentification des requĂȘtes NLM se comportent comme si les options (synonymes) auth_nlm ou secure_locks avaient Ă©tĂ© fournies. On peut cependant Ă©crire explicitement ces options.

mountpoint= chemin

mp

Cette option permet de ne partager un rĂ©pertoire que si son montage a rĂ©ussi. Si aucun chemin n’est prĂ©cisĂ© (par exemple mountpoint ou mp ) alors le partage doit Ă©galement ĂȘtre un point de montage. Si ce n’est pas le cas, alors le partage n’est pas fait. Ceci vous permet d’ĂȘtre sĂ»r que le rĂ©pertoire d’un point de montage ne sera jamais partagĂ© par accident si, par exemple, le montage du systĂšme de fichiers Ă©chouait suite Ă  une erreur de disque dur.

Si un chemin est prĂ©cisĂ© (c’est-Ă -dire mountpoint= /chemin ou mp= /chemin), le chemin indiquĂ© doit ĂȘtre un point de montage pour le partage qui est fait.

fsid= num|root|uuid

NFS a besoin de reconnaĂźtre chaque systĂšme de fichiers qu’il offre en partage. Habituellement, il utilisera un UUID pour ce systĂšme de fichiers (si le systĂšme de fichiers en dispose) ou de l’identifiant du pĂ©riphĂ©rique qui hĂ©berge ce systĂšme de fichiers (si le systĂšme de fichiers est stockĂ© sur un pĂ©riphĂ©rique).

Puisque tous les systĂšmes de fichiers ne sont pas toujours stockĂ©s sur des pĂ©riphĂ©riques, et qu’ils n’ont pas toujours un UUID, il sera parfois nĂ©cessaire d’indiquer comment NFS identifiera un systĂšme de fichiers. C’est le rĂŽle de l’option fsid= .

Dans NFSv4, un systĂšme de fichiers particulier est la racine de tous les systĂšmes de fichiers partagĂ©s. Il est dĂ©fini par fsid=root ou fsid=0 , qui veulent tous deux dire exactement la mĂȘme chose.

Les autres systĂšmes de fichiers peuvent ĂȘtre identifiĂ©s avec un entier court ou un UUID qui doit comporter 32 caractĂšres hexadĂ©cimaux et une ponctuation arbitraire.

Les versions du noyau Linux 2.6.20 et prĂ©cĂ©dentes ne comprennent pas les rĂ©glages UUID, l’utilisation d’un entier court est donc nĂ©cessaire pour dĂ©finir l’option fsid. La dĂ©finition conjointe d’un petit nombre et d’un UUID est possible pour une mĂȘme configuration, ce qui rend possible l’utilisation avec d’anciens ou de nouveaux noyaux.

nordirplus

Cette option dĂ©sactive la gestion des requĂȘtes READDIRPLUS. Quand elle est positionnĂ©e, les requĂȘtes READDIRPLUS de clients NFS renvoient NFS3ERR_NOTSUPP et les clients se replient sur READDIR. Cette option affecte seulement les clients NFSv3.

refer= chemin@serveurNFS[+serveurNFS][:chemin@serveurNFS[+serveurNFS]]

Un client qui se connecte Ă  ce partage se verra proposer le choix d’une autre adresse de systĂšme de fichiers parmi celles fournies dans cette liste (Notez que le serveur doit absolument avoir un point de montage sur cette destination, bien qu’il ne soit pas nĂ©cessaire qu’il s’agisse d’un systĂšme de fichiers diffĂ©rent. Ainsi, mount --bind /chemin /chemin suffit).

Cette option n’affecte que les clients NFSv4. Les autres clients ignorent toutes les parties « refer= ».

replicas= chemin@serveurNFS[+serveurNFS][:chemin@serveurNFS[+serveurNFS]]

Si le client demande d’autres adresses pour ce partage, cette liste de possibilitĂ©s lui sera proposĂ©e (Notez que le mĂ©canisme effectif de rĂ©plication du systĂšme de fichiers doit ĂȘtre gĂ©rĂ© ailleurs).

pnfs

Cette option active l’utilisation de l’extension pNFS si le niveau du protocole est Ă©gal ou supĂ©rieur Ă  NFSv4.1 et si le systĂšme de fichiers prend en charge les partages pNFS. Avec pNFS, les clients peuvent contourner le serveur et rĂ©aliser des E/S directement sur les pĂ©riphĂ©riques de stockage. Le comportement par dĂ©faut peut ĂȘtre requis explicitement avec l’option no_pnfs .

security_label

Avec cette option positionnée, les clients qui utilisent NFSv4.2 ou une version ultérieure seront capables de définir et de récupérer des étiquettes de sécurité (comme celles utilisées par SELinux). Cela ne fonctionnera que si tous les clients utilisent une politique de sécurité cohérente. Notez que les noyaux anciens ne prenaient pas en compte cette option de partage et activaient plutÎt les étiquettes de sécurité par défaut.

reexport= auto-fsidnum|predefined-fsidnum

Cette option est une aide quand un partage NFS est repartagĂ©. Dans la mesure oĂč le serveur NFS a besoin d’un identifiant unique pour chacun des systĂšmes de fichiers partagĂ©s et qu’un partage NFS ne peut en fournir un, un fsid manuel est nĂ©cessaire. DĂšs que crossmnt est utilisĂ©, l’assignation manuelle d’un fsid ne fonctionne plus. C’est lĂ  que cette option devient pratique. Elle assignera automatiquement un fsid numĂ©rique aux partages NFS. Les relations entre le fsid et le chemin sont stockĂ©es dans une base de donnĂ©es SQLite. predefined-fsidnum prĂ©sume les numĂ©ros de fsid prĂ©-allouĂ©s et ne vĂ©rifie qu’eux. Cette option dĂ©pend aussi du noyau, une version 5.19 au moins du noyau est nĂ©cessaire. Dans la mesure ou reexport= peut automatiquement allouer et assigner des fsid numĂ©riques, il n’est plus possible d’avoir des fsid numĂ©riques dans d’autres partages dĂšs que cette option est utilisĂ©e dans au moins une entrĂ©e de partage.

L’association entre les numĂ©ros de fsid et les chemins est stockĂ©e dans une base de donnĂ©es SQLite. Ne modifiez ni ne supprimez la base de donnĂ©es Ă  moins que vous ne sachiez exactement ce que vous faites. predefined-fsidnum est utile quand vous avez utilisĂ© auto-fsidnum auparavant et que vous ne voulez pas stocker davantage d’entrĂ©es.

Correspondance d’ID utilisateur (« User ID Mapping »)

nfsd base son contrĂŽle d’accĂšs aux fichiers de la machine serveur sur l’UID et le GID fournis dans chaque requĂȘte RPC de NFS. Le comportement attendu par un utilisateur est de pouvoir accĂ©der Ă  ses fichiers sur le serveur de la mĂȘme façon qu’il y accĂšde sur un systĂšme de fichiers normal. Ceci exige que les mĂȘmes UID et GID soient utilisĂ©s sur le client et la machine serveur. Ce n’est pas toujours vrai, ni toujours souhaitable.

Bien souvent, il n’est pas souhaitable que l’administrateur d’une machine cliente soit Ă©galement traitĂ© comme le superutilisateur lors de l’accĂšs Ă  des fichiers du serveur NFS. À cet effet, l’UID 0 est normalement associĂ© (« mapped ») Ă  un utilisateur diffĂ©rent : le prĂ©tendu utilisateur anonyme ou UID nobody . C’est le mode de fonctionnement par dĂ©faut (appelĂ© « root squashing »), qui peut ĂȘtre dĂ©sactivĂ© grĂące Ă  no_root_squash .

Par dĂ©faut, exportfs choisit un UID et un GID de 65534 pour l’accĂšs « squash ». Ces valeurs peuvent Ă©galement ĂȘtre dĂ©finies par les options anonuid et anongid . Enfin, vous pouvez faire correspondre toutes les demandes des utilisateurs avec l’UID anonyme en indiquant l’option all_squash .

Voici la liste complÚte des options de correspondance (« mapping ») :
root_squash

Associer les requĂȘtes d’UID/GID 0 en l’UID/GID anonyme. Notez que ceci ne s’applique Ă  aucun autre UID ou GID qui pourrait Ă©galement ĂȘtre sensible, tel que l’utilisateur bin ou le groupe staff par exemple.

no_root_squash

Désactiver la transformation du superutilisateur. Cette option est principalement utile pour les clients sans disque dur.

all_squash

Transformer tous les UID/GID en l’utilisateur anonyme. Utile pour les rĂ©pertoires FTP publics partagĂ©s en NFS, les rĂ©pertoires de spool de news, etc. L’option inverse est no_all_squash , qui est celle par dĂ©faut.

anonuid et anongid

Ces options dĂ©finissent explicitement l’UID et le GID du compte anonyme. Cette option est principalement utile pour des clients PC/NFS, dans le cas oĂč vous souhaiteriez que toutes les requĂȘtes semblent provenir d’un seul et mĂȘme utilisateur. Consultez par exemple la ligne dĂ©finissant le partage pour /home/joe dans la section EXEMPLES ci-dessous, qui attribue toutes les requĂȘtes Ă  l’utilisateur 150 (qui est censĂ© ĂȘtre celui de l’utilisateur Joe).

Partage de sous-répertoires

Normalement, vous ne devriez partager que la racine d’un systĂšme de fichiers. Le serveur NFS vous permettra aussi de partager un sous-rĂ©pertoire d’un systĂšme de fichiers ; cependant cela prĂ©sente des inconvĂ©nients.

D’abord, il peut ĂȘtre possible Ă  un utilisateur malveillant d’accĂ©der aux fichiers sur le systĂšme de fichiers en dehors du sous-rĂ©pertoire exportĂ©, en devinant le descripteur de fichier de ces autres fichiers. Dans certains cas, un utilisateur malveillant peut aussi avoir la capacitĂ© d’accĂ©der Ă  des fichiers dans d’autres systĂšmes de fichiers qui n’ont pas Ă©tĂ© exportĂ©s en remplaçant le sous-rĂ©pertoire exportĂ© par un lien symbolique vers un autre rĂ©pertoire. Le seul moyen d’éviter cela est d’utiliser l’option subtree_check , ce qui peut provoquer d’autres problĂšmes.

Ensuite, les options de partage peuvent ne pas s’appliquer comme vous vous y attendiez. Par exemple, l’option security_label ne fonctionnera pas sur des partages de sous-rĂ©pertoires et si des partages de sous-rĂ©pertoires imbriquĂ©s modifient les options security_label ou sec= , les clients NFSv4 ne verront normalement que les options du partage parent. Aussi quand les options de sĂ©curitĂ© diffĂšrent, un client malveillant peut utiliser des attaques en devinant le descripteur de fichier pour accĂ©der aux fichiers d’un sous-rĂ©pertoire en utilisant les options d’un autre.

Tables d’exportation supplĂ©mentaire

AprĂšs avoir lu /etc/exports , exportfs lit les fichiers dans le rĂ©pertoire des tables d’exportation supplĂ©mentaires /etc/exports.d. . Seuls les fichiers dont le nom se termine par .exports sont pris en compte. Les fichiers qui commencent par un point ( . ) sont ignorĂ©s. Le format des tables d’exportation supplĂ©mentaires est le mĂȘme que celui de /etc/exports .

EXEMPLE

# exemple de fichier /etc/exports
/ master(rw) trusty(rw,no_root_squash)
/projects proj*.local.domain(rw)
/usr *.local.domain(ro) @trusted(rw)
/home/joe pc001(rw,all_squash,anonuid=150,anongid=100)
/pub *(ro,insecure,all_squash)
/srv/www -sync,rw server @trusted @external(ro)
/foo 2001:db8:9:e54::/64(rw) 192.0.2.0/24(rw)
/build buildhost[0-9].local.domain(rw)

La premiĂšre ligne partage l’ensemble du systĂšme de fichiers vers les machines « master » et « trusty ». En plus des droits d’écriture, toute transformation d’UID est dĂ©sactivĂ©e pour l’hĂŽte « trusty ». Les deuxiĂšme et troisiĂšme lignes montrent des exemples de noms de machines avec caractĂšres jokers, et de groupes de machines (c’est le sens de « @trusted »). La quatriĂšme ligne montre une entrĂ©e pour le client PC/NFS, prĂ©sentĂ© plus haut. La cinquiĂšme ligne partage un rĂ©pertoire public de FTP, Ă  toutes les machines dans le monde, en effectuant les requĂȘtes sous le compte anonyme. L’option insecure permet l’accĂšs aux clients dont l’implĂ©mentation NFS n’utilise pas un port rĂ©servĂ©. La sixiĂšme ligne partage un rĂ©pertoire en lecture et Ă©criture Ă  une machine « server » ainsi qu’à un groupe de machines « @trusted », et en lecture seule pour le groupe de machines « @external », tous les trois ayant l’option « sync » activĂ©e. La septiĂšme ligne partage un rĂ©pertoire aux deux sous-rĂ©seaux IPv6 et IPv4. La huitiĂšme ligne montre une utilisation d’un caractĂšre joker de classe.

FICHIERS

/etc/exports /etc/exports.d

VOIR AUSSI

exportfs (8), netgroup (5), mountd (8), nfsd (8), showmount (8), tlshd (8).

TRADUCTION

La traduction française de cette page de manuel a été créée par Valéry Perrin <valery.perrin.debian@free.fr>, Sylvain Cherrier <sylvain.cherrier@free.fr>, Thomas Huriaux <thomas.huriaux@gmail.com>, Dominique Simen <dominiquesimen@hotmail.com>, Nicolas SauzÚde <nsauzede@free.fr>, Romain Doumenc <rd6137@gmail.com>, David Prévot <david@tilapin.org>, Denis Mugnier <myou72@orange.fr>, Cédric Boutillier <cedric.boutillier@gmail.com> et Jean-Pierre Giraud <jean-pierregiraud@neuf.fr>

Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n’y a aucune RESPONSABILITÉ LÉGALE.

Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org .