Partage NFS sous Linux

Auteur : Vince Nadus
Date de publication : 25 août 2018
linux

NFS : partages réseaux sauce Linux Introduction

Ou comment partager des fichiers sous GNU/Linux

Pré-requis: 2 ordinateurs (pour du partage c’est mieux) disposant chacun d’une interface réseau (pour faire du réseau ça simplifie les choses)

Paquetage à installer:

apt-get install nfs-kernel-server

Note: on considérera un serveur qui a pour ip 192.168.0.1, et un poste client qui a pour ip 192.168.0.15. Coté serveur

Il est nécessaire d’éditer 3 fichiers pour la configuration de notre serveur : /etc/exports, /etc/hosts.allow, /etc/host.deny /etc/exports

C’est lui qui va permettre de définir quels sont les répertoires à partager et qui a quels droits dessus (on parle ici de clients et pas d’utilisateurs)

nano /etc/exports

Syntaxe : /chemin/de/partage Client1(droits)[,Client2(droits)[...]]

Exemples : # Partage du répertoire /home/user1 avec l'hôte 192.168.0.15 et les droits de lectures seulement

/home/user1 192.168.0.15(ro,sync)

Partage du répertoire /home/user2 avec l'hôte 192.168.0.11 et les droits de lecture écriture et # avec l'hôte 192.168.0.15 et les droits de lectures seulement

/home/user2 192.168.0.11(rw,sync) 192.168.0.15(ro,sync)

Partage du répertoire /home/user3 avec tous les membres du réseau 192.168.0.1/24 en lecture simplement

/home/user3 192.168.0.1/24(ro,sync)

Pour de plus amples informations sur la gestion des droits, je vous invite à consulter les pages du manuel :

man 5 exports

Attention !

Si :

sur le serveur le répertoire partagé appartient à l’utilisateur 1002
et si vous donnez les droits d’écriture à l’hôte 192.168.0.11,

l’utilisateur de cet hôte qui aura le droit d’écriture dans ce répertoire

est celui dont le numéro, sur cet hôte, est 1002.

Si ce numéro ne correspond à aucun utilisateur sur l’hôte :

personne, pas même root, ne pourra écrire dans le dossier partagé à partir de cet hôte !

/etc/hosts.allow

Comme son nom l’indique, ce fichier va permettre de définir quels postes clients auront accès aux partages (quels postes seront autorisés à la connexion et à l’utilisation des services)

nano /etc/hosts.allow

Syntaxe : service:hote.domain.com, .domain.com

Exemple basique (et un peu bourrin)

ALL:192.168.0.1/24

Pour de plus amples informations sur la gestion des access, je vous invite à consulter les pages du manuel :

man 5 hosts_acces

/etc/hosts.deny

Là aussi, comme son nom l’indique, ce fichier va permettre de définir quels postes clients n’auront pas accès aux partages (quels postes seront interdis à la connexion et à l’utilisation des services)

nano /etc/hosts.deny

Syntaxe : service:hote.domain.com, .domain.com

Exemple basique (et un peu bourrin)

ALL:PARANOID

Pour de plus amples informations sur la gestion des access, je vous invite, là encore, à consulter les pages du manuel : man 5 hosts_acces (Re)Démarrage ses services

service nfs-kernel-server restart

ou

/etc/init.d/nfs-kernel-server restart

ou

systemctl restart nfs-kernel-server

Et voilà qui termine la configuration du serveur. Coté client Montage manuel MOUNT

Pour accéder aux fichiers partagés un simple mount suffit, on va donc monter le répertoire /home/user1 du serveur dans le répertoire /mnt/user1 du client :

mount -t nfs 192.168.0.1:/home/user1 /mnt/user1

S’il n’existe pas, il faut créer le répertoire user1 :

mkdir -p /mnt/user1

Montage automatique FSTAB

Il est également possible de monter automatiquement les répertoires partagés au démarrage de l’ordinateur client. Pour ce faire on va rajouter une ligne dans le fichier /etc/fstab

nano /etc/fstab

<file system> <mount point> <type> <options> <dump> <pass>

192.168.0.1:/home/user1 /mnt/user1 nfs defaults 0 0

Pour pas redémarrer et avoir accès pour la première fois au dossier partagé on peut utiliser mount comme suit :

mount -a

Et voila nous en avons terminé avec l’utilisation de NFS pour le partage de fichiers Sous Proxmox

Tout se fait de manière graphique

Datacenter > Storage > Add NFS

Puis saisissez les informatiosn du partages NFS