Adaptation française : Loïs Di Qual
Relecture de la version française : Éric Madesclair, Bernard Adrian
Préparation de la publication de la v.f. : Jean-Philippe Guérard
Version : 0.2.fr.1.0
25 septembre 2005
| Historique des versions | ||
|---|---|---|
| Version 0.2.fr.1.0 | 2005-09-25 | LDQ, ÉM, BA | 
| Première traduction française. | ||
| Version 0.2 | 2000-01-09 | MB | 
Résumé
Ce document explique comment utiliser les clients et serveurs ftp.
Table des matières
Ce document a été rédigé par Matthew Borowski pour le Projet de Documentation sur Linux (LDP). Je n'ai pas encore fini d'ajouter tout ce que je voudrais ajouter. Il y aura une section avec des informations concernant la mise en route d'un serveur FTP.
Merci de me contacter si vous souhaitez apporter une modification sur ce document. Merci de ne pas demander de support technique — vous pouvez acheter la documentation Unix et le support via ma compagnie, WorldServe , ou vous pouvez demander de l'aide sur des forums tels que comp.os.linux.*. Merci de prendre en compte le fait que je ne comprend que l'anglais et le Farsi.
    
      N'hésitez pas à faire parvenir vos commentaires et suggestions 
      concernant l'adaptation française de ce document au projet Traduc.org à l'adresse :
    
      <commentaires CHEZ traduc POINT org>.
      
