T.P. Proftpd
Contexte : L'entreprise Lv souhaite donner accès à ses commerciaux aux tarifications des produits.
Proposez une solution technique de partage de fichiers entre l'entreprise et ses collaborateurs.
Parmi les solutions proposées : Cloud (
DropBox?), FTP, messagerie, serveur Web ....
on va s'intéresser à la mise en place d'un F.T.P.
L'objectif : Nous allons travailler sur une machine Debian et installer un service F.T.P.
Mettez en fonctionnement la machine
DebianMoi habituelle.
Nous allons tout d'abord se mettre sur le réseau, pour cela
1) quelle est le nom de votre interface ethernet ?
mii-tool -->
ethx
Si problème ...
> rm /etc/udev/rules.d/70-persistent-net.rules puis redémarrez
Ensuite mii-tool doit fonctionner
2) vérifiez que vous êtes en mode
pont dans VirtualBox
3) Lancez la commande
dhclient ethx
4 ) vérifiez que vous avez une adresse IP dans la salle
ifconfig
5) mettez à jour la machine Debian
apt-get update
apt-get upgrade
Prévoir un temps certain ...
questionnement (pendant :
• Que veut dire l'acronyme FTP ?
• Citer quelques applications des serveurs FTP ?
• Dans le cadre du protocole FTP, quels sont les numéros de port associés ? Et leur rôles distincts ?
• Connaissez-vous d'autre protocoles de transfert de fichiers ?
Donnez la différence majeure entre ces protocoles ?
• Citer quelques exemples de serveur de fichiers ? Et les caractériser ?
(nom, très bref historique, domaine d'utilisation, tendances)
Maintenant nous allons installer le package du service FTP,
nous avons choisi le package de proftpd.
apt-cache search proftpd
Liste de paquets proftpd ...
apt-get install proftpd
installer en mode indépendant.
Si nécessaire ... pour désinstaller entièrement un package
apt-get remove --purge le-nom-du-logiciel
Pour vous connecter au service :
ftp localhost
user test
mot de passe test
Plus intéressant
vous connecter sur la machine de votre voisin ...
ftp adresse IP de votre voisin
par exemple
ftp 192.168.27.77
help vous donnera la liste des principales commandes.
Comment envoyer un fichier ? recevoir un fichier ?
Maintenant il faut vérifier le fonctionnement de votre serveur FTP.
Pour cela plusieurs clients sont possible :
- en ligne de commande (c.f. plus haut)
- client windows, par exemple avec un navigateur
ftp://192.168.0.47/
- client linux, idem qu'au dessus
- FileZilla client (il existe une version serveur).
- client ftp pour firefox :
https://addons.mozilla.org/fr/firefox/addon/fireftp/
fireftp.
Testez les différentes solution en détaillant les commandes, procédures
pour se connecter, envoyer et recevoir un fichier.
Compléments :
Le fichier de configuration se trouve ici :
/etc/proftpd/proftpd.conf
Valider la ligne suivante (c'est à dire supprimer le #) :
DefaultRoot ~
ATTENTION ! pensez à relancer le logiciel
proftpd
saisir la commande
/etc/init.d/proftpd restart
Que constatez-vous ?
(vous utiliserez les commandes
dir et
pwd).
Comment créer un client anonyme (c'est à dire sans mot de passe) ?
Seconde partie
Installer apache2 (c.f. au dessus)
tester le serveur :
http://adresse.I.P.
par exemple
http://192.168.27.177
(Sous Linux, Windows ...).
Le répertoire qui va contenir les fichiers du serveur est
/var/www
Créer un fichier
index.htm ou
index.php en fonction de vos connaissances.
Attention pour le PHP il faut installer le module php ...
Question : Comment faire pour associer le site web de l'utilisateur
test
à l'URL
http://192.168.0.47/test/ ?
Nous vous proposons la solution suivante :
Allons dans le répertoire de l'usager
test (/home/test/)
créer le répertoire
siteweb
(ceci pour lui permettre de déposer ses fichiers web grâce à ftp !).
mkdir siteweb
Ensuite aller dans le répertoire
/var/www/
et saisir la commande
ln -s /home/test/siteweb/ test
Maintenant le site web de l'utilisateur
test est accessible grâce à l'U.R.L.
http://192.168.0.47/test/
Que fait la commande précédente ?
Je vous propose de créer un utilisateur anonymous, pour cela modifier
le fichier /etc/proftpd/proftpd.conf de la manière suivante :
<Anonymous ~ftp>
User ftp
Group nogroup
# We want clients to be able to login with "anonymous" as well as "ftp"
UserAlias anonymous ftp
# Cosmetic changes, all files belongs to ftp user
DirFakeUser on ftp
DirFakeGroup on ftp
RequireValidShell off
# Limit the maximum number of anonymous logins
MaxClients 10
# We want 'welcome.msg' displayed at login, and '.message' displayed
# in each newly chdired directory.
DisplayLogin welcome.msg
DisplayChdir .message
</Anonymous>
Tester en vous connectant en anonyme et vérifier ce qui est enregistré
dans le fichier de log de proftpd :
/var/log/proftpd/proftpd.log*