Vous êtes sur la page 1sur 23

NFS (NETWORK FILE SYSTEM)

Abdellah EZZATI FST SETTAT 1


Plan:

Introduction
Principe de NFS
Fonctionnement de NfS
La configuration coté server
La configuration coté client

Abdellah EZZATI FST SETTAT 2


INTRODUCTION

NFS (NETWORK FILE SYSTEM) est


un protocole standard de partage
réseau entre machines Unix, créé par
SUN vers 1980. Il comprend l'ajout de
fonctionnalités supplémentaires, les
RPC=(Remote Procedure Calls)

Abdellah EZZATI FST SETTAT 3


Le principe de fonctionnement de NFS est l'accès aux fichiers distants :
un client essaie de monter un répertoire d'une machine distante sur un
répertoire local, Comme toute ressource extérieure doit être intégrée
dans le système de fichiers Linux, cet accès ne pourra être permis qu'à
l'aide d'un processus de montage : une partie de l'arborescence d'une
machine Linux "serveur", est exportée ce qui lui permet d'être intégré
dans le système de fichiers d'une machine Linux "cliente". L'utilisateur
peut monter cette arborescence exportée par le serveur, sur un point de
montage, de façon tout-à-fait semblable au montage de systèmes de
fichiers des divers périphériques. Dès lors, pour l'utilisateur sur la
machine cliente, la ressource est accessible comme si elle résidait sur un
périphérique local.

Abdellah EZZATI FST SETTAT 4


Abdellah EZZATI FST SETTAT 5
 Il y a une machine qui joue le rôle de serveur de fichiers (appelée serveur
NFS). Elle exporte tout arborescence racine / ou partie de son système de
fichiers pour une liste de stations (accessibles par réseau) et avec des
restrictions d'accès.
 L'utilisateur peut monter cette arborescence exportée par le serveur NFS,
sur un point de montage de la machine cliente, de façon tout-à-fait semblable
au montage de systèmes de fichiers des divers périphériques.
 Mais dans un cadre de travail stable, où le serveur est dédié, il est
souhaitable de monter les ressources NFS au démarrage.
 il crée tout un tas de problèmes de sécurité bien connus des crackers qui
peuvent facilement les exploiter pour obtenir l'accès (lecture, écriture et
effacement) à tous vos fichiers.

Abdellah EZZATI FST SETTAT 6


Le serveur NFS exporte (ou publie) un système de fichiers
auquel le client peut accéder par une instruction mount. Lors
du montage d’un système de fichiers partagé de ce type, le
serveur vérifie les autorisations du client avant de lui
permettre d’accéder aux ressources partagées. Le serveur
NFS utilise aussi les fichiers /etc/hosts.allow et
/etc/hosts.deny pour déterminer si un hôte donné doit être
autorisé ou refusé pour l'accès via NFS.

Abdellah EZZATI FST SETTAT 7


L’arrêt/démarrage du serveur
Comme les autres services Linux, NFS se gère avec un script placé
dans /etc/rc.d/init.d/. Pour lancer NFS, la commande suivante doit
être exécutée :

Ou bien :

# /etc/rc.d/init.d/nfs start
# /etc/rc.d/init.d/nfs stop

Abdellah EZZATI FST SETTAT 8


Le fichier /etc/exports
Ce fichier contient la liste des exportations. Sur chaque ligne, on
précise un répertoire du système de fichiers, suivi par la liste des
machines distantes clientes autorisées à les monter. Si cette liste est
vide, toutes les stations accessibles sont autorisées.

# repertoire liste-machines (liste-options)


/home/delphi neptune(ro) saturne(rw)
/usr/bin neptune(ro) saturne(ro)

Pour valider un changement opéré dans ce fichier de configuration :

# exportfs -a

Abdellah EZZATI FST SETTAT 9


directory_path computer1(options1) computer2(options2)

directory_path : représente le chemin (absolu) du dossier à


