Chapitre 3. NFS : le partage de fichiers sous Unix

Table des matières
1. NFS côté client
1.1. Configuration nécessaire
1.2. Monter un répertoire partagé par NFS
2. NFS côté serveur
2.1. Configuration nécessaire
2.2. Partager un répertoire

NFS (Network File System) est un protocole standard de partage de répertoires sous Unix/Linux. Dans ce chapitre, nous allons vous apprendre à monter un répertoire partagé par NFS, puis à mettre en partage un répertoire par NFS.

1. NFS côté client

1.1. Configuration nécessaire

Tout d'abord, il faut avoir compilé le module du noyau NFS File system support avec en plus l'option Provide NFSv3 client support (cf Configuration du noyau Linux). Ensuite, il faut le package nfs-common qui est normalement installé par défaut.

1.2. Monter un répertoire partagé par NFS

Pour monter le répertoire /home/ftp/ partagé par la machine dont le nom DNS est ordi1.exemple.org dans le répertoire /mnt/test déjà crée, utilisez la commande mount :


# mount -t nfs ordi1.exemple.org:/home/ftp /mnt/test

Une fois que vous n'avez plus besoin de ce partage, vous pouvez le démonter :


# umount /mnt/test

Pour que ce répertoire soit monté à chaque démarrage, rajoutez la ligne suivante dans le fichier de configuration /etc/fstab :


ordi1.exemple.org:/home/ftp  /mnt/test   nfs    soft,timeo=5,intr,rsize=8192,wsize=8192  0  0

Pour comprendre les options, regardez leur description dans man mount.

2. NFS côté serveur

2.1. Configuration nécessaire

Tout d'abord, il faut avoir compilé le module du noyau NFS Server support avec en plus l'option Provide NFSv3 server support (cf Configuration du noyau Linux).

Il faut également le package nfs-kernel-server :


# apt-get install nfs-kernel-server

2.2. Partager un répertoire

Editez le fichier /etc/exports et rajoutez la ligne suivante pour partager le répertoire /home/test/ à la machine ordi2.exemple.org :


/home/test	ordi2.exemple.org(rw,root_squash)

L'option rw permet d'exporter en lecture-écriture (utiliser ro pour exporter en lecture seule). L'option root_squash spécifie que le root de la machine ordi2.exemple.org n'a pas les droits de root sur le répertoire partagé (l'option no_root_squash spécifie que le root de la machine sur laquelle le répertoire est monté a les droits de root sur le répertoire). L'option root_squash est l'option par défaut.

Note

L'option rw signifie en réalité que l'utilisateur dont l'ID est 1001 (par exemple...) sur le client NFS a les droits d'écriture sur les fichiers et les répertoires qui appartiennent à l'utilisateur dont l'ID est 1001 sur le serveur NFS. Attention, ces utilisateurs n'ont pas forcément le même nom de compte Unix et ne correspondent pas forcément aux mêmes personnes !

Enfin, demandez à nfs-kernel-server de démarrer :


# /etc/init.d/nfs-kernel-server start
Exporting directories for NFS kernel daemon...done.
Starting NFS kernel daemon: nfsd mountd.

Par la suite, il suffira de lui dire de relire son fichier de configuration après chaque modification :


# /etc/init.d/nfs-kernel-server reload
Re-exporting directories for NFS kernel daemon...done.