Contenu | Rechercher | Menus

Ceci est une ancienne révision du document !



à revoir (versions oboslètes + mise en forme)

NFS : Network File System - le partage réseau sous Linux

Nouvelle page ici: disque_reseau

Mise en oeuvre d'un cas concrèt de partage familial entre trois ordinateurs

Introduction

NFS est l'abréviation de Network File System, c'est-à-dire un système de fichiers utilisable sur un réseau.

NFS est utilisé pour partager des données entre systèmes UNIX. Pour le partage avec d'autres systèmes, se référer à la page traitant des partages de dossiers, de connexion et d'imprimante.

Cette documentation fait la distinction entre :

  • Le partage simple, c'est a dire le partage des données sur un réseau local en utilisant autant que possible le mode graphique de Ubuntu.
  • Le partage en ligne de commande, centré sur la part technique, par exemple pour monter un serveur de fichier destiné à fournir des données pour un réseau d'entreprise.
  • Et le partage en utilisant webmin qui propose une méthode utilisable à distance.

Pour ces opérations, il vous faudra connaître l'adresse IP des postes respectifs. On peut la trouver sous Système → Administration → Réseau → Propriétés ou en ligne de commande en tapant ifconfig.

Partage simple

Le partage en utilisant l'interface graphique fournie avec Ubuntu est divisé en deux partie : * coté serveur ce qu'il faut faire sous ubuntu pour partager des données selon le protocole NFS. * Côté client ce qu'il faut faire pour accéder a des données partagés en NFS avec ubuntu.

Côté serveur

Option de partage du dossier

sur Ubuntu 9.04 ce partage via le dossier ne concerne que samba avec nautilus-share. Paragraphe à déplacer dans "partage par Samba"

À partir de la version Hardy d'Ubuntu, un clic droit sur le dossier permet d'accéder à un menu Options de partage.

Dans ce menu il suffit de cocher Partager ce dossier pour activer le partage.

Ce système de partage se base sur les nom et mot de passe des utilisateurs locaux, donc

  • le nom et mot de passe de l'utilisateur créateur du partage permettent un accès complet
  • le nom des autres utilisateurs donne un accès restreint, en lecture seule ou avec l'écriture si on sélectionne la case correspondante
  • pour les autres on choisit ou non d'activer l'accès d'évaluation.

Dossier partagé

Avant Hardy la procédure graphique passe par le menu dédié Dossiers partagés qui correspond à la commande shares-admin.

