Le FTP (File Transfer Protocol) est un protocole de communication dédié à l'échange informatique de fichiers sur un réseau TCP/IP. Il permet, depuis un ordinateur, de copier des fichiers vers un autre ordinateur du réseau.
Nous allons voir ici comment mettre en place un serveur FTP sur une machine virtuelle de Gandi.
La première étape consiste à installer le logiciel ProFTP sur le serveur.
apt-get install proftpd
Il est préférable de valider l'installation en standalone, ainsi le serveur FTP sera toujours à l'écoute. Dans le cas du choix inetd, le serveur FTP ne se lance qu'au moment où une connexion est initialisée.
A l'aide d'un éditeur de texte type nano, éditez le fichier shells qui se trouve dans /etc/ et rajouter la ligne /bin/false
Note :
Nano vous permettra d'éditer vos documents de type texte (comme vi mais en plus intuitif). L'installation se fait avec la commande apt-get install nanoPour notre exemple, nous allons créer les dossiers ftp, et les sous-domaines upload et download, avec les droits en lecture seule pour download et lecture/écriture pour upload, afin que les utilisateurs puissent y déposer des fichiers.
cd /home/ftp/ mkdir download upload cd /home sudo chmod 755 ftp cd ftp chmod 755 download chmod 777 upload
Voilà la création des dossiers et des droits terminée, passons à la création du compte "gandi" qui aura accès au FTP.
useradd gandi -d /home/ftp -s /bin/false -m passwd gandi
Il ne vous reste plus qu'à éditer le fichier /etc/proftpd/proftpd.conf avec nano pour modifier la configuration de votre serveur (adresse du port, nom du serveur, nombre de personnes qui peuvent s'y connecter…)
En particulier, pour que chaque nouvel utilisateur Unix ait directement accès à son dossier /home/nom_utilisateur, il faut décommenter la ligne #DefaultRoot ~ du fichier de configuration. Dès lors, cet utilisateur ne pourra pas circuler librement dans l'arborscence, et sera limité à son /home/~
Le lancement du serveur se fait avec la commande suivante :
sudo /etc/init.d/proftpd start
Pour le stopper, remplacez start par stop, et pour le redémarrer utilisez restart.