Petit guide du FTP

Version française du petit guide FTP mini-HOWTO

Loïs Di Qual

Adaptation française

Éric Madesclair

Relecture de la version française

Bernard Adrian

Relecture de la version française

Jean-Philippe Guérard

Préparation de la publication de la v.f.

Version : 0.2.fr.1.0

25 septembre 2005

Historique des versions
Version 0.2.fr.1.02005-09-25LDQ, ÉM, BA
Première traduction française.
Version 0.22000-01-09MB

Résumé

Ce document explique comment utiliser les clients et serveurs ftp.


Table des matières

Préambule
Me contacter
Informations légales et distribution
Versions de ce document
Qu'est-ce que le FTP ?
Guide pour débutant
Lancer le programme ftp
Se connecter à un serveur FTP
Types de transferts de fichiers
Explorer et voir la liste des fichiers
Télécharger et uploader des fichiers
Utiliser des commandes shell
Progression des transferts
Autres commandes FTP
Clients ftp en ligne de commande
NcFTP
lukemftp
lftp
cftp
yafc
Les clients FTP X Window
gFTP
WXftp
LLNL XDIR et XFTP
Guiftp
Serveurs FTP
Comment fonctionne un serveur FTP
Aide sur les serveurs FTP

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 : .

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).

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 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]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.

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.

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.