TP : Serveur FTP et client FTP
Objectifs : Installation et configuration d’un serveur FTP.
Utilisation des différents clients ftp et comparaison
Conditions de réalisation : Environnement : debian et ubuntu.
Durée : 2H
Lien vers le sujet du T.P.
http://btsio.net/wakka.php?wiki=201502051tsiocServeurEtClientFtp
Afin d'alimenter un site web hébergé en fichiers, il faut mettre en place une solution d'échange de fichier conviviale pour le développeur web..
Nous allons nous placer du côté du serveur en explorant les possibilités du protocole FTP.
http://fr.wikipedia.org/wiki/File_Transfer_Protocol
Notions sur le protocole FTP : FTP est le protocole de transfert de fichier le plus utilisé sur Internet. FTP sert à transférer des fichiers entre deux ordinateurs : un client et un serveur. Pour se connecter sur le serveur, il faut avoir un compte (identifiant + mot_de_passe).
Cependant, un serveur peut autoriser le FTP anonyme (identifiant : anonymous ou ftp ; mot_de_passe : généralement votre e-mail).
FTP a été défini par Postel et Reynolds en 1985 dans la RFC 959.
FTP utilise deux connexions TCP pour fonctionner entre le client et le serveur.
La première connexion FTP est appelée connexion de contrôle, et s'établit entre le port TCP 21 du serveur et un port aléatoire du client. Cette connexion permet au client d'envoyer des commandes au serveur, en texte clair, et de recevoir les réponses du serveur. Elle reste active pendant toute la durée de la session FTP.
La deuxième connexion est appelée connexion de données, et va être crée chaque fois que l'on va transférer un fichier entre le client et le serveur (généralement entre le port 20 du serveur et un port aléatoire du client).
Pour réaliser ce TP, nous allons nous intéresser au serveur FTP proftpd ainsi qu’à deux clients FTP : fireftp (un addon à firefox) et le client en ligne de commande ftp.
1. Installez le paquet proftpd (mode indépendant) et consultez le fichier de configuration /etc/proftpd/proftpd.conf
2. Créer un compte utilisateur à l'aide de la commande useradd. Pour cela, regardez l'aide en ligne et créez un utilisateur appartenant au groupe developpeur. Cet utilisateur doit posséder son répertoire personnel et doit utiliser le shell /bin/false (pour ne pas qu'il puisse ouvrir de session sur le serveur) et avec un mot de passe (utilisation intégré de la commande mkpasswd).
Attention en une seule ligne de commande.
3. Pour tester votre serveur ftp, vous allez installer sur firefox un addon qui s'appelle fireftp. Ensuite, vous allez tenter d'ouvrir une connexion avec votre utilisateur.
4. Malheureusement, votre utilisateur n'a pas le droit de se connecter au ftp car il ne possède pas de shell valide pour proftpd.
Allez voir le fichier journal /var/log/proftpd/proftpd.log pour constater le problème.
Modifiez le fichier de configuration et redémarrer le service.
5. On veut que les utilisateurs soient bloqués dans leur répertoire afin qu'il ne puisse pas aller voir les fichiers contenus dans les autres répertoire. Pour cela, modifier le fichier de configuration en décommentant la ligne DefaulRoot ~.
6. On veut ouvrir également ce serveur ftp au connexion anonyme afin de mettre à disposition des développeurs des outils libres en téléchargement. Modifiez le fichier de configuration et redémarrer le service.
7. Testez également le client ftp en ligne de commande. Comment télécharger un fichier ?