Ce document est actuellement sous Copyright 1999 par Matthew Borowsky. Vous pouvez distribuer librement ce document du moment que le copyright n'en est pas altéré. Si vous distribuez ce guide pratique comme un outil commercial, je souhaiterai recevoir une copie, mais ce n'est pas obligatoire. Si vous souhaitez distribuer une version modifiée ou traduite de ce document, merci de me contacter pour que je vous en donne la permission.
FTP (File Transfert Protocole, c'est-à-dire Protocole de Transfert de Fichiers) est un protocole client-serveur qui permet à un utilisateur de transférer des fichier vers et depuis un serveur distant. Ce serveur utilise le protocole TCP qui est le plus utilisé sur Internet, et qui peut être aussi utilisé sur un réseau local (LAN).
    
    Un site FTP est un ordinateur qui utilise un logiciel appelé serveur 
    FTP (aussi connu sous le nom de démon FTP, ou 
    ftpd). On peut accéder librement à un site ftp 
    public en utilisant des identifiants de connexion tels que 
    anonymous (anonyme) ou ftp. Il 
    existe beaucoup d'excellents sites ftp publics qui reposent sur les 
    logiciels libres Unix. Apprendre à utiliser FTP, vous donnera accès 
    à des ressources indispensables.
    
    
Les sites FTP privés nécessitent un nom d'utilisateur ou un mot de passe. Si vous avez un compte shell avec votre FAI, vous serez capable d'accéder à vos fichiers via FTP (contactez votre administrateur système pour en savoir plus).
Un client FTP est une application qui vous permet d'accéder à ces serveurs FTP. Il existe beaucoup de clients FTP, aussi bien en mode graphique qu'en ligne de commande.
Le protocole FTP a été d'abord développé par l'Université de Californie (Berkeley), pour accéder à un système BSD 4.2 (Berkeley Unix). Sa documentation technique est disponible à l'adresse http://abcdrfc.free.fr/rfc-vf/rfc959.html.
Un guide rapide pour utiliser FTP
Le client ftp original est distribué avec la plupart des distributions Linux. Sa première apparition fut dans le système BSD 4.2, développé par l'Université de Californie (Berkeley).
Il est très simple d'utiliser ftp. Disons que vous souhaitiez vous connecter sur le serveur anonyme metalab.unc.edu, pour télécharger la dernière version des sources du noyau Linux.
En ligne de commande, entrez :
$ ftp metalab.unc.edu
      
      Le programme FTP tentera de se connecter à metalab.unc.edu. Une 
      autre façon de faire ceci est de tout d'abord lancer 
      ftp en ligne de commande sans paramètre, puis 
      d'utiliser la commande open, avec l'adresse du 
      site comme argument :
      
      
$ ftp ftp> open metalab.unc.edu
      
      Lorsque vous vous connectez à un site FTP, il vous est demandé un 
      nom d'utilisateur (ou login). En appuyant sur entrée, le programme 
      vous connectera automatiquement avec votre nom d'utilisateur local 
      (toto dans l'exemple ci-dessous). Nous nous 
      identifions avec le nom d'utilisateur anonymous 
      ou ftp, afin de récupérer un fichier public.
      
      
220 helios.oit.unc.edu FTP server (Version wu-2.6.0(2) Wed Nov 17 14:44:12 EST 1999) ready. Name (metalab.unc.edu:toto):
Maintenant, nous entrons une adresse électronique complète comme mot de passe (ce qui est demandé par la plupart des sites FTP publics).
331 Guest login ok, send your e-mail address as password. Password:
Après une connexion réussie, les informations suivantes nous sont données :
Remote system type is UNIX. Using binary mode to transfer files. ftp>
      
      Après vous être identifié sur un site ftp, ftp 
      vous indiquera le mode de transfert de fichier. Dans notre cas, 
      c'est le mode binaire. Le mode binaire transfère les fichiers, 
      octet par octet, en les conservant tels qu'ils sont sur le serveur 
      FTP. Le mode Ascii, lui, téléchargera le texte directement. Vous 
      pouvez entrer ascii ou 
      binary pour changer de mode pendant la 
      connexion.
      
      
Vous souhaitez télécharger les sources du noyau de votre système, donc vous laissez le type du transfert en mode binaire. Le mode binaire est aussi le mode que vous utiliserez pour transférer des fichiers qui ne sont pas des fichiers textes — comme des images, des archives (zip/gzip), des programmes exécutables, et cætera. En cas de doute, utilisez le mode binaire.
      
      Pour afficher la liste des fichiers, utilisez la commande 
      ls. Cette commande est exécutée sur le serveur 
      distant, donc les options de la ligne de commande peuvent varier 
      selon les serveurs. Les options les plus courantes de la commande 
      ls sont en général utilisées, vérifiez la page de manuel de la 
      commande ls pour plus de détails.
      
      
ftp> ls 200 PORT command successful. 150 Opening ASCII mode data connection for /bin/ls. total 33590 -r--r--r-- 1 root other 34348506 Dec 03 03:53 IAFA-LISTINGS lrwxrwxrwx 1 root other 7 Jul 15 1997 README -> WELCOME -rw-r--r-- 1 root other 890 Nov 15 13:11 WELCOME dr-xr-xr-x 2 root other 512 Jul 15 1997 bin dr-xr-xr-x 2 root other 512 Jul 15 1997 dev dr-xr-xr-x 2 root other 512 Jul 18 1997 etc drwxrwxrwx 11 ftp 20 4608 Nov 28 16:00 incoming lrwxrwxrwx 1 root other 13 Jun 04 1998 ls-lR -> IAFA-LISTINGS dr-xr-xr-x 17 root root 512 Jun 08 11:43 pub dr-xr-xr-x 3 root other 512 Jul 15 1997 unc dr-xr-xr-x 5 root other 512 Jul 15 1997 usr 226 Transfer complete.
Si la commande vous affiche trop de fichiers, et que la liste dépasse la hauteur de l'écran, vous pouvez utiliser la combinaison de touches Shift+PageUp pour revenir vers le début de la liste. Ceci marche sous Linux en mode console avec xterm ou rxvt.
      
      Les archives publiques disposées sur les serveurs FTP se trouvent 
      généralement dans le répertoire /pub. Dans cet exemple, vous savez 
      déjà que les sources du noyau se trouvent dans le répertoire 
      /pub/Linux/kernel, donc 
      vous entrez la commande suivante pour vous rendre dans ce 
      répertoire.
      
      
ftp> cd pub/Linux/kernel 250-README for kernel 250- 250-What you'll find here: kernel sources and patches 250- 250- 250 CWD command successful.
Les messages que vous voyez, précédés de "250", sont les messages d'informations transmis par le serveur. Dans notre cas, le serveur ftp est configuré pour vous envoyer automatiquement le fichier README et l'afficher lorsque vous entrez dans le répertoire.
      
      Maintenant, après que vous ayez utilisé la commande 
      ls, vous constatez que vous pouvez vous rendre 
      dans le répertoire du noyau de votre choix (au moment où j'écris 
      ce document, la version la plus récente est la v2.2). Accédez au 
      répertoire et regardez les fichiers contenus dans le répertoire. 
      Le fichier que vous souhaitez télécharger est 
      linux-2.2.13.tar.gz. Donc vous entrez 
      ceci :
      
      
ftp> get linux-2.2.13.tar.gz local: linux-2.2.13.tar.gz remote: linux-2.2.13.tar.gz 200 PORT command successful. 150 Opening BINARY mode data connection for linux-2.2.13.tar.gz (15079540 bytes).
Le programme ftp commence à sauvegarder le fichier distant vers votre ordinateur.
Si vous souhaitez enregistrer le fichier distant vers le fichier 
      toto.tar.gz, vous devez le
      spécifier en indiquant les paramètres suivants :
ftp> get linux-2.2.13.tar.gz toto.tar.gz local: toto.tar.gz remote: linux-2.2.13.tar.gz 200 PORT command successful. 150 Opening BINARY mode data connection for linux-2.2.13.tar.gz (15079540 bytes).
Si vous souhaitez télécharger plus d'un fichier à la fois, vous
      pouvez utiliser la commande 
      mget. Vous pouvez
      utiliser la commande avec un nombre limité de nom de fichier, en
      utilisant les options prévues à cet effet. Par exemple :
ftp> mget linux*
Cette commande va télécharger les fichiers commençant par la
      chaîne de caractère "linux". Normalement, la commande vous demandera
      une confirmation de téléchargement de chaque fichier. Vous pouvez
      modifier cette option l'aide de la commande 
      prompt.
Maintenant, disons que vous venez d'écrire une partie d'un programme, et que vous souhaitez transférer ce programme sur le serveur de MetaLab (uploader). Tout d'abord, il faut changer de répertoire pour aller dans le dossier /incoming (la plupart des serveurs FTP publics possèdent un dossier appelé incoming ou uploads, où des fichiers peuvent être uploadés), donc vous utilisez la commande d'upload :
ftp> cd /incoming ftp> put toto.tar.gz local: toto.tar.gz remote: toto.tar.gz 200 PORT command successful. 150 Opening BINARY mode data connection for toto.tar.gz. 226 Transfer complete. 10257 bytes sent in 0.00316 secs (3.2e+03 Kbytes/sec)
La commande 
      put s'utilise comme la
      commande 
      get, donc vous pouvez
      utiliser la commande mput pour uploader plusieurs fichiers en même
      temps. Vous pouvez aussi uploader un fichier de votre disque dur sur le
      serveur avec un nom différent, en spécifiant le nouveau nom de fichier
      comme argument.
Mais comment uploader le fichier 
      toto.tar.gz qui ne se
      trouve pas dans le répertoire local en cours ? Vous pouvez changer de
      répertoire local en utilisant la commande lcd :
ftp> lcd /home/toto/ Local directory now /home/toto
Le client ftp permet l'utilisation du point d'exclamation (!) pour effectuer des commandes locales. Par exemple, pour afficher la liste des fichiers dans le répertoire local en cours, entrez ceci :
ftp> !ls
Cette commande appelle les fonctions du shell, et utilise la
      commande indiquée après le "!". Vous pouvez utiliser n'importe quelle
      commande que votre shell supporte en appelant le "!". Notez que !cd ne
      changera pas de répertoire local, c'est pourquoi la commande 
      lcd existe.
Mais ne souhaiteriez-vous pas connaître la progression de vos transfert pendant l'utilisation de FTP ? Vous pouvez utiliser la commande hash pour afficher la progression de votre transfert :
ftp> hash Hash mark printing on (1024 bytes/hash mark).
Comme vous pouvez le voir, une indication vous sera affichée tous les 1024 bytes pendant le téléchargement.
Il y a aussi l'option 
      tick :
ftp> tick Tick counter printing on (10240 bytes/tick increment). Bytes transferred: 11680
Il existe beaucoup d'autres commandes ftp. Si vous avez les
      permissions nécessaires, vous pouvez créer un répertoire sur le serveur
      distant en utilisant la commande 
      mkdir. Vous pouvez aussi
      effacer un fichier avec la commande 
      delete, ou un répertoire
      avec la commande 
      rmdir. Enfin, vous pouvez
      changer les permissions sur les fichiers en utilisant la commande 
      chmod.
Pour plus d'informations concernant l'utilisation de FTP,
      reportez-vous à l'aide intégrée du logiciel (accessible via la commande help
      sans arguments, pour la liste des commandes disponibles, ou avec help
      <nom de la commande> pour une aide sur une commande spécifique.
      Vous pouvez aussi utiliser l'aide Unix pour FTP en tapant 
      man ftp.
Le programme FTP original est celui en ligne de commande, et c'est un bon investissement que d'en apprendre les fonctions . C'est le seul client FTP dont vous pouvez être sûr qu'il fonctionnera sous plusieurs systèmes (même Win32 possède la commande ftp, bien qu'elle soit archaïque).
Il existe beaucoup d'autres clients ftp en ligne de commande (c'est à dire une interface basée sur du texte). La liste ici présente n'est pas complète, mais elle contient les plus populaires. Faites une recherche sur FreshMeat pour en trouver plus.
| ![[Avertissement]](images/warning.png) | Message du traducteur | 
|---|---|
| Attention, il est possible que les liens donnés ne soient plus valides, ou que les commentaires ne reflètent plus la vérité concernant les logiciels. En effet, ce document date du 9 Janvier 2000, et les logiciels ont certainement évolué, d'autres seront inexistant. | 
NcFTP est le client ftp préféré des utilisateurs d'Unix. Il est fournis avec la plupart des distributions de Linux, et offres des options telles que les signets pour accéder plus facilement aux serveurs de votre choix. La version 2 de NcFTP avait de sérieux problème avec l'affichage en plein écran. Mais c'est désormais corrigé dans la version 3 (actuellement en version bêta).
Il n'est pas totalement compatible avec l'intégralité des commandes ftp. Par exemple, get et put dans NcFTP revient à mget et mput dans un client ftp standard. Donc si vous souhaitez enregistrer un fichier distant vers un nom de fichier local différent, vous devez faire get -z <nom distant> <nom local>. Toutefois NcFTP possède une aide en ligne très bien conçue pouvant vous guider pendant l'apprentissage des commandes.
Vous pouvez télécharger la dernière version à cette adresse : http://www.ncftp.com.
LukemFTP est un dérivé du client ftp NetBSD pour d'autres systèmes d'exploitations. et il tient son nom de l'auteur de plusieurs fonctionnalités avancées, ce qui inclut : un éditeur de ligne de commande, des efforts sur les protocoles FTP et les HTTP, une barre de progression dynamique, un support IPv6, un support SOCKS, et d'autres fonctions qui le rendre extrêmement complet.
Je recommande vivement lukemftp pour les utilisateurs qui ne souhaitent rien changer par rapport au client ftp standard, tout en incluant des fonctions avancées.
Vous pouvez vous procurer la dernière version de lukemftp à l'adresse : ftp://ftp.netbsd.org/pub/NetBSD/misc/lukemftp/.
lftp est un client ftp en ligne de commande très sophistiqué. Il utilise la bibliothèque GNU readline pour fonctionner, donc il intègre des fonctions telles que que le complément (le rajout automatique de la fin d'un nom en appuyant sur <tab>) et l'historique (le fait de pouvoir revenir sur une commande déjà entrée). lftp possède aussi des signets, supporte les miroirs, et peut transférer plusieurs fichiers en parallèle.
Vous pouvez vous procurer la dernière version de lftp ici : http://lftp.yar.ru/get.html.
Client FTP confortable en mode plein écran. Ce qui lui manque en fonctionnalités est remplacé par sa facilité d'utilisation. Vous pouvez naviguer dans les répertoires en utilisant les flèches et en appuyant sur entrée.
La dernière version du logiciel est disponible ici : http://ftp.giga.or.at/pub/nih/cftp/.
Yafc est un très bon client FTP, qui inclus des fonctionnalité comme le cache de navigation, la capacité à compléter les noms des fichiers distants (voir lftp), les alias, les listes de fichiers colorisées, les get, put, lls et rm récursifs, une file d'attente, des connexions multiples, un support proxy et bien d'autres encore. Il supporte aussi l'authentification Kerberos4.
Vous pouvez vous procurer la dernière version ici : http://yafc.sourceforge.net/download.php. /! Lien modifié par le traducteur !\
Il existe beaucoup de clients FTP graphiques pouvant être utilisé sous un système X Window. Ces clients offrent une facilité d'utilisation pour les utilisateurs utilisant un environnement graphique, et parfois offrent des fonctionnalités qu'il serait difficile d'implémenter dans un client ftp en ligne de commande.
gFTP est un client FTP écrit pour X Windows, utilisant GTK. L'interface possède des ressemblances avec le populaire WS_FTP, utilisé couramment sous un système instable que nous ne citerons pas.
Les fonctions de gFTP : téléchargements simultanés, reprise des transferts interrompus, file d'attente, téléchargement de répertoires entiers, support des proxys, cache des répertoire, transferts en mode passif ou non-passif, support du cliquer-déplacer, un manager de téléchargements, et encore plus…
Si vous utilisez le Linux RedHat et que vous avez le bureau GNOME installé, vous possédez sûrement déjà le logiciel gFTP. Sinon, vous pouvez le télécharger à partir de cette page d'accueil : http://gftp.seul.org/.
WXtp est un client FTP pour X Window, écrit pour être utilisé couramment sur les stations Linux. Il a été programmé avec le WXWindows toolkit, donc il peut être compilé soit sur Motif soit sur GTK+.
Il inclut une interface utilisateur intuitive (un peu comme WS_FTP), un manager de sessions, une aide en ligne, une barre de progression, et d'autres.
Téléchargez WXftp à cette adresse : http://www.wxftp.seul.org.
| ![[Note]](images/note.png) | Note du traducteur | 
|---|---|
| le logiciel se nomme maintenant AxyFTP | 
LLNL XFTP était un des premiers clients FTP sous Linux. Il supporte FXP (transfert de fichier entre deux serveurs distants), et son interface a été développée sous Motif.
Vous trouverez plus d'informations sur : http://www.llnl.gov/ia/xdir_xftp/.
Guiftp est un client ftp simple écrit avec la boîte à outils GTK+. Il est adapté aux personnes ne recherchant pas un grand nombre d'options. Il se veut simple avec une interface intuitive.
La page d'accueil de Guiftp : http://www.altern.org/ldufresne/guiftp/.
Un serveur FTP traditionnel est exécuté depuis inetd. Le port du FTP standard est le port 21. Quand un utilisateur tente de se connecter, le serveur FTP utilise un système standard dans lequel il vérifie le nom d'utilisateur et le mot de passe dans un fichier contenant les mots de passe, ou dans les tables NIS si vous utilisez NIS. Si les informations de connexion sont correctes, l'utilisateur détient un accès au système.
      
      Un FTP anonyme fonctionne différemment. L'utilisateur se connecte 
      avec, soit le nom d'utilisateur anonymous, soit le nom 
      d'utilisateur ftp (ce qui peut être définit dans le fichier de 
      configuration du serveur). Il a accès à une arborescence située 
      dans un environnement restreint (chroot — l'arborescence en 
      question lui apparaît comme la racine du système de fichiers). 
      Cela garantit qu'il ne pourra pas accéder aux répertoires qui lui 
      sont interdits. L'arborescence de l'environnement restreint 
      contient habituellement une ébauche du système de fichiers, avec 
      des répertoires bin/, 
      etc/ et lib/. Les fichiers à télécharger sont 
      généralement placés dans le répertoire /pub.
      
      
La raison de l'utilisation d'un faux système de fichiers dans une arborescence FTP pour les utilisateurs anonyme, est que le démon FTP utilise des commandes externes pour les requêtes de type ls. Vous pouvez aussi placer d'autres programmes dans le répertoire /bin, et un utilisateur peut les lancer avec la commande SITE dans son client ftp. Par exemple, le FTP Red Hat inclut la commande RPM (pour installer les paquets RPM à partir du site).
D'autres serveurs FTP fonctionnent différemment. Par exemple, certains serveurs permettent la mise en place de systèmes d'authentification différents de celui d'Unix (ce qui permet d'avoir des comptes dédiés à l'accès ftp). Certaines serveurs (par exemple ProFTPD et NcFTPD) disposent d'une commande ls interne et n'ont donc pas besoin d'une arborescence dédiée à leur environnement restreint. FTP4ALL, par exemple, n'utilise pas les mots de passe définis par le système. Il utilise son propre fichier contenant les informations sur les utilisateurs, et possède des fonctions de limitation de bande passante, et des messages personnalisés pendant la session ftp.
WU-FTPD est le démon ftp inclus dans la plupart des distributions Linux, même dans RedHat et Caldera. Vous pouvez en savoir plus à l'adresse http://www.wu-ftpd.org.
ProFTPD est un puissant serveur FTP qui inclut une configuration à la manière d'Apache, et un support étendu pour les serveurs virtuels, et bien sur un ls interne.
Plus d'informations sur http://www.proftpd.org