Services et serveurs

NFS : Paramétrer les partages avec le fichier exports

Cet article a été mis à jour, vous consultez ici une archive de cet article!
Table des matières

nfs



Introduction



Dans cet article, je vais récapituler le paramétrage du fichier /etc/exports qui contient la liste des partages NFS.
Cela s'applique au serveur NFS.

Installer le serveur



Sur ce site, j'ai déjà rédigé les tutoriels pour installer un serveur NFS :
- Sous Gentoo : https://www.linuxtricks.fr/wiki/gentoo-installer-un-serveur-nfs
- Sous CentOS 7 : https://www.linuxtricks.fr/wiki/centos-7-installer-un-serveur-nfs
- Sous Red Hat 8 et Alma Linux 8 : https://www.linuxtricks.fr/wiki/red-hat-8-alma-linux-8-installer-et-configurer-un-serveur-nfs
- Sous Debian : https://www.linuxtricks.fr/wiki/debian-installer-un-serveur-nfs

Le fichier exports



On indique dans le fichier /etc/exports quels répertoires on souhaite partager et à qui :

Code BASH :
vi /etc/exports


On peut partager un dossier à une seule machine :
Code BASH :
/media/partage           192.168.21.200(rw,sync,no_root_squash)


Ou à un réseau :
Code BASH :
/media/partage           192.168.21.0/24(rw,sync,no_root_squash)


Ou à plusieurs machines (on répètera les IP des machines avec les options suivies par un espace) :
Code BASH :
/media/partage           192.168.21.0.100(rw,sync,no_root_squash) 192.168.21.0.101(rw,sync,no_root_squash)


Attention, il ne faut aucun espace entre le réseau et les options!

  • rw: Cette option permet d'avoir les droits de lecture et d'écriture sur le répertoire distant. Pour lecture seule : utiliser ro
  • sync : vérifie les données écrites avant d'en écrire de nouvelles (lent). Pour écrire plus rapidement au prix d'une corruption des données, utiliser async
  • no_root_squash : ne force pas le mapping de l'utilisateur root vers un utilisateur anonyme
  • no_subtree_check : ignore la vérification des droits d'accès des sous-dossiers (perte d'un petit peu de sécurité mais peut améliorer la fiabilité)


Par défaut, toutes les données écrites dans ce répertoire partagé sont de la propriété de l'utilisateur anonyme (nobody).
On peut indique au serveur NFS un UID et/ou un GID de l'utilisateur avec anonuid et anongid pour éviter d'utiliser nobody. Utiliser au passage l'option all_squash :

Code BASH :
/media/partage  192.168.21.0/24(rw,all_squash,anonuid=1001,anongid=1001,sync)


Pour appliquer les changements :

Code BASH :
exportfs -a



Sur les clients, pour voir la liste des partages NFS actifs :

Code BASH :
showmount -e