Monter une partition d’un serveur distant via ftp avec fuse et curlftpfs
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 :
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 » :
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 :
Historique des modifications
| Version | Date | Commentaire |
|---|---|---|
| 0.2 | 15/07/06 | Création par Tony GALMICHE |

Commentaires
> Monter une partition d’un serveur distant via ftp avec fuse et
Merci pour tes relectures.
Je vais attendre un peu avant de le publier au cas ou d’autres personnes veulent le relire, car il n’y a pas d’urgence.
> Monter une partition d’un serveur distant via ftp avec fuse et
Je n’ai pas le temps de tester mais sinon je n’ai pas remarqué de pb dans ton article. RAS
PS : idem pour celui avec SSH