You are on page 1of 9

Chapitre 2

Service NFS

Service NFS

1. Introduction
NFS (Network File System) est un protocole cr par SUN vers 1980. Comme sont nom lindique, ce protocole est conu pour permettre le partage de fichier entre systme UNIX/LINUX. Il permet d'organiser les fichiers dans un emplacement central, tout en offrant la possibilit de laisser des utilisateurs autoriss y accder. Grce NFS, les utilisateurs peuvent partager des fichiers sur un rseau avec une transparence totale.

Il y a une machine qui joue le rle de serveur de fichiers (appele serveur NFS).
Elle exporte tout (arborescence racine /) ou partie de son systme de fichiers pour une

liste de stations (accessibles par rseau) et avec des restrictions d'accs.

L'utilisateur peut monter cette arborescence exporte par le serveur NFS, sur un point de montage de la machine cliente, de faon tout--fait semblable au montage de systmes de fichiers des divers priphriques (mount).

Mais dans un cadre de travail stable, o le serveur est ddi, il est souhaitable de monter les ressources NFS au dmarrage. Il suffit pour cela d'inclure la description du montage sur une ligne du fichier /etc/fstab.

il cre tout un tas de problmes de scurit bien connus des crackers qui peuvent facilement les exploiter pour obtenir l'accs (lecture, criture et effacement) tous vos fichiers.

2. La configuration dun serveur NFS


Le serveur NFS exporte (ou publie) un systme de fichiers auquel le client peut accder par une instruction mount. Lors du montage dun systme de fichiers partag de ce type, le serveur vrifie les autorisations du client avant de lui permettre daccder aux ressources partages. Le serveur NFS utilise aussi les fichiers /etc/hosts.allow et /etc/hosts.deny (TCP Wrappers) pour dterminer si un hte donn doit tre autoris ou refus pour l'accs via NFS.

SALIM

Chapitre 2

Service NFS

2.1 Larrt/dmarrage du serveur


Comme les autres services Linux, NFS se gre avec un script plac dans /etc/rc.d/init.d/. Pour lancer NFS, la commande suivante doit tre excute : # service nfs start Starting NFS services: [ OK ] Starting NFS quotas: [ OK ] Starting NFS mountd: [ OK ] Starting NFS daemon: [ OK ] Ou bien # /etc/rc.d/init.d/nfs # /etc/rc.d/init.d/nfs start stop

2.3 Le fichier /etc/exports L'ensemble des configurations pour le serveur NFS ont lieu dans le fichier /etc/exports que vous devez ventuellement crer s'il n'existe pas. Ce fichier contient la liste des dossiers exports ainsi que leurs options d'exportation. Leur dclaration se fait de la manire suivante : directory_path computer1(options1) computer2(options2)

directory_path : reprsente le chemin (absolu) du dossier exporter computer1 et computer2 : sont les ordinateurs et/ou groupe d'ordinateurs ayant le droit d accder cette ressource via un client NFS. options1 et options2 dfinissent la faon dont votre dossier va tre export. C'est ici, entre autre, que vous aurez la possibilit de choisir une exportation en lecturecriture ou en lecture seule. Spcification des machines : * (lensemble des ordinateurs) jaber.ucam.ac.ma 193.201.109.1
2

*.ucan.ac.ma, 193.201.109.0/255.255.255.0,
SALIM

Chapitre 2

Service NFS

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 privilges de son statut en lui assignant l'ID d'utilisateur nfsnobody (personne). Ce faisant, le pouvoir du super-utilisateur distant est rduit au niveau d'utilisateur le plus bas, l'empchant d'apporter des modifications non autorises dans des fichiers sur le serveur distant. Sinon, l'option no_root_squash annule cette fonction de rduction des privilges 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 rponse du serveur

async : fichiers mis jour sur disque indpendamment de la rponse faite par le serveur (par dfaut) noaccess : permet d'exclure une partie de l'arborescence pour des clients donns Exemples : 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 rseau 192.168.0.0/255.255.255.0

