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 →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
doc:reseau:nfs [11/11/2009 08:50] smolski |
doc:reseau:nfs [14/11/2012 14:59] 127.0.0.1 modification externe |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== NFS : Ou comment partager des fichiers sous GNU/Linux ====== | ||
+ | __**Distribution utilisée:**__ Debian Etch 4.0r1, Debian Lenny | ||
+ | |||
+ | __**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-common nfs-kernel-server | ||
+ | |||
+ | __**Note:**__ On utilisera simplement les version NFSv2 et NFSv3 pour le moment, 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) | ||
+ | |||
+ | # 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) | ||
+ | |||
+ | Pour de plus amples informations sur la gestion des droits, je vous invite à consulter les pages du manuel : man 5 exports | ||
+ | |||
+ | === 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) | ||
+ | |||
+ | # Syntaxe : service:hote.domain.com, .domain.com | ||
+ | # Exemple basique (et un peu bourrin) | ||
+ | ALL:192.168.0.1/24 | ||
+ | |||
+ | Pour de plus amples informations sur la gestion des access, je vous invite à consulter les pages du manuel : man 5 hosts_acces | ||
+ | |||
+ | |||
+ | ==== /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) | ||
+ | |||
+ | # Syntaxe : service:hote.domain.com, .domain.com | ||
+ | # Exemple basique (et un peu bourrin) | ||
+ | ALL:PARANOID | ||
+ | |||
+ | 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 ==== | ||
+ | |||
+ | # invoke-rc.d nfs-kernel-server restart | ||
+ | |||
+ | 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 : | ||
+ | |||
+ | # mount -t nfs 192.168.0.1:/home/user1 /mnt/user1 | ||
+ | |||
+ | ==== 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 | ||
+ | |||
+ | # fichier /etc/fstab | ||
+ | # <file system> <mount point> <type> <options> <dump> <pass> | ||
+ | 192.168.0.1:/home/user1 /mnt/user1 nfs defaults 0 0 | ||
+ | |||
+ | Pour pas redémarrer et avoir accès pour la première fois au dossier partagé on peut utiliser mount comme suit : | ||
+ | # mount -a | ||
+ | |||
+ | 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 [[logiciel: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 : | ||
+ | |||
+ | # fichier /etc/fstab | ||
+ | # <file system> <mount point> <type> <options> <dump> <pass> | ||
+ | 192.168.0.1:/home/user1 /mnt/user1 nfs rw,users 0 0 | ||
+ | |||
+ | Il est alors possible de monter le partage par la commande suivante en mode "utilisateur" : | ||
+ | |||
+ | mount /mnt/user1 | ||
+ | | ||
+ | Pour ajouter une entrée au menu, créez ce script sous /usr/local/bin/partage.sh | ||
+ | |||
+ | # fichier /etc/fstab | ||
+ | #! /bin/sh | ||
+ | mount /mnt/user1 | ||
+ | | ||
+ | Et rendez-le exécutable. Créez ce fichier desktop sous /usr/share/applications/partage.desktop | ||
+ | |||
+ | # fichier 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 | ||
+ | |||
+ | La commande devrait apparaître dans le menu et le partage exécutable par l'utilisateur |