Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
curlftpfs [Le 09/02/2008, 22:23]
86.76.79.118
curlftpfs [Le 30/03/2023, 14:09] (Version actuelle)
217.114.205.206 [Configuration]
Ligne 1: Ligne 1:
-{{tag>​ftp}} +{{tag>Focal Bionic ​ftp }}
- +
-====== CurlFtpFS ====== +
-[[http://​curlftpfs.sourceforge.net/​|Site officiel]] +
- +
-Article en cours d'​élaboration [[http://​forum.ubuntu-fr.org/​viewtopic.php?​id=38912|commentaires et et discussion ici]]. +
- +
-===== A quoi ça sert ? ===== +
-CurlFtpFS sert à monter sur son système de fichier, un autre système de fichier distant, à travers une connexion FTP, le tout avec des droits utilisateur. +
-L'​avantage est de manipuler les données distantes avec n'​importe quel gestionnaire de fichier (Nautilus, Konqueror, ROX, ou même la ligne de commande), ce qui est bien plus pratique que les commandes consoles de ftp ou des logiciels comme gFTP. +
- +
- +
- +
- +
- +
- +
  
 +----
 +======CurlFtpFS ======
 +CurlFtpFS sert à monter sur son système de fichier, un autre système de fichier distant, à travers une connexion FTP, le tout avec des droits utilisateur.\\
 +Il intègre une fonction de reconnexion automatique en cas de //timeout// de connexion.\\
 +L'​avantage est de manipuler les données distantes avec n'​importe quel gestionnaire de fichiers (Nautilus, Konqueror, ROX, ou même la ligne de commande), ce qui est bien plus pratique que les commandes consoles de ftp ou des logiciels comme gFTP.
  
 +C'est un logiciel libre open source sous [[https://​curl.se/​docs/​copyright.html|une licence dérivée]] de [[https://​opensource.org/​licenses/​mit-license.php|la licence MIT/X]].
  
 +===== Pré-requis =====
 +  * Disposer des [[:​sudo|droits d'​administration]]
 +  * Disposer d'une connexion à Internet configurée et activée
 +  * Avoir [[:​tutoriel:​comment_installer_un_paquet|installé le paquet]] **[[:​fuse]]**
  
 ===== Installation ===== ===== Installation =====
 +[[:​tutoriel:​comment_installer_un_paquet|Installez le paquet]] **[[apt>​curlftpfs]]**
  
-Tout d'abord, il vous faudra [[:fuse#​installation_de_fuse|installer et configurer FUSE]], dont dépend CurlFtpFS.+===== Configuration ===== 
 +Pas de configuration particulière sauf l'​ajout de votre user dans le groupe '​fuse'​ (cela évitera par la suite d'avoir besoin d'​utiliser la commande **''​sudo''​**) ​:
  
-CurlFtpFS n'est pas disponible en paquet Ubuntu, il faut donc le compiler (__correction__ : le paquet **curlftpfs** est disponible pour Feisty, branche universe). Ce n'est pas un gros programme, la compilation est simple et rapide. +  grep -w fuse /etc/group -q |sudo groupadd fuse 
-Premièrement,​ il faut récupérer les dernières sources sur le [[http://curlftpfs.sourceforge.net/​|site officiel]] (curlftpfs 0.9 est la dernière version actuellement),​ vous pouvez également suivre les instructions qui suivent : +  ​sudo adduser $USER fuse
-  ​~Checkinstall va vous créer un .deb et l'​ajouter directement dans votre base de donnée, ce qui veut dire que pourrez le désinstaller directement dans synaptic, et le réinstaller grâce au .deb.+
  
----- +Puis se reconnecter.
----- +
-ATTENTION => Pour les distrib DAPPER 6.06 +
-Lors de la compilation,​ le ./configure ne marche pas car il cherche une librairie libcurl plus récente que celle distribuée par la dapper. La solution est donc une fois l'​install réalisée, de télécharger les dernières sources de curl ([[http://​curl.oc1.mirrors.redwire.net/​download.html|télécharger]]) et de les compiler (./​configure && make && sudo make install). +
-Une fois les librairies installées par votre compil de curl vous pourrez continuer la procédure normale (compil de curlftpfs comme décrite ci-dessus... +
----- +
-----+
  
 +Exemple de montage de répertoire FTP:
 +  curlftpfs ​ user@ftp.server.com /​mnt/​point_de_montage
 +<note important>​N.B.:​ Cacher le password dans le fichier .netrc (cf. **''​man netrc''​**)</​note>​
 +<note tip>pour aider à déboguer vous pouvez utiliser l'​option **-v** (verbose) de Fuse </​note>​
 +<note tip>​Certains fournisseurs de ftp imposent des noms d'​utilisateurs avec caractères pouvant interférer (exemple : **nom@server.com**). Dans ce cas préférez la syntaxe suivante :
 +<​code>​ curlftpfs -o user=nom@server.com:​mdp ftp.server.com /​mnt/​point_de_montage </​code>​ </​note>​
 +exemple d'​autre syntaxe :<​code> ​ curlftpfs -o allow_other,​ro ftp://​userftp:​passwordftp@nomesito.ext /​mnt/​point_de_montage </​code> ​
  
 +Pour démonter :
 +  fusermount -u /​mnt/​point_de_montage
  
-Checkinstall va vous demander s'il doit créer ​la doc, validez, puis une courte description (à finir par une ligne vide)libre à vous de mettre ce que vous voulez, exemple "​CurlFtpFS est un système de fichier pour accéder aux serveurs FTP basé sur FUSE et libcurl."​+En cas d'utilisation ponctuelle via la ligne de commandese référer ​à la page de man
-Ensuite, un menu vous demande si vous êtes d'​accord avec les informations générées. Je vous conseil de changer le nom (2) pour curlftpfs. Une fois que tout est correct, validez avec "​entrer"​.+<​code>​man ​curlftpfs</​code>​
  
-Pour désinstaller ​sudo dpkg -r curlftpfs__+===== Utilisation===== 
 +==== Montage automatique ==== 
 +Pour monter automatiquement un site FTP au démarrage, il suffit d'[[:tutoriel:​comment_editer_un_fichier|éditer]] le fichier **/​etc/​fstab** de cette manière : 
 +<​file>​ 
 +# <file system>​  ​        <​mount point>​ <​type>​ <​options>​  ​       <​dump>​ <​pass>​ 
 +curlftpfs#​login:​mot_de_passe@ftp.host.com /​répertoire/​local fuse rw,​user,​allow_other,​uid=1000,​_netdev 0 0 
 +</​file>​ 
 +Sachant que : 
 +  - //login// est le nom de l'​utilisateur FTP, 
 +  - //​mot_de_passe//​ est son mot de passe, 
 +  - //​ftp.host.com // est le nom DNS (ou l'​adresse IP) du serveur FTP, 
 +  ​// /​répertoire/​local//​ est le répertoire sous lequel le site FTP sera visible.
  
-ne pas oublier d'ajouter son utilisateur à Fuse :  +Vous pouvez aussi choisir de monter un sous-répertoire (en remplaçant les éventuels espaces par '%20'). 
-  ~$ sudo adduser $USER fuse +<​file>​curlftpfs#​login:​mot_de_passe@ftp.host.com/​repertoire/​sous%20repertoire ...</​file>​
-Et relancer sa session pour que l'ajout au groupe soit pris en compte.+
  
 +===== Désinstallation =====
 +Pour supprimer cette application,​ il suffit de [[:​tutoriel:​comment_supprimer_un_paquet|supprimer son paquet]]. La configuration de l'​application sera conservée ou supprimée selon la méthode de désinstallation que vous choisirez.
  
- +===== Voir aussi ===== 
- +  ​* **(en)** [[http://curlftpfs.sourceforge.net/|Site officiel ​de CurlFtpFS]] 
-===== Utilisation en mode Console ​===== +  * **(en)** [[https://curl.se/|Site officiel ​de cURL]]
-Rien de plus simple maintenant : +
-  ​~$ mkdir tmp +
-  ~$ curlftpfs ftp://mon.serveur.org tmp -o user=monlogin:​monmdp +
- +
-si votre mot de passe contient des caractéres spéciaux du genre # ou ! il vous faut échapper ces caractéres par \. +
-Un # sera transformé alors par un \# . +
- +
-Pour démonter, vérifier que pour rien n'​accède au point de montage ​(fichier ouvert ou gestionnaire de fichier), et effectuer la commande  +
-  ~$ fusermount -u tmp +
- +
- +
- +
-Puis y coller le code suivant : [[:curlftpfs#​code_de_curlftpfs-dialog.sh|bas de page]] +
- +
- +
-ne pas oublier de le rendre exécutable : +
-  chmod u+x curlftpfs-dialog.sh+
  
 ---- ----
- +//Contributeurs principaux : [[:utilisateurs:mrwaloo|MrWaloo]]//
-Exécutez le script directement dans votre gestionnaire de fichiers ou dans une console, et vous obtiendrez une fenêtre nécessitant quelques renseignement comme : +
-  * l'​adresse du serveur +
-  * une case à cocher pour une connexion anonyme +
-  * le nom de l'​utilisateur distant +
-  * le mot de passe +
-  * le nom du point de montage +
- +
-Une fois tous les champs renseignés,​ cliquez sur **mount**. Un répertoire du nom du point de montage doit se créer et votre connexion montée sur le système de fichiers !! +
- +
-Quand vous avez fini, quittez le répertoire monté et faites **Umount**. +
-Il est possible de sauvegarder la configuration en appuyant sur **Save**. +
- +
-Pour recharger la configuration,​ il faut passer un fichier .eftp en paramètre du script (en faisant un glisser-déposer avec un gestionnaire de fichiers). +
- +
-=== Suggestion d'​utilisation === +
- +
-{{ applications:​applications:​curlftpfs:​curlftpfs-dialog_00.png}} +
- +
-Créez quelque part dans votre arborescence,​ un répertoire FTP ( /home/toto/​Network/​FTP ).\\ +
- +
-Déplacez le script dans ce répertoire.\\ +
- +
-Remplissez la fenêtre normalement,​ testez la connexion et sauvegardez.\\ +
- +
-Vous obtenez des fichiers .eftp, comme par exemple "​toto@hebergeur.org.eftp"​ "​tata@sitewoueb.fr.eftp"​.\\ +
- +
-Glissez/​déposez le fichier toto@hebergeur.org.eftp sur curlftpfs-dialog.sh et la fenêtre s'​ouvre directement avec les informations renseignées.\\ +
- +
- +
-===== Code de curlftpfs-dialog.sh ===== +
- +
-<​code>​ +
-#! /bin/bash +
- +
-export DIR=$PWD +
- +
-if $1 ] ; then +
- export DIR=`dirname $1` +
- while read ligne ; do +
- first=1 +
- val=""​ +
- for mot in $ligne ; do +
- if $first -eq 1 ] ; then +
- var=$mot +
- first=0 +
- else +
- val=$val$mot"​ " +
- fi +
- done +
- export $var="​$val"​ +
- done < $1 +
-fi +
- +
-if [ -z "​$DISTUSER"​ ] ; then +
- export DISTUSER=$USER +
-fi +
- +
-if [ -z "​$MOUNT"​ ] ; then +
- export MOUNT=$DISTUSER$SERVEUR +
-fi +
- +
-export MAIN_DIALOG='​ +
- <​vbox>​ +
-  <​hbox>​ +
- <​text><​label>​Serveur:</​label></​text>​ +
- <​entry>​ +
- <​input>​echo $SERVEUR</​input>​ +
- <​variable>​SERVEUR</​variable>​ +
- </​entry>​ +
- </​hbox>​ +
- <​hbox>​ +
- <​checkbox>​ +
- <​label>​Cocher pour l authentification par défaut</​label>​ +
- <​variable>​CHECKBOX</​variable>​ +
- <​default>​no</​default>​ +
- <​action>​if false enable:DISTUSER</​action>​ +
- <​action>​if false enable:​PASSWORD</​action>​ +
- <​action>​if false OPT=-o user=$DISTUSER:​$PASSWORD</​action>​ +
- <​action>​if true disable:​DISTUSER</​action>​ +
- <​action>​if true disable:​PASSWORD</​action>​ +
- <​action>​if true OPT=</​action>​ +
- </​checkbox>​ +
- </​hbox>​ +
-  <​hbox>​ +
- <​text><​label>​User:</​label></​text>​ +
- <​entry>​ +
- <​input>​echo $DISTUSER</​input>​ +
- <​variable>​DISTUSER</​variable>​ +
- <​action>​OPT=-o user=$DISTUSER:​$PASSWORD</​action>​ +
- </​entry>​ +
- </​hbox>​ +
-  <​hbox>​ +
- <​text><​label>​Password:</​label></​text>​ +
- <​entry>​ +
- <​visible>​password</​visible>​ +
- <​variable>​PASSWORD</​variable>​ +
- <​action>​OPT=-o user=$DISTUSER:​$PASSWORD</​action>​ +
- </​entry>​ +
- </​hbox>​ +
-  <​hbox>​ +
- <​text><​label>​Mount Name:</​label></​text>​ +
- <​entry>​ +
- <​input>​echo $MOUNT</​input>​ +
- <​variable>​MOUNT</​variable>​ +
- </​entry>​ +
- </​hbox>​ +
-  <​hbox>​ +
- <​button>​ +
- <​label>​Mount</​label>​ +
- <​action>​fusermount -u $DIR/​$MOUNT</​action>​ +
- <​action>​rmdir $DIR/​$MOUNT</​action>​ +
- <​action>​mkdir $DIR/​$MOUNT</​action>​ +
- <​action>​curlftpfs ftp://​$SERVEUR $DIR/$MOUNT $OPT</​action>​ +
- </​button>​ +
- <​button>​ +
- <​label>​Umount</​label>​ +
- <​action>​fusermount -u $DIR/​$MOUNT</​action>​ +
- <​action>​rmdir $DIR/​$MOUNT</​action>​ +
- </​button>​ +
- <​button>​ +
- <​label>​Save</​label>​ +
- <​action>​echo SERVEUR $SERVEUR ​tee $DIR/$MOUNT.eftp<​/action>​ +
- <​action>​echo DISTUSER $DISTUSER | tee -a $DIR/​$MOUNT.eftp</​action>​ +
- <​action>​echo MOUNT $MOUNT | tee -a $DIR/​$MOUNT.eftp</​action>​ +
- </​button>​ +
-  </​hbox>​ +
- </​vbox>​ +
-+
- +
-gtkdialog --program=MAIN_DIALOG +
-</​code>​ +
- +
-===== Utilisation via Fusible ===== +
- +
-[[Fusible]] est une interface graphique pour tous points de montage FUSE. +
-Un plugin pour CurlFTPFS est prévu et permettra d'​accéder à toutes les fonctionnalités et options de CurlFTPFS et de FUSE.+
  • curlftpfs.1202592216.txt.gz
  • Dernière modification: Le 27/03/2008, 11:31
  • (modification externe)