/home/franck 192.168.0.0/255.255.255.0(ro,sync) Rpertoire en lecture-criture pour la machine 192.168.0.2. Toutes les requtes qui seront envoyes au serveur seront associes l'utilisateur et au groupe anonyme grce la directive all_squash.

/nfs/export 192.168.0.2(rw,sync,all_squash)

2.2 La commande exportfs


Chaque fichier export vers les utilisateurs distants via NFS ainsi que les droits d'accs lis ces systmes de fichiers sont numrs dans le fichier /etc/exports. Lorsque le service
SALIM 3

Chapitre 2

Service NFS

nfs dmarre, la commande /usr/sbin/exportfs se lance et lit ce fichier, passe le contrle rpc.mountd pour le processus de montage proprement dit et ensuite rpc.nfsd o les systmes de fichiers sont alors disponibles pour les utilisateurs distants. Lorsqu'elle est excute manuellement, la commande /usr/sbin/exportfs permet au super-utilisateur d'exporter ou de dsexporter slectivement des rpertoires sans redmarrer le service NFS. Avec les options appropries, la commande /usr/sbin/exportfs crit les systmes de fichiers exports dans /var/lib/nfs/xtab OU dans /var/lib/nfs/etab. Puisque rpc.mountd se rfre au fichier xtab lorsqu'il dcide des privilges d'accs un systme de fichiers, les changements apports la liste des systmes de fichiers exports prennent effet immdiatement. Ci-dessous figure une liste des options couramment utilises pour /usr/sbin/exportfs : -r provoque la relecture du fichier /etc/exports. Cette option actualise en fait la liste d'exportation avec tous les changements apports /etc/exports.

-a fait en sorte que tous les rpertoires soient exports ou non, selon les autres options passes exportfs.

-o options permet l'utilisateur de spcifier les rpertoires devant tre exports qui ne sont pas inclus dans la liste de /etc/exports. Ces systmes de fichiers partags supplmentaires doivent tre crits de la mme faon qu'ils sont spcifis dans /etc/exports. Cette option est utilise pour tester un systme de fichiers avant de l'ajouter de faon permanente la liste des systmes de fichiers exporter.

-i indique exportfs d'ignorer /etc/exports ; seules les options donnes depuis la ligne de commande sont utilises pour dfinir les systmes de fichiers exports.

-u annule l'exportation de rpertoires pouvant tre monts par des utilisateurs distants. La commande exportfs -ua suspend le partage de fichiers NFS tout en conservant les divers dmons NFS en marche. Pour permettre au partage de fichiers NFS de se poursuivre, entrez exportfs -r.

-v opration prolixe, o les systmes de fichiers exports et non exports sont affichs de faon plus dtaille lorsque la commande exportfs est excute.

Si aucune option n'est passe la commande exportfs, une liste de systmes de fichiers actuellement exports s'affiche.

SALIM

Chapitre 2

Service NFS

RRExemple : 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 : Dsactive le partage /: # exportfs -u "192.168.0.42:/" Dsactive 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.*

2.4 Les dmons NFS Dmon Portmap Ct serveur Ncssaire Oui Utilit Traduit un n de programme RPC en port Rpc.mountd Rpc.nfsd serveur serveur Oui Oui Initie le montage ct serveur Gre les requtes daccs aux fichiers

2.6 La commande showmount Affiche les ressources disponibles dun serveur ainsi que les montages dj effectus Syntaxe : Showmount [option ] [host] Exemple : # showmount e ibnourochd export list for inourochd

SALIM

Chapitre 2

Service NFS

/usr/local/pub ibnsina.inpt.ac.ma /home *

Options de showmount : showmount -a machine : Affiche la fois le nom du client et le rpertoire mont sous la forme machine:rpertoire. showmount -d machine : Affiche seulement les rpertoires monts par un client. showmount -e machine : Affiche la liste des rpertoires exports par le serveur NFS. showmount -h : Fournit un court rsum de l'aide. showmount -v : Renvoie le numro de version du programme.

