Présentation
Network File System (NFS) est un système de fichiers qui permet un accès local à des fichiers distants à partir de plusieurs emplacements au sein d'un réseau. Pour cet accès, NFS utilise une architecture client/serveur standard, prenant en charge le partage entre les machines Linux, quelle que soit leur distribution.
Dans ce didacticiel, vous apprendrez à installer et à configurer le serveur et les clients NFS sur Ubuntu.

Prérequis
- Deux machines Ubuntu ou plus
- Accès à la ligne de commande/au terminal
- Privilèges Sudo sur toutes les machines
Configurer le côté hôte NFS
Les étapes de ce didacticiel couvrent l'installation et la configuration de NFS sur Ubuntu et d'autres distributions basées sur Debian. D'autres distributions Linux, telles que Fedora et CentOS/RHEL, présentent une syntaxe de commande légèrement différente. Cependant, le processus suit le même schéma.
Installer le serveur noyau NFS
Commencez à configurer NFS en choisissant une machine hôte.
Ensuite, mettez à jour le référentiel de packages :
sudo apt update
Ensuite, installez le serveur du noyau NFS sur la machine que vous avez choisie avec la commande suivante :
sudo apt install nfs-kernel-server

Tapez "y" et appuyez sur ENTER pour démarrer l'installation.
Configurer le répertoire partagé
Sur la machine hôte, créez un répertoire que vous souhaitez partager avec le système client. Choisissez le nom que vous voulez.
sudo mkdir -p /mnt/nfsdir
Remplacez l'utilisateur et le groupe du propriétaire par personne et aucun groupe . Ce paramètre rend le dossier public :
sudo chown nobody:nogroup /mnt/nfsdir
Définissez les autorisations sur 777 , afin que tout le monde puisse lire, écrire et exécuter des fichiers dans ce dossier :
sudo chmod 777 /mnt/nfsdir
Modifier le fichier d'exportation NFS pour accorder l'accès au serveur aux clients
L'autorisation d'accéder à la machine du serveur hôte est accordée dans le fichier d'exportation situé dans /etc annuaire. Ouvrez le fichier avec un éditeur de texte de votre choix, ce tutoriel utilise Vi :
sudo vi /etc/exports
Pour chaque client auquel vous souhaitez accorder l'accès, ajoutez cette ligne au fichier :
/mnt/nfsdir clientIP(rw,sync,no_subtree_check)

Quittez le fichier et enregistrez les modifications
Les options entre parenthèses ont les fonctions suivantes :
- "rw ” offre aux clients un accès en lecture et en écriture aux répertoires sur le serveur.
- "synchroniser ” oblige NFS à écrire les modifications avant de répondre au client. Cette option garantit que l'état de l'hôte est présenté avec précision aux clients.
- "no_subtree_check ” désactive sous-arborescence vérification. Le processus de sous-arborescence peut causer des problèmes lorsque les utilisateurs renomment des fichiers.
Exporter le répertoire partagé
Après avoir effectué les modifications nécessaires dans /etc/exports , utilisez le exportfs
commande pour exporter tous les répertoires partagés que vous avez enregistrés dans ce fichier :
sudo exportfs -a
Ensuite, redémarrez le serveur noyau NFS pour appliquer les modifications à la configuration :
sudo systemctl restart nfs-kernel-server
Si vous utilisez UFW, vous devez autoriser les clients à accéder au serveur :
sudo ufw allow from [clientIP or clientSubnetIP] to any port nfs
La sortie confirme l'ajout de l'adresse IP :

Pour vous assurer que vous avez réussi l'opération, tapez :
sudo ufw status
Recherchez dans le résultat l'adresse IP que vous avez ajoutée :

Configuration du côté client NFS
Effectuez les étapes suivantes sur tous les ordinateurs que vous souhaitez configurer en tant que clients pour le partage.
Installer NFS commun
Pour activer NFS sur les machines clientes, installez le package commun NFS :
sudo apt update
sudo apt install nfs-common

Tapez "y" et appuyez sur ENTER pour démarrer l'installation.
Configurer un point de montage
La machine cliente a besoin d'un point de montage pour le répertoire partagé exporté par le serveur.
Créez un répertoire en tapant :
sudo mkdir -p /mnt/nfsdir_client
Pour monter le répertoire partagé sur le point de montage, utilisez la commande suivante :
sudo mount host_IP:/mnt/nfsdir /mnt/nfsdir_client
Utilisez le df -h
commande pour vérifier si vous avez monté le dossier avec succès :

Lorsque vous n'avez plus besoin du dossier partagé, démontez-le en tapant :
sudo umount /mnt/nfsdir_client
Monter les répertoires partagés NFS au démarrage du système d'exploitation
Si vous souhaitez que les dossiers restent montés même après le redémarrage de la machine, vous devrez les ajouter à /etc/fstab fichier.
Pour modifier le fichier /etc/fstab, saisissez :
sudo vim /etc/fstab
Copiez la ligne suivante au bas du fichier, en remplaçant "host_IP" par l'adresse IP réelle de l'hôte :
host_IP :/mnt/nfsdir /mnt/nsfdir_client nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0

Ajoutez cette ligne pour chaque dossier dont vous avez besoin. De cette façon, tous les dossiers de la liste seront montés automatiquement à chaque démarrage.