apt-get install proftpd

Installation

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

Si une erreur s'affiche, dans ce cas lancer un apt-get update.

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.

Paramétrage

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

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 nano

L'utilisation du shell ”/bin/false” permet d'interdire l'accès au shell pour les utilisateurs ftp. Néanmoins, cette solution n'est pas satisfaisante en terme de sécurité. Pour vous en convaincre et trouver la parade, allez faire un tour sur le site de Jordan Sissel.

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

PS : Si le serveur ne démarre pas de suite après :

/etc/init.d/proftpd restart

Vous avez le message suivant :

* Stopping ftp server proftpd [ OK ] * Starting ftp server proftpd - warning: unable to determine IP address of 'nameserver' - error: no valid servers configured - Fatal: error processing configuration file '/etc/proftpd/proftpd.conf'

dans ce cas, éditer le fichier hosts

vi /etc/hosts

puis indiquer votre adresse ip entre ces deux phrases pour donner ceci : (n'oubliez pas de mettre une tabulation entre l'adresse ip et le nom du serveur)

# — Gandi DHCP Script —

123.123.123.123 ganditest

# — End —

Enregistrez votre fichier puis redémarrer le serveur : /etc/init.d/proftpd restart

Pour ceux qui sont plus “juniors” ou encore plus “visuels”, nous vous conseillons cet également très bon tutoriel sur le site du zéro.