3 La configuration dun client NFS


Le montage sur le client dun rpertoire distant du serveur peut se faire : A la vole (manuellement par la commande mount) Au dmarrage (par le systme via le fichier /etc/fstab) Automatiquement (au besoin). 3.1 Montage manuel de systme de fichie Les partages NFS sont monts ct 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 spares par des virgules pour le systme de fichiers NFS. Remplacez <host> par l'hte distant, </remote/export> par le rpertoire distant monter et remplacez </local/directory> par le rpertoire local o le systme de fichiers distant devra tre mont. Si vous accdez un partage NFS en excutant manuellement la commande mount, le systme de fichiers doit tre remont manuellement une fois le systme redmarr. Exemple :
SALIM 6

Chapitre 2

Service NFS

# mount

-t nfs

ns1:/usr/local/man

/doc

En fin d'utilisation, le client dmonte 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 "dmonte" un systme de fichier. Le systme tient jour une table des volumes monts. Liste des dossiers monts La commande mount sans paramtres, donne la liste des volumes monts. La commande consulte la table maintenue jour dans le fichier mtab. Attention: L'accs la commande "mount" est, par dfaut, autoris juste pour root. Il faut rajouter l'option "user" dans le fichier /etc/fstab, afin qu'un utilisateur puisse accder cette commande. Exemple: Devient /dev/cdrom /dev/cdrom /mnt/cdrom /mnt/cdrom iso9660 iso9660 noauto,ro user,noauto,ro

La prise en compte des modifications est dynamique. 3.2 Montage au dmarrage du systme Le fichier /etc/fstab Au dmarrage du systme, les volumes dclars dans le fichier /etc/fstab sont monts. Ce fichier est utilis par les dmons mount, umount, fsck.. Voici un extrait de ce fichier: # more /etc/fstab /dev/hda1 /dev/hda2 /dev/fd0 /dev/cdrom ns1:/usr/local/man / swap /mnt/floppy /mnt/cdrom /doc ext2 swap ext2 defaults defaults noauto 11 00 00 00

iso9660 user,noauto,ro

nfs rsize=8192,wsize=8192,timeo=14,intr

SALIM

Chapitre 2

Service NFS

La dernire 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 systmes de fichiers Description du fichier /etc/fstab Champs Champ N 1 Champ N 2 Champ N 3 Champ N 4 Champ N 5 Champ N 6 Les options Options defaults auto noauto user nouser rw ro atime noatime exec noexec setuid nosuid async sync
SALIM

description systme de fichier mont point de montage type du systme de fichier option de montage indique les systmes de fichiers sauvegarder (0 pas de sauvegarde)

ordre de vrification des systmes de fichier au dmarrage

Description Correspond a rw,suid,dev,exec,auto,nouser et async Montage automatique lors d'un appel mount -a Pas de montage automatique Autorise l'utilisateur courant monter/dmonter le systme de fichier Seul le compte root peut monter/dmonter le systme de fichier Montage en lecture/criture Montage en lecture seule Met a jour la date chaque manipulation Pas de mise jour de la date Autorise l'excution des programmes Pas d'xecution Les bits SUID et SGID sont pris en compte Ne sont pas pris en compte Montage asynchrone Montage synchrone
8

Chapitre 2

Service NFS

peuvent acclrer les communications NFS en lecture (rsize) et criture (wsize) en paramtrant une taille de bloc de donnes plus grande, en octets,
rsize=8192 et wsize=8192

devant tre transfr en mme temps. Soyez prudent lorsque vous modifiez ces valeurs ; certains noyaux Linux plus anciens et cartes rseaux pourraient ne pas fonctionner correctement avec des tailles de bloc plus grandes. permet aux demandes NFS d'tre annules si le serveur est en panne ou ne

intr

peut tre joint. indique le nombre de secondes devant s'couler avant que l'erreur ne soit
timeo

rapporte.

SALIM

You might also like