vendredi 18 septembre 2015

Administration des services réseaux: Configuration du protocole NFS sous Linux

Le protocole NFS (Network file system) permet de partager des fichiers entre des machines Unix, et donc Linux.
C'est un modèle client-serveur : une machine met à disposition (exporte) des répertoires de son système de fichier local sur le réseau. Suivant les droits d'accès, les autres stations du réseau peuvent monter ces répertoires, qui seront alors vus comme des répertoires locaux. Un ordinateur peut être à la fois client et serveur NFS.
Installation coté serveur
Commencer par vérifier que les demons NFS (nfsd) ne sont pas déjà lancés avec, par exemple, la commande
ps ax | grep nfsd
Pour lancer les démons manuellement sous Debian :
/etc/init.d/nfs-kernel-server start
ou, si c'est le serveur NFS en espace utilisateur qui est installé :
/etc/init.d/nfs-user-server start
On peut remplacer start par restart pour redémarrer le serveur.
Configuration
Pour partager (ou exporter) des répertoires, il faut renseigner le fichier /etc/exports. Il indique la liste des répertoires
partagés et le nom des machines qui y ont accès.
Chaque ligne correspond à un répertoire et a la forme :
<répertoire local> <nom ou IP des machines autorisées à se connecter>(<options>) <autres machines>(<options>)...
Par exemple :
/home/bob ollinux(rw) station1(ro)
/projet station1(rw) (ro)
/brouillon
Le serveur exporte son répertoire /home. La machine ollinux pourra le monter en lecture/écriture (rw),
station1 en lecture seule (ro), et les autres machines ne pourront pas se connecter.
De même, station1 pourra accéder en lecture/écriture au répertoire projet et toutes les autres stations en
lecture seule.
Enfin, tout le monde pourra accéder en lecture/écriture au répertoire brouillon (l'option rw est celle par défaut).
Pour connaitre la liste des options possibles et leur signification, consultez man exports.
Notez bien que les droits en écriture via le réseau seront toujours inhibés par les droits sur le système de fichier.
Prenons par exemple un fichier test appartenant à root, situé dans le répertoire projet et avec les droits 600
(lecture/écriture pour root uniquement, aucun droit pour les autres). Si l'utilisateur toto accède via la station
station1 au répertoire /projet, il ne pourra pas accéder au fichier test, bien qu'il ait les "droits réseaux
read-write".
Un fois le fichier /etc/exports correctement configuré, il suffit de relancer le service NFS par la commande
suivante pour que les modifications soient prises en compte :
/etc/init.d/nfs-kernel-server reload
Installation coté client
C'est relativement simple puisque le "système de fichier réseau" NFS est directement intégré au noyau. Il suffit de
vérifier que ce dernier a été compilé avec la prise en charge de NFS. C'est le cas de toutes les distributions récentes.
Pour monter un système de fichier distant, utiliser la commande mount avec l'option nfs :
mount -t nfs <machine distante>:<répertoire partagé> <répertoire local> -o <options>
Par exemple :
mount -t nfs 192.168.105.2:/armor/plages /mnt/cotes -o ro
Cette commande montera le répertoire /armor/plages, exporté par la station 192.168.105.2, dans le répertoire
local /mnt/cotes, en lecture seule.
A la place d'une adresse IP, vous pouvez aussi donner un nom de machine, comme par exemple sasa. Pour cela, il
faut que le nom sasa puisse être converti en adresse IP (en modifiant /etc/hosts par exemple, si on n'a pas de
serveur DNS)
Connexion au démarrage
Il est possible de connecter les répertoires partagés au démarrage de la station.
Le plus simple est de renseigner le fichier /etc/fstab qui contient une liste des systèmes de fichiers connus.
La syntaxe est la suivante :
<ordinateur distant>:<répertoire distant> <répertoire local> nfs <options> 0 0
Pour reprendre l'exemple précédent, cela donnerait :
sasa:/armor/plages /mnt/cotes nfs auto,rw,user,soft 0 0
Les options sont décrites dans la page de man de mount. Certaines sont communes à d'autres systèmes de fichiers
(ext2, vfat...) alors que d'autres sont spécifiques à NFS.

Aucun commentaire:

Enregistrer un commentaire