exporter
computer1 et computer2 : sont les ordinateurs et/ou
groupe d'ordinateurs ayant le droit d’accéder à cette
ressource via un client NFS.
options1 et options2 : définissent la façon dont votre
dossier va être exporté. C'est ici, entre autre, que vous
aurez la possibilité de choisir une exportation en lecture-
écriture ou en lecture seule

Abdellah EZZATI FST SETTAT 10


Quelques options de partage :
 rw : partage en lecture/écriture
 ro : partage en lecture
 root_squash : Cette option retire au super-utilisateur en connexion
distante tous les privilèges de son statut en lui assignant l'ID
d'utilisateur nfsnobody (personne). Ce faisant, le pouvoir du super-
utilisateur distant est réduit au niveau d'utilisateur le plus bas,
l'empêchant d'apporter des modifications non autorisées dans des
fichiers sur le serveur distant. Sinon, l'option no_root_squash annule
cette fonction de réduction des privilèges du super-utilisateur. Afin de
limiter le champ d'action de chaque utilisateur distant, y compris le
super-utilisateur, utilisez l'option all_squash.
 sync : fichiers mis à jour sur disque avant la réponse du serveur
 Async : fichiers mis à jour sur disque indépendamment de la réponse
faite par le serveur (par défaut)
 noaccess : permet d'exclure une partie de l'arborescence pour des
clients donnés.

Abdellah EZZATI FST SETTAT 11


Exemple :
 Partage de home en lecture seule pour la machine
192.168.0.2 et 192.168.0.3.
/home/franck 192.168.0.2(ro,sync) 192.168.0.3(ro,sync)

 Partage de home en lecture seule pour le réseau


192.168.0.0/255.255.255.0.

/home/franck 192.168.0.0/255.255.255.0(ro,sync)

 Répertoire en lecture-écriture pour la machine 192.168.0.2. Toutes


les requêtes qui seront envoyées au serveur seront associées à
l'utilisateur et au groupe anonyme grâce à la directive all_squash
/nfs/export 192.168.0.2(rw,sync,all_squash)

Abdellah EZZATI FST SETTAT 12


La commande exportfs
Chaque fichier exporté vers les utilisateurs distants via NFS ainsi que les droits
d'accès liés à ces systèmes de fichiers sont énumérés dans le fichier /etc/exports.
Lorsque le service nfs démarre, la commande /usr/sbin/exportfs se lance et lit ce
fichier, passe le contrôle à rpc.mountd pour le processus de montage proprement dit
et ensuite à rpc.nfsd où les systèmes de fichiers sont alors disponibles pour les
utilisateurs distants.
Lorsqu'elle est exécutée manuellement, la commande /usr/sbin/exportfs permet
au super-utilisateur d'exporter ou de désexporter sélectivement des répertoires sans
redémarrer le service NFS. Avec les options appropriées, la commande
/usr/sbin/exportfs écrit les systèmes de fichiers exportés dans /var/lib/nfs/xtab OU
dans /var/lib/nfs/etab. Puisque rpc.mountd se réfère au fichier xtab lorsqu'il décide
des privilèges d'accès à un système de fichiers, les changements apportés à la liste
des systèmes de fichiers exportés prennent effet immédiatement.

Abdellah EZZATI FST SETTAT 13


Exemple :
 Partage l'ensemble de l'arborescence pour la machine d'ip
192.168.0.42:
# exportfs -o rw,async,no_root_squash "192.168.0.42:/"
 Pour supprimer un partage on utilise l'option -u :
Désactive le partage /:
# exportfs -u "192.168.0.42:/"
 Désactive tout les partages :
# exportfs -ua
 lister tous les partages disponible sur le serveur on utilise exportfs
sans arguments :
# exportfs
/home/tito 192.168.0.42
/share 192.168.0.*

Abdellah EZZATI FST SETTAT 14


Les démons NFS
Démon Côté Nécessaire Utilité

Portmap Serveur Oui Traduit un n° de programme RPC en port

Rpc.mountd Serveur Oui Initie le montage côté serveur

