logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
doc:reseau:nfs [20/04/2010 19:27]
smolski
doc:reseau:nfs [06/04/2019 19:36]
debianux [Introduction]
Ligne 1: Ligne 1:
 +====== NFS : partages réseaux sauce Linux ======
 +  * Objet : Utiliser les partages NFS
 +  * Niveau requis : {{tag>​avisé}}
 +  * Commentaires : //Partager des fichiers au sein d'un réseau Linux via les partages NFS.//
 +  * Suivi : 
 +    * Création par [[user>​smolski]] 11/1/2009
 +    * Testé par [[user>​bendia]] le 12/08/2015
 +  * Commentaires sur le forum : [[http://​debian-facile.org/​viewtopic.php?​id=2005|ici]]((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !))
  
 +===== Introduction =====
 +Ou comment partager des fichiers sous GNU/Linux
 +
 +__**Pré-requis:​**__ 2 ordinateurs (pour du partage c'est mieux) disposant chacun d'une interface réseau (pour faire du réseau ça simplifie les choses)
 +
 +__**Paquetage à installer:​**__ nfs-kernel-server,​ côté serveur et nfs-common, côté client
 +
 +__**Note:​**__ on considérera un serveur qui a pour ip 192.168.0.1,​ et un poste client qui a pour ip 192.168.0.15.
 +
 +===== Coté serveur =====
 +
 +Il est nécessaire d'​éditer 3 fichiers pour la configuration de notre serveur : /​etc/​exports,​ /​etc/​hosts.allow,​ /​etc/​host.deny
 +
 +==== /​etc/​exports ====
 +
 +C'est lui qui va permettre de définir quels sont les répertoires à partager et qui a quels droits dessus (on parle ici de clients et pas d'​utilisateurs)
 +
 +<code text /​etc/​exports>​
 +# Syntaxe : /​chemin/​de/​partage Client1(droits)[,​Client2(droits)[...]]
 +# Exemples :
 +# Partage du répertoire /home/user1 avec l'​hôte 192.168.0.15 et les droits de lectures seulement
 +/home/user1 192.168.0.15(ro,​sync)
 +
 +# Partage du répertoire /home/user2 avec l'​hôte 192.168.0.11 et les droits de lecture écriture et
 +#                                   avec l'​hôte 192.168.0.15 et les droits de lectures seulement
 +/home/user2 192.168.0.11(rw,​sync) 192.168.0.15(ro,​sync)
 +
 +# Partage du répertoire /home/user3 avec tous les membres du réseau 192.168.0.1/​24 en lecture simplement
 +/home/user3 192.168.0.1/​24(ro,​sync)
 +</​code>​
 +
 +Pour de plus amples informations sur la gestion des droits, je vous invite à consulter les pages du manuel : 
 +<code user>man 5 exports</​code>​
 +
 +=== Attention ! ===
 +
 +Si :
 +  - sur le serveur le répertoire partagé appartient à l'​utilisateur **1002**
 +  - et si vous donnez les droits d'​écriture à l'​hôte **192.168.0.11**,​
 +   ​l'​utilisateur de cet hôte qui aura le droit d'​écriture dans ce répertoire
 +   est celui dont le numéro, sur cet hôte, est 1002.
 +Si ce numéro ne correspond à aucun utilisateur sur l'​hôte :
 +   ​personne,​ pas même root, ne pourra écrire dans le dossier partagé à partir de cet hôte !
 +
 +==== /​etc/​hosts.allow ====
 +
 +Comme son nom l'​indique,​ ce fichier va permettre de définir quels postes clients auront accès aux partages (quels postes seront autorisés à la connexion et à l'​utilisation des services)
 +
 +<code text /​etc/​hosts.allow>​
 +# Syntaxe : service:​hote.domain.com,​ .domain.com
 +# Exemple basique (et un peu bourrin)
 +ALL:​192.168.0.1/​24
 +</​code>​
 +
 +Pour de plus amples informations sur la gestion des access, je vous invite à consulter les pages du manuel : 
 +<code user>man 5 hosts_acces</​code>​
 +
 +
 +==== /​etc/​hosts.deny ====
 +
 +Là aussi, comme son nom l'​indique,​ ce fichier va permettre de définir quels postes clients n'​auront pas accès aux partages (quels postes seront interdis à la connexion et à l'​utilisation des services)
 +
 +<code text /​etc/​hosts.deny>​
 +# Syntaxe : service:​hote.domain.com,​ .domain.com
 +# Exemple basique (et un peu bourrin)
 +ALL:​PARANOID
 +</​code>​
 +
 +Pour de plus amples informations sur la gestion des access, je vous invite, là encore, à consulter les pages du manuel : man 5 hosts_acces
 +
 +==== (Re)Démarrage ses services ====
 +
 +<code root>​service nfs-kernel-server restart</​code>​
 +
 +Et voilà qui termine la configuration du serveur.
 +
 +===== Coté client =====
 +
 +==== Montage manuel MOUNT ====
 +
 +Pour accéder aux fichiers partagés un simple mount suffit, on va donc monter le répertoire /home/user1 du serveur dans le répertoire /mnt/user1 du client :
 +
 +<code root>​mount -t nfs 192.168.0.1:/​home/​user1 /​mnt/​user1</​code>​
 +<​note>​S'​il n'​existe pas, il faut créer le répertoire user1 :<code root>​mkdir -p /​mnt/​user1</​code></​note>​
 +==== Montage automatique FSTAB ====
 +
 +Il est également possible de monter automatiquement les répertoires partagés au démarrage de l'​ordinateur client. Pour ce faire on va rajouter une ligne dans le fichier /etc/fstab
 +
 +<code text /​etc/​fstab>​
 +# <file system> ​        <​mount point> ​  <​type> ​ <​options> ​ <​dump> ​ <​pass>​
 +192.168.0.1:/​home/​user1 /​mnt/​user1 ​     nfs     ​defaults ​  ​0 ​      0
 +</​code>​
 +
 +Pour pas redémarrer et avoir accès pour la première fois au dossier partagé on peut utiliser mount comme suit :
 +<code root>​mount -a</​code>​
 +
 +Et voila nous en avons terminé avec l'​utilisation de NFS pour le partage de fichiers
 +
 +==== Montage graphique : Rox-Filer ====
 +
 +=== Installation ====
 +
 +Regardez voir ici :\\ 
 +Logiciel [[:​doc:​environnements:​x11:​rox-filer|Rox-Filer]]
 +
 +=== Utilisation ====
 +
 +Un simple (ou double) click sur le répertoire **serveur** monté avec nfs donne l'​accès au contenu dans une fenêtre !
 +
 +Avec **rox-filer**,​ la fermeture de la fenêtre proposera le démontage du point.
 +
 +Voir le protocole avec les autres gestionnaires de fichiers (en général //​click-droit//​)
 +
 +==== Montage par une commande ad-hoc au menu =====
 +
 +Voici un complément permettant le montage par l'​utilisateur si celui-ci n'a pas eu lieu pendant le démarage du client. Toutes les manipulations suivantes sont à faire sur le client.
 +
 +Tout d'​abord,​ modifier /etc/fstab pour autoriser le montage par les utilisateurs :
 +
 +<code text /​etc/​fstab>​
 +# <file system> ​        <​mount point> ​  <​type> ​ <​options> ​ <​dump> ​ <​pass>​
 +192.168.0.1:/​home/​user1 /​mnt/​user1 ​     nfs     ​rw,​users ​  ​0 ​      0
 +</​code>​
 +
 +Il est alors possible de monter le partage par la commande suivante en mode "​utilisateur"​ :
 +
 +<code user>​mount /​mnt/​user1</​code>​
 +    ​
 +Pour ajouter une entrée au menu, créez ce script sous /​usr/​local/​bin/​partage.sh
 +
 +<code bash /​usr/​local/​bin/​partage.sh>​
 +#! /​bin/​sh ​
 +mount /​mnt/​user1</​code>​
 +    ​
 +Et rendez-le exécutable. Créez ce fichier desktop sous /​usr/​share/​applications/​partage.desktop
 +
 +<code ini /​usr/​share/​applications/​partage.desktop>​
 +[Desktop Entry]
 +Categories=Network;​
 +Exec=/​usr/​local/​bin/​partage.sh
 +GenericName=Network Manager
 +Icon=preferences-system-network
 +Icon[en_US]=preferences-system-network
 +Name=Activer le partage NFS
 +Comment=Activer le partage de répertoire NFS
 +Terminal=false
 +Type=Application
 +Version=1.0</​code>​
 +
 +La commande devrait apparaître dans le menu et le partage exécutable par l'​utilisateur
 +
 +===== autofs =====
 +
 +<note warning>​Outil rendu obsolète depuis wheezy</​note>​
 +
 +Autofs permet un montage et un démontage automatique des répertoires partagés en NFS.
 +
 +L'​avantage est qu'au démarrage du PC, si la connexion au réseau local n'est pas établie, il n'y aura pas d'​erreur car automatiquement le répertoire utilisé ne sera pas monté.
 +
 +==== Préalable ====
 +
 +Il faut d'​abord que le partage soit opérationnel. :-)
 +
 +==== Installation ====
 +
 +<code root>​apt-get install autofs</​code>​
 +
 +==== auto.master ====
 +
 +Par souci de sécurité, sauvegarder votre fichier
 +
 +<code root>cp /​etc/​auto.master /​etc/​auto.master.old</​code>​
 +
 +Puis, éditer, en Root(([[:​doc:​systeme:​su]])) , le fichier //​auto.master//​ et ajouter la dernière ligne comme ici :
 +
 +<code text /​etc/​auto.master>​
 +# $Id: auto.master,​v 1.4 2005/01/04 14:36:54 raven Exp $
 +#
 +# Sample auto.master file
 +# This is an automounter map and it has the following format
 +# key [ -mount-options-separated-by-comma ] location
 +# For details of the format look at autofs(5).
 +#/​misc /​etc/​auto.misc --timeout=60
 +#/​smb /​etc/​auto.smb
 +#/​misc /​etc/​auto.misc
 +#/​net /​etc/​auto.net
 +/​emplacement/​du_point_de_montage_local /​etc/​auto.nfs --timeout=30</​code>​
 +
 +==== Création du fichier auto.nfs ====
 +
 +<note warning>​Outil rendu obsolète depuis wheezy</​note>​
 +
 +Créer(([[:​doc:​editeurs:​nano]])) le fichier ///​etc/​auto.nfs//​ et ajouter ceci
 +
 +    repertoire_de_montage -fstype=nfs hote:/​repertoire/​distant
 +    ​
 +en remplaçant //hote// par l'​adresse ip ou le nom d'​hôte du serveur.
 +
 +Le répertoire //​repertoire_de_montage//​ sera automatiquement créé dans ///​emplacement/​du_point_de_montage_local//​
 +
 +Par exemple, on peut envisager une ligne de auto.master comme celle-là : 
 +
 +    /home/user /​etc/​auto.nfs --timeout=30
 +    ​
 +et un auto.nfs comme celui-ci : 
 +
 +    serveur -fstype=nfs hote:/​repertoire/​distant
 +    ​
 +Votre répertoire distant apparaîtra alors dans le dossier //serveur// de votre répertoire personnel. 8-)
doc/reseau/nfs.txt · Dernière modification: 06/04/2019 19:36 par debianux

Pied de page des forums

Propulsé par FluxBB