Un coin perdu... : Articles - CurlftpFs => Son FTP en local !
Nous sommes le
Bonne Fête!
Votre connection

Browser : Autre

IP : 38.107.191.100
OS : Système d'exploitation inconnu

Flux

TAG
This will be shown to users with no Flash or Javascript.
Rss CurlftpFs => Son FTP en local !
Depuis longtemps, je rame pour le transfert de mes fichiers locaux vers mon hébergeur, l'heure été venue de trouver un autre moyen pour ce faire, histoire de simplifier les choses !

Le but du jeux étant de remplacer mon traditionnel client ftp (gftp) par quelque chose de beaucoup plus simple, monter ce ftp distant comme un simple dossier dans mon répertoire personnel...

Grâce a Curlftpfs, tout cela devient possible, et en plus, avec une facilité déconcertante ! Celui ci utilise le module Fuse (Filesystem in USErspace) qui permet la création de système de fichier dans l'espace utilisteur

Voici la configuration pour l'exercice :

  • Un laptop sous Ubuntu Intrepid Ibex (32bit), qui se nommera laptop dans le reste de l'article)


  • Un serveur ftp distant bien sur, que j'appellerai mon-ftp.fr, et partant du principe qu'il n'est pas publique, login+mdp seront nécessaires, ceux ci seront : utilisateur=util, mdp=furtif


Commençons par installer Curlftpfs (celui ci est dans les dépôts)

Code BASH :
laptop@laptop:~$ sudo apt-get install curlftpfs


Ensuite, créons le point de montage dans notre répertoire personnel, celui ci s'appellera ftp-local

Code BASH :
laptop@laptop:~$ mkdir  ftp-local


Voila, le plus gros du boulot est fait, voyons maintenant la syntaxe à utiliser pour monter ce ftp dans notre dossier local avec Curlftpfs

Code BASH :
 
curlftpfs ftp:// adresse-du-serveur-ftp point-de-montage -o option(s) à utiliser


L'option que nous devons utiliser étant donné que mon ftp n'est pas publique est l'option user, pour plus d'information sur la foultitude d'options disponible, faites un petit man curlftpfs dans votre console.
Voici comment utiliser l'option user

Code BASH :
user=mon-login-ftp:mon-mot-de-passe-ftp


Au finale, et pour le cas présent, la commande sera la suivante :

Code BASH :
laptop@laptop:~$ curlftpfs ftp : //mon-ftp.fr ftp-local -o user=util:furtif

*Sans les espaces entre [url=ftp://adresse-du-serveur*]ftp://adresse-du-serveur*[/url]



Et voila, le ftp est désormais monté dans ftp-local et je peux y travailler comme s'il s'agissait d'un dossier quelconque !
mon point de montage se trouvant dans mon répertoire perso, aucun droit particulier m'est nécessaire

Pour démonter le ftp, il suffit simplement de taper dans une console :

Code BASH :
laptop@laptop:~$ sudo  fusermount -u ftp-local


Et voila !

Pour éviter de taper son mot de passe en clair dans la console, il suffit d'éditer, ou de créer, un fichier netrc, celui ci contiendra les infos nécessaire à la connexion ftp (adresse ftp, login+mdp), ce fichier doit se trouver dans le répertoire utilisateur et il doit bien évidement être caché.

En avant !

Code BASH :
laptop@laptop:~$ vi  ~/.netrc


Ce fichier se renseigne de la manière suivante :

Code BASH :
machine ftp.mon-serveur.com login USERNAME password PASSWORD


Dans mon cas cela donnera :

Code BASH :
 
machine ftp.mon-ftp.fr login util password furtif


Il faut restreindre l'accès a ce fichier :

Code BASH :
 
laptop@laptop:~$ sudo chmod 0600 ~/.netrc


Maintenant, il n'est plus nécessaire d'ajouter l'option user à notre ligne de commande, il suffira simplement de dire :

Code BASH :
laptop@laptop:~$ curlftpfs ftp : //mon-ftp.fr ftp-local

*Sans les espaces entre [url=ftp://adresse-du-serveur*]ftp://adresse-du-serveur*[/url]



Avec ça, je peux maintenant monter mon ftp dans mon répertoire perso comme s'il était vraiment dedans !

On peut même ajouter un petit script pour automatiser ça !

Code BASH :
#!/bin/bash
# Script de montage de dossier ftp avec curlftpfs et fuse.
# A utiliser avec Nautilus, ou en ligne de commande :
# ./mount_ftp ~/dossier_de_montage
 
#Variables à modifier au besoin
$FTP=ftp://mon-ftp.fr
$LOCAL=/home/util/ftp-local
 
gksudo -p -m "FTP" | curlftpfs $FTP $LOCAL
zenity --info --text="Cliquez sur valider pour démonter"
fusermount -u $LOCAL

*Sans les espaces entre [url=ftp://adresse-du-serveur*]ftp://adresse-du-serveur*[/url]

 
 
Note: Aucune note
(0 note)
Ecrit par: , Le: 19/01/09