Service NFS

Service NFS

1. Introduction
NFS (Network File System) est un protocole créé par SUN vers 1980. Comme sont no...
Service NFS

2.1 L’arrêt/démarrage du serveur
Comme les autres services Linux, NFS se gère avec un script placé dans
/etc/...
Service NFS
Quelques options de partage :
rw : partage en lecture/écriture
ro : partage en lecture
root_squash : Cette opt...
Service NFS
nfs démarre, la commande /usr/sbin/exportfs se lance et lit ce fichier, passe le contrôle à
rpc.mountd pour le...
Service NFS
RRExemple :
• Partage l'ensemble de l'arborescence pour la machine d'ip 192.168.0.42:

# exportfs -o rw,async,...
Service NFS
/usr/local/pub ibnsina.inpt.ac.ma
/home

*

Options de showmount :
showmount -a machine : Affiche à la fois le...
Service NFS
# mount

-t nfs

ns1:/usr/local/man

/doc

En fin d'utilisation, le client démonte l'arborescence /tmp en util...
Service NFS
La dernière ligne indique que le volume /usr/local/man, situé sur le serveur "ns1", et qui
contient les pages ...
Service NFS
peuvent accélérer les communications NFS en lecture (rsize) et écriture
(wsize) en paramétrant une taille de b...
Prochain SlideShare
Chargement dans…5
×

service NFS sous linux

986 vues

Publié le

http://www.giantsnet.com/

Publié dans : Formation, Technologie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
986
Sur SlideShare
0
Issues des intégrations
0
Intégrations
154
Actions
Partages
0
Téléchargements
0
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

service NFS sous linux

  1. 1. Service NFS Service NFS 1. Introduction NFS (Network File System) est un protocole créé par SUN vers 1980. Comme sont nom l’indique, ce protocole est conçu pour permettre le partage de fichier entre système UNIX/LINUX. Il permet d'organiser les fichiers dans un emplacement central, tout en offrant la possibilité de laisser des utilisateurs autorisés y accéder. Grâce à NFS, les utilisateurs peuvent partager des fichiers sur un réseau avec une transparence totale. • 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 (mount). • 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 suffit pour cela d'inclure la description du montage sur une ligne du fichier /etc/fstab. • 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. 2. 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 (TCP Wrappers) pour déterminer si un hôte donné doit être autorisé ou refusé pour l'accès via NFS. 1
  2. 2. Service NFS 2.1 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 : # 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 start # /etc/rc.d/init.d/nfs 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 créer s'il n'existe pas. Ce fichier contient la liste des dossiers exportés ainsi que leurs options d'exportation. Leur déclaration se fait de la manière suivante : 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. Spécification des machines : * (l’ensemble des ordinateurs) *.ucan.ac.ma, jaber.ucam.ac.ma 193.201.109.0/255.255.255.0, 193.201.109.1 2
  3. 3. 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 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 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 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) 2.2 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 3
  4. 4. Service NFS 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. Ci-dessous figure une liste des options couramment utilisées 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 apportés à /etc/exports. • -a fait en sorte que tous les répertoires soient exportés ou non, selon les autres options passées à exportfs. • -o options permet à l'utilisateur de spécifier les répertoires devant être exportés qui ne sont pas inclus dans la liste de /etc/exports. Ces systèmes de fichiers partagés supplémentaires doivent être écrits de la même façon qu'ils sont spécifiés dans /etc/exports. Cette option est utilisée pour tester un système de fichiers avant de l'ajouter de façon permanente à la liste des systèmes de fichiers à exporter. • -i indique à exportfs d'ignorer /etc/exports ; seules les options données depuis la ligne de commande sont utilisées pour définir les systèmes de fichiers exportés. • -u annule l'exportation de répertoires pouvant être montés par des utilisateurs distants. La commande exportfs -ua suspend le partage de fichiers NFS tout en conservant les divers démons NFS en marche. Pour permettre au partage de fichiers NFS de se poursuivre, entrez exportfs -r. • -v opération prolixe, où les systèmes de fichiers exportés et non exportés sont affichés de façon plus détaillée lorsque la commande exportfs est exécutée. Si aucune option n'est passée à la commande exportfs, une liste de systèmes de fichiers actuellement exportés s'affiche. 4
  5. 5. 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 : 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.* 2.4 Les démons NFS Démon Côté Nécssaire Portmap serveur Oui Utilité 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 2.6 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 ibnourochd export list for inourochd 5
  6. 6. 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 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. 3 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). 3.1 Montage manuel de système de fichie 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é. Exemple : 6
  7. 7. Service NFS # 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. Liste des dossiers montés La commande mount sans paramètres, donne la liste des volumes montés. La commande consulte la table maintenue à jour dans le fichier mtab. Attention: L'accès à la commande "mount" est, par défaut, autorisé juste pour root. Il faut rajouter l'option "user" dans le fichier /etc/fstab, afin qu'un utilisateur puisse accéder à cette commande. Exemple: /dev/cdrom /mnt/cdrom iso9660 noauto,ro Devient /dev/cdrom /mnt/cdrom iso9660 user,noauto,ro La prise en compte des modifications est dynamique. 3.2 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 ns1:/usr/local/man /doc nfs rsize=8192,wsize=8192,timeo=14,intr 00 7
  8. 8. Service NFS 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 Champ N 6 ordre de vérification des systèmes de fichier au démarrage pas de sauvegarde) Les options Options Description defaults Correspond a rw,suid,dev,exec,auto,nouser et async auto Montage automatique lors d'un appel mount -a noauto Pas de montage automatique user Autorise l'utilisateur courant à monter/démonter le système de fichier nouser Seul le compte root peut monter/démonter le système de fichier rw Montage en lecture/écriture ro Montage en lecture seule atime Met a jour la date à chaque manipulation noatime Pas de mise à jour de la date exec Autorise l'exécution des programmes noexec Pas d'éxecution setuid Les bits SUID et SGID sont pris en compte nosuid Ne sont pas pris en compte async Montage asynchrone sync Montage synchrone 8
  9. 9. Service NFS peuvent accélérer les communications NFS en lecture (rsize) et écriture (wsize) en paramétrant une taille de bloc de données plus grande, en octets, rsize=8192 et devant être transféré en même temps. Soyez prudent lorsque vous modifiez wsize=8192 ces valeurs ; certains noyaux Linux plus anciens et cartes réseaux pourraient ne pas fonctionner correctement avec des tailles de bloc plus grandes. permet aux demandes NFS d'être annulées 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 rapportée. 9

×