On doit y renseigner le fichier à partager, le protocole à utiliser, et les droits d'accès qu'on lui accorde :

  • Ouvrir Système → Administration → Dossiers partagés ou dans Réglage du système → Partage. (Ce menu nécessite un mot de passe car il s'agit d'une tache d'administration.)

À partir de Hardy Heron, Ubuntu 8.04 : L'interface graphique ne se trouve plus par défaut dans le menu Système → Administration, mais reste accessible soit par ALT+F2 soit par un terminal, en saisissant la commande shares-admin. Sinon utilisez webmin (cf "Partage en utilisant webmin").

Si vous ouvrez le gestionnaire de partage pour la première fois (ou si vous n'avez pas installé le serveur NFS manuellement), Ubuntu vous indique qu'il est nécessaire d'installer les paquets de serveur pour continuer. Si les paquets ne sont pas installés, faites-le en cochant les cases appropriées et cliquez sur Appliquer. Pour le faire manuellement : installez les paquets nfs-common,nfs-kernel-server apt://nfs-common apt://nfs-kernel-server

Dans le gestionnaire de partage se trouvent 3 boutons à droite pour gérer les partages : Ajouter qui permet de créer un nouveau partage ; Propriétés qui permet de modifier les paramètres du partage sélectionné ; et Supprimer qui permet de supprimer le partage sélectionné.

  • Cliquer sur Ajouter pour ajouter un partage et choisir le dossier a partager

Comme dans toute syntaxe *nix, certains caractères dans les noms de fichiers sont interdits, ce sont par exemple le /, les parenthèses (), l'espace ou *. Vous ne devez donc pas utiliser d'espaces dans le nom de vos dossiers (/home/moi/Mon Dossier) mais plutôt /home/moi/MonDossier

  • Cliquer sur NFS (pour sélectionner un mode de partage).

Le partage NFS est sécurisé par les autorisations d'accès que l'on accorde. Par défaut il n'y en a pas, il faut donc les ajouter.

C'est l'encart en bas de la fenêtre qui répertorie les hôtes autorisés à accéder à ce dossier.

  • Cliquez sur Ajouter hôte et ajouter les autorisations que vous souhaitez lui accorder.

Dans la nouvelle fenêtre qui vient de s'ouvrir, vous pouvez choisir d'autoriser une adresse IP (Par exemple l'adresse IP 192.168.0.100) où tout le réseau local en utilisant le bouton "Saisissez le nom du réseau" (l'adresse la plus courante pour ce faire et 192.168.0.0 avec le masque de sous réseau 255.255.255.0)

Après avoir validé trois fois, (pour enregistrer cet hôte, pour sauvegarder les paramètres de partage, et pour activer les dossiers partagés) les dossiers sélectionnés sont partagés avec les permissions que vous leur avez octroyées.

Dans certain cas il peut être nécessaire de redémarrer l'ordinateur pour que le partage soit actif.

Cas particulier et problème

* Si vous avez mis en place un pare-feu, il est important qu'il soit configuré pour laisser passer les communication NFS. Voir plus bas la section "Configuration du Pare-feu" pour plus de détails.

* Si le serveur répond : permission denied , il est possible qu'il faille éditer le fichier /etc/exports sur le pc serveur,

/home/ols/Shared_Linux  192.168.0.100(rw)

en :

/home/ols/Shared_Linux  192.168.0.100/255.255.255.0(rw)

et ensuite redémarrer le service NFS :

sudo /etc/init.d/nfs-kernel-server restart

Côté client

Pour se connecter à un partage NFS :

  • Le poste client doit avoir le paquet nfs-common () pour pouvoir accéder au dossier partagé.
  • Et il faut définir un point de montage pour qu'il puisse le présenter a l'utilisateur.

A Savoir, il n'est actuellement pas possible de partager des ressources sur une partition NTFS via NFS… (sauf si le serveur comportant ce NTFS est windows)

Voici un méthode pour créer un point de montage :

  • Ouvrez un terminal
  • Créez un dossier où le dossier partagé va être monté (dans mon cas) :
sudo mkdir /media/nfs

N'hésitez pas à donner un nom plus parlant, surtout si vous avez plusieurs partages NFS.

Mais n'oubliez surtout pas de changer aussi la suite en conséquence !

  • Ouvrez le fichier /etc/fstab
  • Ajoutez une ligne comme celle-ci à la fin du fichier (dans mon cas) :
192.168.0.101:/home/ols/Shared_Linux	/media/nfs	nfs	user,noauto	0	0

Pour connaître l'adresse IP du serveur, vous pouvez scruter les ordinateurs du réseau :

 arp -a

Explications: Les deux premiers champs sont à adapter en fonction de vos réglages. La première partie (192.168.0.101:/…./Shared_Linux) indique l'adresse IP du serveur suivie du dossier partagé. La seconde partie (/media/nfs) indique le point de montage que vous venez de créer plus haut.

la suite: est commune à toutes les configurations.

Vous pouvez tout de même enlever noauto dans la partie user pour que le dossier partagé soit monté automatiquement au démarrage.

  • Sauvegardez le fichier.
  • Allez maintenant dans le poste de travail (si vous n'avez pas enlevé ,noauto), dans le menu Raccourcis ⇒ Poste de travail.
  • Vous y trouverez une icône nfs (ou autre suivant le point de montage que vous avez défini). Double-cliquez sur cet icône pour accéder au répertoire partagé sur l'autre machine.
  • Si le répertoire partagé n'apparaît pas, lancer la commande suivante dans un terminal:
sudo mount -a

Partage en ligne de commande

Le partage de dossier sur un serveur de fichier avec NFS, tel que décrit ici, se fait en utilisant la ligne de commande et en se préoccupant des problèmes de droit d'accès.

Côté serveur

Installation

Avant toutes choses, il est nécessaire d'installer le paquet nfs-kernel-server:

sudo apt-get install nfs-kernel-server

Configuration

Ensuite, nous allons définir les dossiers à partager. Toutes les informations concernant le partage de dossier pour NFS se trouvent dans le fichier /etc/exports.

Éditez le fichier /etc/exports

Dans ce fichier, chaque ligne est définie comme ceci :

 <dossier partagé> <hôte>(<options>) <hôte2>(<options>)...

Les informations se trouvant sur une ligne sont les suivantes :

  • <dossier partagé> : chemin menant au dossier partagé.
  • <hôte> : indique quel est l'hôte qui peut accéder à ce partage, l'hôte peut être définit de plusieurs manières :
    • une IP : on indique simplement l'adresse IP de la machine pouvant accéder à ce partage.
    • un nom d'hôte : on indique le nom complet de l'hôte (pour peu qu'il soit connu du système au travers d'un DNS ou du fichier hosts).
    • un nom de groupe réseau NIS (NIS netgroup) qui s'indique sous la forme @<netgroup>.
    • un domaine avec un joker qui indique les machines d'un domaine ou sous-domaine; par exemple : *.ubuntu-fr.org.
    • un intervalle d'IP avec le masque de sous-réseau; par exemple : 192.168.0.0/24 ou 192.168.0.*
  • <options> : indique les options de partage; nous n'allons pas parcourir toutes les options ensemble mais uniquement les plus importantes.
    • rw : permet la lecture et l'écriture sur un partage pour l'hôte défini (par défaut, les partages sont en mode ro; c'est-à-dire en lecture seule).
    • async : permet au serveur NFS de violer le protocole NFS et de répondre au requête avant que les changements effectués par la requête aient été appliqués sur l'unité de stockage. Cette option améliore les performances mais a un coût au niveau de l'intégrité des données (données corrompues ou perdues) en cas de redémarrage non-propre (par exemple en cas de crash système).
    • sync : est le contraire de async. Le serveur NFS respecte le protocole NFS.
    • root_squash : force le mapping de l'utilisateur root vers l'utilisateur anonyme (option par défaut).
    • no_root_squash : n'effectue pas de mapping pour l'utilisateur root.
    • all_squash : force le mapping de tous les utilisateurs vers l'utilisateur anonyme.
    • anonuid : indique au serveur NFS l'UID de l'utilisateur anonyme (considéré comme tel dans les précédentes options de mapping).
    • anongid : indique au serveur NFS le GID de l'utilisateur anonyme (considéré comme tel dans les précédentes options de mapping).

Voyons quelques exemples…

Nous souhaitons exporter un répertoire /srv/archive pour le réseau local (192.168.0.0/24) en lecture seule, en optimisant les performances (sur un répertoire en lecture seule, on peut se le permettre). Nous indiquons la ligne suivante dans le fichier /etc/exports :

/srv/archive 192.168.0.0/24(ro,async)

Nous souhaitons exporter un répertoire /srv/temp_add pour un hôte particulier (lab05.ubuntu-fr.org) en lecture/écriture et tous les utilisateurs sont considérés comme l'utilisateur nfsshare (UID : 5000, GID : 5000). L'hôte lab02.ubuntu-fr.org peut également y accéder mais seulement en lecture seule. Nous indiquons la ligne suivante dans le fichier /etc/exports :

/srv/temp_add lab05.ubuntu-fr.org(rw,all_squash,anonuid=5000,anongid=5000,sync) lab02.ubuntu-fr.org(ro,sync)

Vous obtiendrez tous les détails concernant les options NFS dans les manpages (man exports).

Remarquez que, si vous n'utilisez pas all_squash, l'UID de l'utilisateur de la machine cliente sera utilisé sur la machine serveur. Ce qui signifie que, soit vous avez des fichiers /etc/passwd et /etc/group identiques (ce qui est encore possible dans un petit parc informatique), soit vous utilisez un serveur d'identité comme NIS afin d'avoir les mêmes UID/GID partout.

Mise en route

Ouvrez un terminal,

Il ne vous reste plus qu'à démarrer votre nouveau serveur de fichier avec la commande :

sudo /etc/init.d/nfs-kernel-server start

Lorsque vous modifiez le fichier de configuration, n'oubliez pas d'entrer la commande suivante pour le recharger :

sudo /etc/init.d/nfs-kernel-server reload

Pour redémarrer le serveur NFS complètement, vous devez utiliser cette commande:

sudo /etc/init.d/nfs-kernel-server restart

Considérations sécuritaires

NFS n'est pas réputé pour être totalement sécurisé. Il est conseillé d'éviter de partager des informations avec NFS au travers de l'Internet. Pour sécuriser les accès, vous avez le choix entre plusieurs possibilités :

  • Accès uniquement sur le réseau local
    • Une première méthode consiste à modifier vos fichier /etc/hosts.deny et /etc/hosts.allow. Cette méthode simple est expliquée dans les manpages (man hosts_access).
    • Une seconde méthode (ma favorite) consiste à configurer un firewall avec iptables pour éviter les accès non-autorisés. Je préfère cette solution car elle permet de traiter tous les services et accès (y compris ping, suivi de connexions, etc.). Les ports utilisés par NFS sont le 111 et le 2049 (en udp et tcp).
  • Accès externes
    • Le mieux est d'utiliser un tunnel VPN, crypté et sécurisé, qui fera de votre machine distante une machine de votre réseau local.

Côté client

Il faut commencer par installer le paquet nfs-common :

sudo apt-get install nfs-common

Pour les connexions clientes sur des machines de bureau, vous pouvez utiliser la méthode décrite dans la section précédente.

Si vous devez effectuer des liens NFS entre différents serveurs, voici quelques précisions concernant les montages NFS.

Pour monter un partage NFS, vous avez besoin d'un répertoire vide qui servira de point de montage. En général (et de préférence), les points de montage se trouvent dans /media, mais ces points de montage peuvent se trouver n'importe où dans votre arborescence root (/).

Pour monter un système de fichier NFS manuellement, vous utiliserez la commande suivante :

sudo mount -t nfs <ip_serveur>:<rep_serveur> <point_montage_local>

Ce qui donne par exemple :

sudo mount -t nfs 192.168.0.40:/home/brol /media/nfs

Certaines options peuvent être passées à la commande mount lors du montage. Les options les plus intéressantes sont les suivantes :

  • ro : monte le système de fichier en lecture seule.
  • rw : monte le système de fichier en lecture/écriture.
  • hard : si le serveur n'est pas accessible, le noyau place les processus en attente de la ressource en attente.
  • soft : si le serveur est inaccessible, on attend le timeout avant de générer une erreur de lecture/écriture aux processus impactés.
  • timeo=XXX : indique le timeout (en mode soft) en secondes (maximum = 60sec).

Ces options se passent via l'argument -o de la commande mount; par exemple :

sudo mount -t nfs -o ro,soft,timeo=10 192.168.0.40:/home/brol /media/nfs

Pour démonter le système de fichier, vous pouvez utilisez la commande suivante :

sudo umount <point_montage_local>

Pour monter le serveur de fichier au démarrage de la machine, vous pouvez ajouter une ligne ressemblant à celle-ci dans le fichier /etc/fstab :

<ip_serveur>:<rep_serveur> <point_montage_local> nfs <options> 0 0

Par exemple :

192.168.0.40:/home/brol	/media/nfs	nfs	ro	0	0

Erreurs

Le message classique en cas d'erreur au moment du mount du coté client est

mount RPC : le programme n'est pas enregistré

Cela ne signifie pas qu'il y a une erreur du coté client. Cela peut-être dû (coté serveur) à une mauvaise définition du client autorisé à se connecter comme défini dans le fichier /etc/exports. Vérifier que l'hôte-client est correctement identifié. En cas de doute remplacer le nom d'un client par son Ip.
Cela peut-être (toujours du coté serveur) dû à une restriction sur les hôtes-clients dans /etc/hosts.deny (qui indique quel programme doit refuser quel hote) qui n'est pas contrebalancée par une permission dans /etc/hosts.allow (qui indique quel client à néanmoins le droit d'outrepasser les interdictions du hosts.deny)
Pour plus de lisibilité utiliser de manière préférentielle les Ip de vos clients. Soit une par une (petit nombre) ou à l'aide du couple Adresse/Masque (grand nombre)

Un exemple de configuration des fichiers hosts.allow et hosts.deny est donnée ici :

SUR LE SERVEUR SEULEMENT
il faut ajouter les lignes suivantes (minimum vital):

Fichier hosts.deny
#Interdire tout le monde sur les services portmap, nfsd et mountd
portmap:ALL
nfsd:ALL
mountd:ALL

Fichier hosts.allow
#Accepter néanmoins les <machine-liste> sur les services portmap, nfsd et mountd
#Exemple de <machine> 192.168.0.50 , une seule machine.
#Autre exemple 192.168.0.0/255.255.255.0 , toutes les machines de 192.168.0.1 à 192.168.0.254
portmap:<machine_liste>
nfsd:<machine_liste>
mountd:<machine_liste>

Ensuite il ne reste plus qu'à recharger les configs pour le démon nfs :

sudo /etc/init.d/nfs-kernel-server reload
Autre erreur : Accés refusé.

Vérifiez que tous les services nécessaires sont démarrés (coté serveur) grâce à la commande

rpcinfo -p

Vous devez obtenir une liste qui comprend au moins un exemplaire de chacun de ces services :

tcp    111  portmapper
udp    942  status
udp    752  mountd
udp   2049  nfs
udp  32799  nlockmgr

Si ce n'est pas le cas, relancer le script de démarrage (start) de nfs comme expliqué plus haut.
Pour plus d'informations concernant les options de montage, vous pouvez consulter les manpages de NFS (man nfs).

Partage en utilisant webmin

- Simple, marche sur toutes les distributions et administrable à distance -

Côté serveur

Installez webmin (téléchargez le paquet debian sur http://www.webmin.com) et les paquets nfs-common nfs-kernel-server

  • Connectez vous sur webmin (ex : https://127.0.0.1:10000 ).
  • Allez dans "Un-used Modules", "NFS Exports" et "Add a new export".
  • Pour la version 1.430 de webmin (Août 2008), il faut aller dans "Networking" au lieu de "Un-used Modules".
  • Renseignez "Directory to export", si besoin cocher "Read-only?" "No".
  • Cliquer sur "Save" puis "Apply changes"

Côté client

Installez nfs-common, et voir la partie "Partage Simple" → "Côté client" ou, mieux, "Autofs" (ci-après).

Attention cependant, par défaut Webmin monte le partage sur le serveur dans /export.

Ainsi le partage de /home/dossier_mis_en_partage sera accessible par le client en tant que /export/dossier_mis_en_partage. Ignorer ceci entraîne la réponse suivante à un mount:

nath@nath-minix:~$ sudo mount -t nfs 192.168.0.1:/home/Multimedia /media/nfs
[sudo] password for nath: 
mount.nfs: access denied by server while mounting (null)
nath@nath-minix:~$ 

Autofs

Objectifs

Le montage manuel ou par fstab a plusieurs inconvénients. Le principal, c'est qu'il n'est pas toujours possible de rendre le montage automatique. Pourtant, si vous ne spécifiez pas "noauto" dans les options de montage dans /etc/fstab, il est sensé être automatique. Mais si lors du montage vous n'êtes pas encore connecté (en wifi par exemple), et bien le montage ne se fait pas, et il faut effectuer le montage manuellement. Et dans tous les cas, le démontage aussi. Un autre inconvénient, moins important, est que même si vous n'utilisez pas les dossiers montés, ils restent montés et consomment des ressources.

autofs permet de résoudre ces 2 problèmes.

Installation

Installez le paquet autofs

Configuration

Tout d'abord, supprimez (ou commentez) dans /etc/fstab les montages que vous voulez gérer par autofs (si vous en aviez écrit auparavant).

Ensuite, éditez /etc/auto.master, pour y ajouter la ligne :

/net    /etc/auto.nfs --ghost,--timeout=30

Quelques explications : le fichier auto.master peut contenir plusieurs lignes. Il est utile pour réaliser des montages automatiques sur des systèmes de fichier différents, par exemple nfs et sshfs.

/net est le répertoire où les montages seront effectués. Il me semble qu'il faut utiliser un répertoire dédié aux montages autofs, n'utilisez pas /home par exemple. Si le répertoire n'existe pas, autofs le créera.

L'option ghost permet de toujours afficher les dossiers, mêmes lorsqu'ils ne sont pas montés. 30 correspond au temps pour démonter automatiquement : ne mettez pas une valeur trop importante, parce que si l'ordinateur distant est éteint le démontage plante ; il faut donc attendre au moins 30 sec entre le dernier accès au partage nfs et l'extinction de l'ordinateur distant.

Créez alors un fichier /etc/auto.nfs :

mondossier    -fstype=nfs,rw,intr    192.168.0.1:/home/user/share

Le montage se fera alors dans /net/mondossier, et pointera vers la machine 192.168.0.1 sur le répertoire /home/user/share. Vous pouvez dans ce même fichier écrire plusieurs lignes pour chacun de vos points de montages.

NB : le début du chemin (ici /net) est donné dans auto.master, il ne doit pas être répété dans auto.nfs, qui ne contient que un répertoire relatif (ici 'mondossier/'

Il ne reste plus qu'à lancer le serveur :

sudo /etc/init.d/autofs start

et à double-cliquer sur /net/mondossier dans le navigateur pour les monter automatiquement.

Si vous faites un changement dans auto.master ou auto.fs :

sudo /etc/init.d/autofs reload

Serveur en DHCP

Dans ce cas, l'adresse IP du serveur peut être modifiée…

Il faut configurer le routeur qui assigne les adresses IP aux ordinateurs qui s'y connectent en lui donnant un bail DHCP permanent à l'ordinateur qui sert de serveur NFS.

Votre routeur vous demandera l'adresse MAC du serveur NFS : vous pouvez la trouver en exécutant cette commande sur le serveur :

 ifconfig

Relevez l'adresse inscrite après "HWaddr", c'est l'adresse MAC de la carte réseau du serveur. Une fois votre routeur configuré, relancez le serveur (ou débranchez / rebranchez le cable réseau).

Remarque : la freebox permet de le faire dans l'interface de gestion → routeur

Configuration du Pare-feu

Pour permettre aux clients de se connecter sur votre serveur, il va falloir ouvrir les ports nécessaires. NFS utilise le port 2049 (tcp, udp), portmap le port 111 (tcp, udp) et mount… Un port aléatoire, ce qui est extrêmement gênant. Il faut donc dans un premier temps fixer le port pour mount. Ceci se fait en éditant le fichier /etc/default/nfs-kernel-server :

sudo nano /etc/default/nfs-kernel-server

Ce fichier devrait ressembler à ceci :

# Number of servers to start up
RPCNFSDCOUNT=8

# Runtime priority of server (see nice(1))
RPCNFSDPRIORITY=0

# Options for rpc.mountd.
# If you have a port-based firewall, you might want to set up
# a fixed port here using the --port option. For more information, 
# see rpc.mountd(8) or http://wiki.debian.org/?SecuringNFS
RPCMOUNTDOPTS=

# Do you want to start the svcgssd daemon? It is only required for Kerberos
# exports. Valid alternatives are "yes" and "no"; the default is "no".
NEED_SVCGSSD=

# Options for rpc.svcgssd.
RPCSVCGSSDOPTS=

Modifiez les options de RPCMOUNTDOPTS en spécifiant un port, par exemple le port 4000 :

 RPCMOUNTDOPTS="-p 4000"

Les 6 ports à ouvrir sont donc 111, 2049 et 4000 (tcp et udp). Ouvrez Firestarter et configurez les connexions entrantes de l'onglet Politique. A ce stade on pourrait autoriser pour chaque port tout le monde par simplicité, mais il est possible d'être plus fin en autorisant seulement les hôtes nécessaires. On peut spécifier au choix une seule adresse IP (ou un nom d'hôte) ou une plage d'adresses. Ceci est particulièrement intéressant en cas d'adresses IP locales attribuées par DHCP (et donc dynamiques). Par exemple, si vos adresses sont de type 192.168.1.???, on mettra :

192.168.1.0/255.255.255.0

Les adresses IP allant de 192.168.1.0 à 192.168.1.255 seront autorisées.

Configuration d'un client Windows

Imaginons le cas où vous disposez d'un réseau de pc en grande partie GNU/Linux, et que vous voulez donner accès à des fichiers partagés via NFS à un pauvre petit ordi que vous auriez laissé tourner sous Windows ? Pas possible ? Si !

Pour cela, il va falloir suivre scrupuleusement l'astuce, en effet, même si microsoft fournit un outil permettant d'accéder ou de partager en NFS, cet outil est capricieux.

Pré-requis

  • Un PC sous Windows (2000 jusqu'à Vista)
  • Un réseau local sur lequel existent des partages NFS
  • Et le Windows Services for Unix

Obtention de Windows Services for Unix

Cela se fait directement sur le site de Microsoft : suivez le guide. Il ne faut pas avoir peur, le SFU fait 217 Mo, c'est parfaitement normal.

Pour Windows Vista, les Windows Services For Unix sont normalement intégrés, il faut les installer via le panneau de configuration → ajout/suppression de programmes → composants Windows.

Ceci fait, exécutez SFUxxxx_LN.exe (où xxxx représente sa version 3.5SEL à l'heure où j'écris ; et LN la langue choisie, pour notre cas EN fait l'affaire (jap ne vous intéressera pas je pense… ). L'exécutable est une archive auto-extractible, qui va donc vous demander où se décompresser, un emplacement facile d'accès comme le bureau sera le bienvenu.

Lors de l'extraction, SFU ne crée pas de sous dossier pour s'y décompresser, pensez donc à le décompresser dans un sous-dossier du bureau.

Une fois décompressé, lancez le setup.exe comme pour toute installation sur windows. Faites Next, et acceptez le EULA (CLUF en français). Choisissez custom, et gardez pour essentiels NFS (et toutes ses sous fonctionnalités) et Authentification Tools for NFS (idem). Le reste est à installer à votre guise.

Pour la suite de l'installation, faites next sans vous soucier de quoi que ce soit !

Pour Windows XP Home Édition, l'installation nécessite de corriger l'installeur en hexadécimal. Faites une sauvegarde du fichier SfuSetup.msi, puis ouvrez-le avec un éditeur hexadécimal. Cherchez la chaîne : "NOT (VersionNT = 501 AND MsiNTSuitePersonal)" et remplacez 501 par 510.

Configuration de Windows Services for Unix

Maintenant que c'est installé, il faut le configurer. Rien de bien compliqué, quand on sait ce qu'il faut faire.

Munissez-vous d'une copie des fichiers /etc/group et /etc/passwd d'un de vos postes GNU/linux, et transférez-les vers le disque dur de votre poste windows, peu importe l'emplacement, tant que vous puissiez les retrouver.

Pour l'exemple, nous les copions dans le répertoire d'installation de SFU, (par défaut : C:\SFU\ ).

Ceci fait, direction menu démarrer, programmes (ou tous les programmes selon la version), puis Windows Services for Unix et enfin Services for Unix Administration.

Le programme se lance. Une fenêtre scindée en 2 parties apparaît. (Nous ferons référence ainsi à la partie gauche quand nous dirons Gauche, et la partie droite quand nous dirons Droite).

A gauche, cliquez sur Services for Unix (Local), puis à droite sur "Settings". Dans l'invité de texte vérifiez que soit écrit localhost, puis cliquez sur Apply (en haut).

A gauche, cliquez sur User Name Mapping. A droite, préférez "Use Password and Group files", et renseignez les champs path pour les fichiers password et group.

Dans l'exemple, il s'agit des fichiers passwrd et group copiés sur le disque, donc nous renseignons ainsi : c:\SFU\passwd et c:\SFU\group .

Ceci fait, cliquez Apply puis Reload, et à droite toujours, cliquez sur Maps.

Le but est de faire correspondre un utilisateur windows à un utilisateur linux, avec plus ou moins de droits d'accès. Évitez de faire correspondre les comptes administrateurs de windows ou de linux avec d'autre comptes, ceci pour des raisons de sécurité, bien évidemment.

Cliquez sur Show User Maps. Puis successivement "list Windows User" et "list Unix Users". Si tout se passe bien, vous avez normalement les 2 listes, une correspondant à windows, l'autre à GNU/linux.

Choisissez votre nom d'utilisateur windows, et l'équivalent qui correspond le mieux pour linux (le compte d'un autre utilisateur par exemple), puis cliquez sur Add. Vous avez "mappé" un utilisateur et vous pouvez le vérifier dans Mapped Users juste en dessous. Chaque fois que vous ajoutez des utilisateurs, cliquez Apply.

Vous pouvez faire de même pour les Group (en cliquant sur show Group Maps), et une fois finis, n'oubliez pas : Apply.

Maintenant que c'est fait, vous pouvez parcourir votre réseau local à la recherche de points de montage NFS.

Utilisation de Windows Services for Unix

Les points de montage NFS sont reconnus pour des dossiers sur le réseaux, ils peuvent donc être associés à un lecteur réseau de la même manière que n'importe quel partage windows.

Pour les trouver, allez dans Favoris réseau → tout le réseau → NFS Network → Default LAN.

Vous trouverez ici les IP des postes linux connectés, mais aussi les noms de machines des postes Windows utilisant le service NFS.

Et maintenant, à vous de vous servir.

—-

Contributeurs : ostaquet, Fabien26, DarkHylian



Le contenu de ce wiki est sous licence : CC BY-SA v3.0