Curlftpfs

Un article de WindowsLinux.Net - Astuces pour Windows et Linux.

Sommaire

Explications

curlftpfs repose sur Fuse.

Fuse veut faciliter le développement de programmes afin de monter toutes sortes de systèmes de fichiers (ssh, ftp, webdav, etc...).

Vous pouvez visiter le site officiel : http://fuse.sourceforge.net/

Une liste des systèmes de fichiers pouvant être utilisés avec Fuse se trouve sur cette page :

http://fuse.sourceforge.net/wiki/index.php/FileSystems

Installation

Installer le paquet :

aptitude install curlftpfs

Les dépendances suivantes seront aussi installées : curlftpfs libcurl3-gnutls

Le module Fuse doit être chargé en mémoire, taper la commande suivante :

modprobe fuse

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

Pour monter le FTP, utiliser une commande du type :

$ curlftpfs ftp://ServeurFTP /mnt -o user=Login:MotDePasse

Néamoins le mot de passe du serveur FTP reste en mémoire dans /home/UserName/.bash_history

Configuration

Afin de sécuriser le mot de passe, il faut ajouter uine ligne dans "\.netrc" :

machine ServeurFTP login VotreLogin password VotreMotDePasse

Note : Plusieurs serveurs FTP peuvent être ajoutés dans ce fichier, à hauteur d'un serveur FTP par ligne.


Note : Si "\.netrc" n’existe pas, il faut le créer et limiter son accès à un seul utilisateur :

$ chmod 600 ~\.netrc

Avec ce nouveau fichier, la commande suivante devrait fonctionner :

$ curlftpfs ftp://ServeurFTP /mnt

Désormais n'importe quelle application peut accéder à ces fichiers.

Le démontage peut se faire avec :

$ fusermount -u /mnt

ou (la commande classique avec root) :

# umount /mnt

Montage automatique

Utiliser mount

# mount -t fuse curlftpfs#ServeurFTP /mnt

Note : Le système de fichier utilisé ci-dessus est fuse, pour curlftpfs.

Insertion dans /etc/fstab

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.

Voici une ligne d'exemple à mettre dans /etc/fstab :

curlftpfs#ServeurFTP /mnt fuse defaults 0 1

Cette ligne n'autorise que root.

Pour autoriser d'autres utilisateurs, il faut utiliser la ligne suivante :

curlftpfs#ServeurFTP /mnt fuse allow_other 0 1

ATTENTION ! Ceci autorisera TOUS les utilisateurs du système...

Eléments complémentaires

Les temps d'accès peuvent être long par Internet. Il est donc préférable d'utiliser ce système dans un réseau local.


Liens

La F.A.Q. officielle : http://fuse.sourceforge.net/wiki/index.php/SshfsFaq