Skip to Content

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 :

  •  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

    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