Rpc.nfsd Serveur Oui Gère les requêtes d’accès aux fichiers

Abdellah EZZATI FST SETTAT 15


La commande showmount

Affiche les ressources disponibles d’un serveur ainsi que les montages déjà
effectués
Syntaxe :
Showmount [option …] [host]
Exemple :
# showmount –e fst
export list for fst

/usr/local/pub fsts.ac.ma
/home *

Abdellah EZZATI FST SETTAT 16


Options de showmount :

showmount -a machine : Affiche à la fois le nom du client et le


répertoire monté sous la forme machine:répertoire.
showmount -d machine : Affiche seulement les répertoires montés
par un client.
showmount -e machine : Affiche la liste des répertoires exportés
par le serveur NFS.
showmount -h : Fournit un court résumé de l'aide.
showmount -v : Renvoie le numéro de version du programme.

Abdellah EZZATI FST SETTAT 17


La configuration d’un client NFS
Le montage sur le client d’un répertoire distant du serveur peut se
faire :

A la volée (manuellement par la commande mount)


Au démarrage (par le système via le fichier /etc/fstab)
Automatiquement (au besoin).

Abdellah EZZATI FST SETTAT 18


Montage manuel de système de fichier
Les partages NFS sont montés côté client à l'aide de la commande
mount. Le format de la commande est le suivant :
mount -t <nfs-type> -o <options> <host>:</remote/export> </local/directory>

Remplacez <nfs-type> par nfs pour les serveurs NFSv2 ou NFSv3 ou par
nfs4 pour les serveurs NFSv4. Remplacez <options> par une liste d'options
séparées par des virgules pour le système de fichiers NFS. Remplacez <host>
par l'hôte distant, </remote/export> par le répertoire distant à monter et
remplacez </local/directory> par le répertoire local où le système de fichiers
distant devra être monté.
Si vous accédez à un partage NFS en exécutant manuellement la commande
mount, le système de fichiers doit être remonté manuellement une fois le
système redémarré.

Abdellah EZZATI FST SETTAT 19


Exemple :
# mount -t nfs ns1:/usr/local/man /doc
En fin d'utilisation, le client démonte l'arborescence /tmp en utilisant
la commande umount :

# umount /doc

Le fichier /etc/mtab :

Ce fichier est modifié chaque fois que l'utilisateur "monte" ou


"démonte" un système de fichier. Le système tient à jour une table
des volumes montés.

Abdellah EZZATI FST SETTAT 20


Montage au démarrage du système
Le fichier /etc/fstab
Au démarrage du système, les volumes déclarés dans le fichier
/etc/fstab sont montés. Ce fichier est utilisé par les démons
mount, umount, fsck.. Voici un extrait de ce fichier:

# more /etc/fstab
/dev/hda1 / ext2 defaults 11
/dev/hda2 swap swap defaults 00
/dev/fd0 /mnt/floppy ext2 noauto 00
/dev/cdrom /mnt/cdrom iso9660 user,noauto,ro 0 0
ns1:/usr/local/man /doc nfs rsize=8192,wsize=8192,timeo=14,intr

Abdellah EZZATI FST SETTAT 21


La dernière ligne indique que le volume /usr/local/man, situé sur le
serveur "ns1", et qui contient les pages du manuel est un volume
nfs, monté sous le nom local /doc. Ce fichier /etc/fstab évite d'avoir à
"monter" manuellement des systèmes de fichiers
Description du fichier /etc/fstab

Champs description
Champ N 1 système de fichier à monté
Champ N 2 point de montage
Champ N 3 type du système de fichier
Champ N 4 option de montage
Champ N 5 indique les systèmes de fichiers à sauvegarder (0 
pas de sauvegarde)
Champ N 6 ordre de vérification des systèmes de fichier au
démarrage
Abdellah EZZATI FST SETTAT 22
Merci pour votre attention

Abdellah EZZATI FST SETTAT 23

Vous aimerez peut-être aussi