Un serveur FTP en 5 minutes chrono

Publié le 12 janvier 2009 par Nicolargo

> top chrono

Nous allons dans ce billet détailler l’installation d’un serveur FTP sur une machine tournant sous Ubuntu 8.10. Le serveur FTP choisi est Pure-ftpd (je l’utilisai déjà sous FreeBSD et il est d’une stabilité à toutes épreuves).

Installation de Pure-ftpd

Il y a plus dûr:

sudo apt-get install pure-ftpd pure-ftpd-common

Suite à cette commande, le serveur FTP sera lancé automatiquement. L’ensemble des fichiers de configuration de Pure-ftpd se trouve dans le répertoire suivant: /etc/pure-ftpd/

Il faut ensuite créer l’utilisateur/groupe système avec lequel le serveur FTP sera lancé:

sudo groupadd ftpgroup

sudo useradd -g ftpgroup -d /dev/null -s /etc ftpuser

Configuration de Pure-ftpd

De base, Pure-ftpd base son authentification sur le PAM système puis sur un fichier de donnée interne. Personnellement et pour des raisons de sécurité, je préfère désactiver l’authentification par PAM. Pour cela il faut éditer le fichier conf/PAMAuthentication et remplacer la ligne yes par no:

vi /etc/pure-ftpd/conf/PAMAuthentication

no

Création d’un utilisateur FTP

Par exemple si vous voulez créer l’utilisateur ftp nicolargo dont le répertoire sera /home/nicolargo, il faut saisir les commandes suivantes:

sudo mkdir /home/ftp/nicolargo

sudo chown -R ftpuser:ftpgroup /home/ftp/nicolargo

sudo pure-pw useradd nicolargo -u ftpuser -g ftpgroup -d /home/ftp/nicolargo

Ces commandes vont avoir comme buts de créer un répertoire local puis de renseigner le fichier de configuration de Pure-ftp: /etc/pure-ftpd/pureftpd.passwd:

# cat /etc/pure-ftpd/pureftpd.passwd

nicolargo:$1$ucgVifA0$HFoang9VssnUnErD3X4bj1:1001:1001::/home/ftp/nicolargo/./::::::::::::

Enfin il faut transofrmer ce fichier dans un format sécurisé et lisible par le serveur FTP (/etc/pure-ftpd/pureftpd.pdb):

sudo pure-pw mkdb

On relance alors le serveur pour que la configuration soit prse en compte:

sudo /§etc/init.d/pure-ftpd restart

< fin du chrono ! (5 minutes !!! :))

Quelques commandes utiles…

Voici quelques commandes utiles à l’administration de votre serveur FTP.

Pour configurer le message affiché lors de la connexion des utilisateurs, il faut commencer par editer un fichier texte contenant le message:

# vi /etc/motd.pure-ftpd

Bienvenue sur mon beau serveur FTP !

Puis ajouter le chemin de ce fichier dans le fichier /etc/pure-ftpd/conf/FortunesFile:

# vi /etc/pure-ftpd/conf/FortunesFile

/etc/motd.pure-ftpd

Pour connaitre la liste des utilisateurs ayant un compte FTP:

# sudo pure-pw list

nicolargo /home/ftp/nicolargo

Pour changer le mot de passe d’un utilisateur:

sudo pure-pw passwd nicolargo

Pour supprimer le compte d’un utilisateur:

sudo pure-pw userdel nicolargo