1 NFS (NETWORK FILE SYSTEM) Abdellah EZZATI FST SETTAT 2 Plan: Introduction P
1 NFS (NETWORK FILE SYSTEM) Abdellah EZZATI FST SETTAT 2 Plan: Introduction Principe de NFS Fonctionnement de NfS La configuration coté server La configuration coté client Abdellah EZZATI FST SETTAT 3 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 4 PRINCIPE DE NFS 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 PRINCIPE DE NFS : 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. FONCTIONNEMENT DE NFS Abdellah EZZATI FST SETTAT 6 7 LA CONFIGURATION D’UN SERVEUR NFS 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 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 : # /etc/rc.d/init.d/nfs start # /etc/rc.d/init.d/nfs stop Ou bien : 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 10 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 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 12 Partage de home en lecture seule pour la machine 192.168.0.2 et 192.168.0.3. Exemple : /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 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. La commande exportfs 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 17 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 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 19 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 20 Exemple : # mount -t nfs ns1:/usr/local/man /doc # umount /doc En fin d'utilisation, le client démonte l'arborescence /tmp en utilisant la commande umount : 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. Le fichier /etc/mtab : Abdellah EZZATI FST SETTAT 21 Montage au démarrage du système 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: Le fichier /etc/fstab # more /etc/fstab /dev/hda1 / ext2 defaults 11 /dev/hda2 swap swap defaults 0 0 /dev/fd0 /mnt/floppy ext2 noauto 0 0 /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 22 uploads/Industriel/ nfs-network-file-system-1-abdellah-ezzati-fst-settat.pdf
Documents similaires










-
26
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Jul 18, 2021
- Catégorie Industry / Industr...
- Langue French
- Taille du fichier 1.0991MB