Page suivante - Page précédente - Table des matières

9. Configurer votre machine Linux en client NCP

Si vous êtes un utilisateur d'un réseau hétérogène où les protocoles IP et IPX sont utilisés, il est probable que vous ayez à un moment ou à un autre, besoin d'accéder à partir de votre machine Linux, à des données stockées sur un serveur de fichier Novell de ce réseau. Novell a longtemps proposé un ensemble logiciel NFS pour leurs serveurs de fichiers qui permettaient cet accès. Cependant si le site auquel vous êtes connecté est petit, le nombre de personnes nécessitant cet type d'accès ne justifie peut-être pas l'achat de ces outils logiciels commerciaux.

Volker Lendecke <lendecke@namu01.gwdg.de> a écrit un module du système de fichiers du noyau Linux supportant un sous-ensemble limité du protocole Novell NCP qui permet de monter une partition Novell dans votre système de fichiers Linux sans avoir recours à quelque produit additionnel sur votre serveur de fichiers.

Volker a appelé cet ensemble ncpfs. Ce dernier a été réalisé à partir des informations tirées principalement du livre "Netzwerkprogrammierung in C" de Manfred Hill et Ralf Zessin (de plus amples informations sont données dans le fichier README contenu dans l'ensemble ncpfs).

Ce logiciel permet à Linux d'émuler une station de travail Novell normale pour ce qui concerne la partie fichiers. Un petit utilitaire d'impression est également inclus pour vous permettre d'imprimer dans les queues d'impression Novell (ceci est documenté plus loin dans la section client d'impression). Le paquetage ncpfs fonctionne avec les serveurs de fichier Novell version 3.x et supérieurs, il ne fonctionne pas avec les serveurs de fichier Novell version 2.x . Le client ncpfs ne fonctionne qu'avec les produits réellement compatibles Novell, mais malheureusement, certains produits qui se disent compatibles ne le sont pas suffisamment. Pour utiliser ncpfs avec Novell 4.x, il est préférable d'utiliser le serveur Novell en mode d'emulation de bindery. Le support de la NDS est un ajout très récent de ncpfs et est toujours en version bêta. De plus son utilisation peut être interdite dans votre pays en raison de l'inclusion de technologie soumise à brevet.

9.1 Comment récupérer ncpfs

L'ensemble ncpfs a été développé afin d'être compilé avec les noyaux de Linux version 1.2.13 ou plus récents que 1.3.71 (ce qui inclut 2.x.x). Si vous n'utilisez pas un de ces noyaux vous devrez vous en procurer et l'utiliser. Le Kernel-HOWTO décrit comment faire cela en détail.

Vous pouvez vous procurer l'ensemble ncpfs par ftp anonyme sur le site de Volker, ftp.gwdg.de, sur metalab.unc.edu ou sur un site miroir. La version à jour au moment où j'écris ces lignes est ncpfs-2.0.11.tgz ou ncpfs-2.2.0.tgz pour le support de la NDS.

9.2 Compiler ncpfs pour les noyaux 1.2.13

Compiler un noyau Linux avec les supports d'Ethernet et IPX

La première chose que vous ayez à faire est de vérifier que votre noyau a été compilé avec l'option IPX. Dans la version 1.2.13 du noyau, vous vous assurerez que la réponse à la question 'The IPX Protocol' est Y (yes) comme illustré :

 ...
 ...
 Assume subnets are local (CONFIG_INET_SNARL) [y]
 Disable NAGLE algorithm (normally enabled) (CONFIG_TCP_NAGLE_OFF) [n]
 The IPX protocol (CONFIG_IPX) [n] y
 *
 * SCSI support
 ...
 ...
Vous devez aussi vérifier que vous avez inclus le gestionnaire approprié pour votre carte Ethernet. Si vous ne savez pas comment procéder, je vous conseille de lire l'Ethernet-HOWTO Ethernet-HOWTO.

Vous pourrez alors procéder à la compilation. Je vous rappelle que le lancement de lilo pour installer le nouveau noyau est obligatoire une fois la compilation terminée.

Décompresser les programmes ncpfs

 # cd /usr/src
 # tar xvfz ncpfs-2.0.11.tgz
 # cd ncpfs

Vérifier le Makefile

Si vous avez l'intention d'utiliser kerneld pour charger automatiquement le module noyau ncpfs, alors vous devez décommenter la ligne du Makefile qui fait référence à KERNELD. Si vous n'êtes pas certain de comprendre tout ce que cela signifie, vous devriez lire le Kernel-HOWTO pour vous familiariser avec la configuration des modules noyau.

Compiler les outils ncpfs

Le logiciel doit se compiler proprement sans qu'une configuration ne soit nécessaire :

 # make

Copier les outils IPX à un endroit utile de votre arborescence

Après cette compilation, vous trouverez tous les outils dont vous aurez besoin dans le répertoire ncpfs/bin. Vous pouvez utiliser

 # make install
pour installer les outils dans le choix de répertoires de Volker. Si votre système est basé sur ELF, alors vous devrez taper ldconfig -v pour vous assurer que la bibliothèque partagée est accessible.

Copier le module npfs.o à un endroit approprié si nécessaire.

Après la compilation d'un noyau 1.2.x, vous trouverez aussi dans le répertoire ncpfs/bin le fichier ncpfs.o Il s'agit du module ncpfs du noyau. Je vous conseille de copier ce fichier à un endroit utile. Par exemple sur ma distribution Debian de Linux, je l'ai copié dans le répertoire /lib/modules/1.2.13/fs et j'ai ajouté ncpfs dans le fichier /etc/modules de manière à ce qu'il soit automatiquement chargé lors du démarrage de Linux. Si vous utilisez d'autres distributions, vous devrez trouver où les modules sont généralement placés et copier le fichier ncpfs.o à cet endroit, ou sinon, copiez-le dans le répertoire /etc. Utilisez la commande suivante afin de charger le module en mémoire manuellement :

 # insmod ncpfs.o

9.3 Compiler ncpfs pour des noyaux 1.3.71++/2.0.*

Pour la dernière version de ncpfs, vous devez utiliser un noyau 1.3.71 ou supérieur, ce qui inclut les noyaux 2.0.* .

Le code noyau de ncpfs a été inclus dans la distribution noyau standard, ainsi vous n'aurez qu'à répondre oui (Y) à la question suivante lors de la configuration de la compilation :

Networking options  ---> ...
 ...
 <*> The IPX protocol
 ...
Filesystems  ---> ...
 ...
 <*> NCP filesystem support (to mount NetWare volumes)
 ...

Vous devez suivre les instructions pour la compilation des noyaux 1.2.* afin de créer les outils IPX, mais il n'y aura pas de module à installer.

9.4 Configurer et utiliser ncpfs

Configurer les logiciels de réseau IPX

Deux moyens sont possibles pour configurer ceux-ci. Vous pouvez tout faire manuellement ou vous pouvez laisser le logiciel déterminer lui-même ses paramètres en utilisant

 # ipx_configure --auto_interface=on --auto_primary=on
Cela devrait fonctionner dans la plupart des situations, mais si ce n'est pas votre cas, lisez la section "les outils IPX" située plus loin dans ce document pour configurer manuellement les logiciels. Des problèmes ont été rapportés concernant cette utilisation au sein de réseaux contenant des clients Windows95.

Tester la configuration

Maintenant que votre réseau IPX est configuré, vous devriez être capable d'exécuter la commande slist qui vous renverra la liste de tous les serveurs de fichiers Novell de votre réseau :

 # slist
Si la commande slist affiche un message du type : ncp_connect: Invalid argument, cela signifie que votre noyau ne supporte pas IPX. Vérifiez que vous avez démarré votre ordinateur avec le noyau approprié. Au démarrage du système, vous devriez voir des messages concernant "IPX" et "ncpfs". Si la commande slist ne renvoie pas la liste de tous les serveurs de fichiers, vous devrez utiliser la méthode de configuration manuelle.

Monter un volume ou un serveur Novell(tm)

Si votre logiciel réseau IPX fonctionne correctement, vous devriez pouvoir monter un volume du serveur de fichiers dans votre système de fichiers Linux. La commande ncpmount est utilisée à ces fins et nécessite que vous spécifiez au moins les informations suivantes :

  1. le nom du serveur de fichiers ;
  2. (éventuellement) le répertoire du serveur de fichier à monter ;
  3. l'identifiant de login du serveur de fichiers. Dans le cas où il a un mot de passe, vous devrez aussi le donner à cette commande ;
  4. le point de montage, c'est-à-dire l'endroit où vous voulez que le système de fichiers du serveur Novell soit monté dans votre système de fichiers. Ce doit être un répertoire déjà existant.
De la même manière, il existe une commande ncpumount pour démonter un système de fichiers NCP monté. Le système de fichiers NCP sera démonté proprement si vous éteignez votre machine normalement. Vous n'avez donc pas à vous tracasser pour ncpumounter manuellement vos systèmes de fichiers avant un halt ou un shutdown.

Par exemple si l'on veut monter le serveur de fichiers ACCT_FS01 sous l'identifiant guest qui ne possède pas de mot de passe, dans le répertoire /mnt/Accounts, la commande devrait ressembler à :

 # ncpmount -S ACCT_FS01 /mnt/Accounts -U guest -n
Notez que l'utilisation de l'option -n indique qu'aucun mot de passe n'est nécessaire pour se loguer. Le même login avec le mot de passe secret ressemblera à :
 # ncpmount -S ACCT_FS01 /mnt/Accounts -U guest -P secret
Si vous ne spécifiez ni l'option -n ni l'option -P, le système vous demandera un mot de passe.

Vérifier le montage

Si le montage est réussi, vous pourrez accéder à tous les volumes auxquels l'utilisateur que vous avez spécifié a accès. Cet accès se fait de manière transparente comme si le volume se trouvait directement dans le répertoire spécifié lors du montage. Vous devez être capable de naviguer au travers des répertoires de ce volume et d'y trouver des fichiers. Vous pouvez également utiliser l'option -V pour monter un seul volume.

NCP ne fournit pas d'identificateur d'utilisateur (uid) ni d'identificateur de groupe (gid) pour les fichiers. Tous les fichiers auront les permissions données au répertoire de montage, restreints par les droits de permissions sur le serveur Novell. Gardez ce point à l'esprit lorsque vous partagerez des montages avec des utilisateurs Linux.

Configurer le montage automatique des volumes ncp

Si vous avez besoin de monter de manière permanente vos partitions ncp, vous aurez à mettre les commandes de configuration ci-dessus dans vos fichiers rc de manière à ce que le montage soit opéré à chaque démarrage de Linux. Si votre distribution ne fournit pas déjà un moyen de configurer IPX comme le propose Debian, alors je vous recommande de les placer dans le fichier /etc/rc.local si vous en avez un. Vous devrez utiliser un script du type suivant :

 #
 # Démarrer le systéme de fichiers NCP
 /sbin/insmod /lib/modules/1.2.13/fs/ncpfs.o
 # Configurer le reseau IPX
 ipx_configure --auto_interface=on --auto_primary=on
 # Accéder au volume réservé à l'utilisateur guest sur le serveur de fichiers
 ncpmount -S ACCT_FS01 /mnt/Accounts -U guest -n
Il existe un autre moyen de configurer les montages NCP. Cela se fait au moyen du fichier $HOME/.nwclient. Ce fichier contient les informations spécifiques à l'utilisateur qui seront appliquées sur des montages NCP réguliers. Vous pourrez ainsi les monter sans avoir à spécifier tous les paramètres à chaque fois.

Le format de ce fichier est assez simple :

 # Le premier paramètre est le 'serveur préféré'
 # utilisé même si vous ne spécifiez pas de serveur lors du
 # lancement du script.
 #
 # L'utilisateur TERRY se loguant sur le serveur de fichiers DOCS_FS01
 # avec le mot de passe 'password'
 DOCS_FS01/TERRY password
 #
 # Login Guest sur le serveur de fichiers ACCT_FS01 sans mot de passe.
 ACCT_FS01/GUEST -
Vous pourrez, par la suite, utiliser :
 $ ncpmount /home/terry/docs

afin de monter la partition DOCS_FS1 avec le login TERRY sous le répertoire /home/terry/docs. Vous remarquerez que cette commande a été choisie car aucun serveur de fichiers n'a été spécifié dans la commande de montage. Si la commande suivante avait été utilisée :

 $ ncpmount -S ACCT_FS01 /home/terry/docs
vous seriez entré sur le serveur de fichiers ACCT_FS01 avec le compte GUEST.

Note : Pour que ce mécanisme fonctionne, il faut que la permission de $HOME/.nwclient soit de 0600, vous devrez utiliser la commande suivante :

 $ chmod 0600 $HOME/.nwclient

Si des utilisateurs non-root ont la permission d'utiliser ce mécanisme, la commande ncpmount doit utiliser un Set Userid Root, vous aurez donc à donner ces permissions :

 # chmod 4755 ncpmount

Tester l'utilitaire nsend

nsend est un utilitaire pour envoyer des messages à des utilisateurs Novell qui est également inclus dans le paquetage. Il s'utilise de la manière suivante :

 # nsend pierre coucou ici
qui va envoyer le message "coucou ici" à un utilisateur "pierre" déjà logué sur votre serveur de fichiers "primaire" (le premier qui apparaît dans votre fichier .nwclient). Vous pouvez spécifier un autre serveur de fichiers avec la même syntaxe que la commande ncpumount.


Page suivante - Page précédente - Table des matières