Association Générale des Utilisateurs de logiciels libres en Côte-d'Or

logo_coagul

Monter une partition d’un serveur distant via ftp avec fuse et curlftpfs

Rubrique : Fichiers et systèmes de fichiers
Le : samedi 22 juillet 2006
Par : Tony  
Visites : 11710
Tags : curlftpfs, FTP, Fuse, mount

But de ce document

Ce document me sert de mémo pour installer, configurer et utiliser le paquet «  curlftpfs  » permettant de monter les partitions d’un serveur ftp distant dans son propre système de fichiers. Cela permet d’ouvrir et d’enregistrer des fichiers sur votre serveur distant avec n’importe quelles applications.

J’ai testé ce mémo sur Debian Testing et Debian Sid, mais il doit pouvoir s’adapter aux autres distributions sans problème.

Pré-requis

Pour pouvoir monter un système de fichier via ftp, il faut bien évidemment disposer d’un serveur ftp opérationnel.

Présentation du projet fuse

Le but du projet fuse est de faciliter le développement de nouveaux programmes permettant de monter toutes sortes de systèmes de fichiers distants (ssh, ftp, webdav,...)

Vous trouverez plus d’informations sur le site officiel : http://fuse.sourceforge.net/

Sur cette page, vous trouverez la liste des logiciels utilisant le système «  fuse  » et permettant de monter tous types de systèmes de fichiers distant :
- http://fuse.sourceforge.net/wiki/index.php/FileSystems

Ce mémo sera consacré uniquement à l’utilisation du logiciel «  curlftpfs  » reposant sur «  fuse  » et permettant de monter des partitions distantes via ftp.

Pour faire la même via SSH, vous pouvez consulter mon autre mémo sur «  ftpfs  » :
- URL du mémo

Installation et premier test

Installation du paquet :

# aptitude install curlftpfs

Ce paquet installera en plus les dépendances suivantes : fuse-source fuse-utils libfuse2

Avant de pouvoir utiliser ce paquet, il faut charger le module « fuse » en mémoire :

# modprobe fuse

Pour charger le module automatiquement à chaque démarrage de l’ordinateur, il faut ajouter «  fuse  » dans le fichier « /etc/modules »

Et ensuite, le montage fonctionne sans problème avec la commande suivante :

$ curlftpfs ftp://192.168.0.1 /mnt -o user=toto:LeMotDePasse

Cependant, cette méthode de montage a le très gros inconvénient de laisser le mot de passe en clair dans l’historique des commandes.

Sécurisation du mot de passe

Pour éviter de saisir le mot de passe dans la ligne de commandes, il faut ajouter dans le fichier «  \.netrc », une ligne de ce type :

machine VotreServeurFTP login VotreLogin password VotreMotDePasse

Remarque 1  : Vous pouvez ajouter une ligne différente par serveur FTP

Remarque 2 : Si le fichier «  \.netrc » n’existe pas, il faut le créer et il faut également limiter son accès au seul utilisateur :

$ chmod 600 ~\.netrc

Avec ce nouveau fichier, la commande suivante devrait fonctionner :

$ curlftpfs ftp://192.168.0.1 /mnt

Il est désormais possible d’accéder aux fichiers depuis n’importe quelles applications.

Le démontage de la partition peut se faire avec les deux commandes suivantes :

$ fusermount -u /mnt

ou (sous root uniquement) :

# umount /mnt

Montage automatique des partitions au démarrage de l’ordinateur

Pour commencer, il faut savoir qu’il est possible de passer directement par « mount » pour monter une partition de type « curlftpfs  ». Pour cela, il faut indiquer «  fuse  » comme système de fichiers et mettre «  curlftpfs# » avant le serveur ftp. Voici un exemple :

# mount -t fuse curlftpfs#192.168.0.0.1 /mnt

La ligne suivante insérée dans « /etc/fstab », permet de monter automatiquement la partition au démarrage de l’ordinateur à condition que le fichier «  .netrc  » soit créé pour root et que le réseau soit actif lors du montage des partitions.

curlftpfs#192.168.0.1 /mnt fuse defaults 0 1

Avec la ligne précédente, il n’y aura que root qui pourra accéder à la partition. Pour autoriser les autres utilisateurs, il faut utiliser le paramètre « allow_other », mais dans ce cas, il faut faire très attention à la sécurité.

curlftpfs#192.168.0.1 /mnt fuse allow_other 0 1

Problèmes rencontrés

Je n’ai pas rencontré de problème particulier, mais je trouve les temps d’accès assez longs lorsqu’on passe par Internet.

En utilisant Konqueror avec une URL de la forme suivante, nous arrivons au même résultat et avec des temps d’accès plus rapides mais malheureusement ce type d’URL n’est pas supporté par OpenOffice.org :

ftp://toto@192.0.0.13

Autres sources d’informations

La page de man de «  curlftpfs  »

La FAQ officielle : http://fuse.sourceforge.net/wiki/index.php/SshfsFaq

Ces deux articles sur le sujet :
- http://doc.ubuntu-fr.org/fuse
- http://doc.ubuntu-fr.org/applications/curlftpfs

Historique des modifications

VersionDateCommentaire
0.215/07/06Création par Tony GALMICHE
Version imprimable de l'article

Forum


Site réalisé sous Spip. Merci à NFrance pour son hébergement gracieusement offert. Tous les articles de ce site sont sous licence Creative Commons by-nc-sa (CC).