Ceci est une ancienne révision du document !
NFS1) permet de partager des dossiers/fichiers sur un réseau sûr. Il rend disponible les arborescences partagées par le serveur directement sur les postes clients.
Installer NFS:
root@kerberos:~# apt-get install nfs-kernel-server
Déclarer les exports (les ressources du serveur à partager avec les clients) dans le fichier /etc/exports
.
Chaque ligne respecte la syntaxe:
<dossier à partager> <hôte autorisé 1 > <options 1 > ... <hôte autorisé n > <options n >
root_squash | Le root sur les clients distants n'est pas le root sur le serveur, il est mappé sur l'utilisateur anonyme. |
---|---|
no_root_squash | Le root distant correspond au root sur le serveur, pas de mapping pour root. |
all_squash | Tous les utilisateurs distants correspondent à l'utilisateur anonyme du serveur. |
anongid | Définir le GID de l'utilisateur anonyme pour les options root_squash, all_squash |
anonuid | Définir l'UID de l'utilisateur anonyme pour les options root_squash, all_squash. |
async | Privilégier le temps de réponse au détriment de l'intégrité. Permet de répondre à une requête avant que tous les changements engendrés par la requête n'aient été apportés côté serveur. |
subtree_check | Vérifie que la requête accède bien a une ressource déclarée comme partagée. |
no_subtree_check | Peu améliorer la fiabilité dans certains cas au détriment de la sécurité. Désactive la vérification sur les sous-répertoires. |
Pour le détail des options, section 5 du man:
$ man -S5 nfs
Le client utilise le paquet nfs-common pour monter la ressource NFS sur l’arborescence logique locale.
$ sudo apt-get install nfs-common
Pour lister les ressources exportées par un serveur NFS du réseau:
$ showmount -e server.lan Export list for server.lan: /mnt/raid/music client.lan /mnt/raid/backup client.lan
Ici le serveur server.lan exporte deux dossiers que client.lan est autorisé à utiliser.
Pour tester un montage depuis la ligne de commande:
$ sudo mount -t nfs server:/path/dir ./mnt-pt
Pour que l'utilisateur puisse faire le montage, modifier le fichier /etc/fstab
et utiliser les options user et noauto.
server:/path/dir /path/mnt-pt nfs user,noauto,noexec,nosuid,ro 0 0
La commande nfsstat permet d'afficher les statistiques pour les différentes versions du protocole utilisées localement.
$ nfsstats
En cas de problème lors du montage il peut être intéressant d'utiliser certaines options: Dans l'exemple ci-dessous l'argument -v (verbeux) pour détailler les étapes du montage et l'option vers pour forcer l'utilisation du protocole en version 4 3 ou 2 coté client:
$ sudo mount -t nfs server.lan:/share /mnt/nfs -v -o vers=3
mount.nfs4: access denied by server while mounting
, vérifiez les droits d'accès au dossier partagé (le dossier est peut être en mode interdit pour “autres” (others) ce qui le rend impossible à lire pour le serveur NFS).
Lors de toute tentative de montage le message suivant est affiché:
mount.nfs: access denied by server while mounting "ipserveur"
Coté serveur, le fichier /etc/exports autorise bien la machine à accéder au partage. Ce problème s'est présenté avec NFSv4 qui n'utilise pas le système d'authentification par ip, il peut être utile:
Pour forcer l'utilisation du protocle en version 3, coté serveur dans le fichier /etc/default/nfs-kernel-server remplacer la valeur de RPCNFSDCOUNT:
RPCNFSDCOUNT='8 --no-nfs-version 4'
Coté client, ajouter vers=3 dans les options de montage de /etc/fstab ou sur la ligne de commande.