Photo by Jainath Ponnala / Unsplash

Partager localement un dossier depuis Linux et le monter sur Windows en NFS

P2P/Usenet 29 déc. 2021

Ma femme a besoin d'accéder à des fichiers sur le serveur local (sous Proxmox 7 donc Debian 11) depuis son PC sous Windows.

Je préfère NFS à Samba, pour simplifier l'accès depuis un poste (une IP ou une plage d'IP) plutôt que par un utilisateur sur le serveur source.

Côté Linux c'est pas compliqué, il faut installer NFS

sudo apt-get install nfs-kernel-server rpcbind

Et configurer le dossier à partager (une partition dans mon cas) et avec quelle IP (une plage ici)

sudo nano /etc/exports

# /etc/exports: the access control list for filesystems which may be exported
#		to NFS clients.  See exports(5).
#
# Example for NFSv2 and NFSv3:
# /srv/homes       hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)
#
# Example for NFSv4:
# /srv/nfs4        gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
# /srv/nfs4/homes  gss/krb5i(rw,sync,no_subtree_check)
#

/Data      10.0.4.0/24(rw,no_subtree_check)

Je partage /Data avec les PC dans la plage d'adresse du réseau 10.0.4.*. J'aurais aussi pu mettre l'IP directement de son PC. Utiliser une plage revient à donner l'accès à n'importe quel PC dans cette plage d'IP. Ce qui peut être risqué sur un réseau ouvert (ou si vous ne voulez pas que vos conjoints/enfants y aient accès).

Options basiques :
- rw : acccès en lecture/écriture
- no_subtree_check : moins de sécurité mais osef vu que c'est un réseau local mais moins de contraintes aussi

On relance le service et on l'active au démarrage

sudo systemctl restart nfs-server
sudo systemctl enable nfs-server

On peut vérifier qu'il est bien lancé

sudo systemctl status  nfs-server

● nfs-server.service - NFS server and services
     Loaded: loaded (/lib/systemd/system/nfs-server.service; enabled; vendor preset: enabled)
     Active: active (exited) since Wed 2021-12-29 14:17:03 CET; 11min ago
   Main PID: 726512 (code=exited, status=0/SUCCESS)
      Tasks: 0 (limit: 28654)
     Memory: 0B
        CPU: 0
     CGroup: /system.slice/nfs-server.service

Côté Windows, il faut activer le service Client NFS. Panneau de configuration / Activer ou désactiver des fonctionnalités Windows  / Services pour NFS => client

Puis on peut ajouter le partage via Connecter un lecteur réseau (clic droit sur Réseau)

Mots clés