Depuis longtemps, je rame pour le transfert de mes fichiers locaux vers mon hebergeur, l'heure ete venue de trouver un autre moyen pour ce faire, histoire de simplifier les choses !
Le but du jeux etant de remplacer mon traditionnel client ftp (gftp) par quelque chose de beaucoup plus simple, monter ce ftp distant comme un simple dossier dans mon repertoire personnel...
Grâce a Curlftpfs, tout cela devient possible, et en plus, avec une facilite deconcertante ! Celui ci utilise le module Fuse (Filesystem in USErspace) qui permet la creation de systeme de fichier dans l'espace utilisteur
Voici la configuration pour l'exercice :
Commencons par installer Curlftpfs (celui ci est dans les depôts)
Code BASH :
Ensuite, creons le point de montage dans notre repertoire personnel, celui ci s'appellera ftp-local
Code BASH :
Voila, le plus gros du boulot est fait, voyons maintenant la syntaxe a utiliser pour monter ce ftp dans notre dossier local avec Curlftpfs
Code BASH :
L'option que nous devons utiliser etant donne 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 :
Au finale, et pour le cas present, la commande sera la suivante :
Code BASH :
Et voila, le ftp est desormais monte 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 repertoire perso, aucun droit particulier m'est necessaire
Pour demonter le ftp, il suffit simplement de taper dans une console :
Code BASH :
Et voila !
Pour eviter de taper son mot de passe en clair dans la console, il suffit d'editer, ou de creer, un fichier netrc, celui ci contiendra les infos necessaire a la connexion ftp (adresse ftp, login+mdp), ce fichier doit se trouver dans le repertoire utilisateur et il doit bien evidement etre cache.
En avant !
Code BASH :
Ce fichier se renseigne de la maniere suivante :
Code BASH :
Dans mon cas cela donnera :
Code BASH :
Il faut restreindre l'acces a ce fichier :
Code BASH :
Maintenant, il n'est plus necessaire d'ajouter l'option user a notre ligne de commande, il suffira simplement de dire :
Code BASH :
Avec ca, je peux maintenant monter mon ftp dans mon repertoire perso comme s'il etait vraiment dedans !
On peut meme ajouter un petit script pour automatiser ca !
Code BASH :
Le but du jeux etant de remplacer mon traditionnel client ftp (gftp) par quelque chose de beaucoup plus simple, monter ce ftp distant comme un simple dossier dans mon repertoire personnel...
Grâce a Curlftpfs, tout cela devient possible, et en plus, avec une facilite deconcertante ! Celui ci utilise le module Fuse (Filesystem in USErspace) qui permet la creation de systeme 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 necessaires, ceux ci seront : utilisateur=util, mdp=furtif
Commencons par installer Curlftpfs (celui ci est dans les depôts)
Code BASH :
laptop@laptop:~$ sudo apt-get install curlftpfs
Ensuite, creons le point de montage dans notre repertoire 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 a 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) a utiliser
L'option que nous devons utiliser etant donne 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-ftpAu finale, et pour le cas present, 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 desormais monte 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 repertoire perso, aucun droit particulier m'est necessaire
Pour demonter le ftp, il suffit simplement de taper dans une console :
Code BASH :
laptop@laptop:~$ sudo fusermount -u ftp-local
Et voila !
Pour eviter de taper son mot de passe en clair dans la console, il suffit d'editer, ou de creer, un fichier netrc, celui ci contiendra les infos necessaire a la connexion ftp (adresse ftp, login+mdp), ce fichier doit se trouver dans le repertoire utilisateur et il doit bien evidement etre cache.
En avant !
Code BASH :
laptop@laptop:~$ vi ~/.netrc
Ce fichier se renseigne de la maniere suivante :
Code BASH :
machine ftp.mon-serveur.com login USERNAME password PASSWORDDans mon cas cela donnera :
Code BASH :
machine ftp.mon-ftp.fr login util password furtifIl faut restreindre l'acces a ce fichier :
Code BASH :
laptop@laptop:~$ sudo chmod 0600 ~/.netrc
Maintenant, il n'est plus necessaire d'ajouter l'option user a 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 ca, je peux maintenant monter mon ftp dans mon repertoire perso comme s'il etait vraiment dedans !
On peut meme ajouter un petit script pour automatiser ca !
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 a 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 demonter" fusermount -u $LOCAL
*Sans les espaces entre [url=ftp://adresse-du-serveur*]ftp://adresse-du-serveur*[/url]
Suggestion : Undefined index: dark_nature dans le fichier /web/tekniko/linux/kernel/header.php à la ligne 243

