Table des matières

PureFTPd : serveur FTP

Introduction

Déscription

PureFTPd est un serveur FTP(File Transfert Protocole) sous license BSD.

La particularité de PureFTPd est qu'il permet facilement la création d'utilisateur virtuel, cela signifie que les utilisateurs de PureFTDd ne sont pas forcés d'être enregistrés sur le système hôte.

PureFTPd est relativement simple à configurer, il est possible de le customiser à souhait. Simple ne veut pas dire non sécurisé!

Quelques fonctions intégrées à PureTFPd

Installation

Pour installer PureFTDd rien de plus simple :

apt-get update && apt-get install pure-ftpd

Pendant l'installation, debconf va vous posez plusieurs questions :

Si vous utilisez régulièrement votre serveur FTP, le mieux est de choisir “serveur autonome”.

Répondre non.

Si vous vous êtes trompez dans une de vos réponses, tapez (optionnel) :

dpkg-reconfigure pure-ftpd

Cette commande permet de reconfigurer le paquets pure-ftpd.

Le serveur doit-être actif, pour le vérifier, utilisons la commande service :

service pure-ftpd status

Ajouter un utilisateur et un groupe à PureFTDd

groupadd ftpgroup && sleep 10 && useradd -g ftpgroup -d /dev/null -s /usr/bin/nologin ftpuser
La commande globale fonctionne sans la commande sleep, mais j'estime qu'il est bon de rappeler des commandes de bases. :-)

Prérequis avant d'ajouter un utilisateur virtuel à PureFTPd :
1)Avoir un serveur Apache fonctionnel.

2)Créer le répertoire “public_html” :

cd ; mkdir "public_html"

3)Ajouter le module “userdir” à Apache :

a2enmod userdir

Ajoutez un utilisateur2) “user” avec, comme répertoire racine “/home/user/public_html”, qui doit être un répertoire déjà existant sur le système :

pure-pw useradd user -u ftpuser -d /home/user/public_html
Modifiez les champs “user” par le nom d'utilisateur que vous souhaitez ajouter à votre serveur!

Se rendre dans le répertoire “/etc/pure-ftpd/auth/” :

cd /etc/pure-ftpd/auth/

créer un lien symbolique3) nommé “/etc/pure-ftpd/auth/50puredb” pointant sur le fichier “/etc/pure-ftpd/conf/PureDB”

ln -s ../conf/PureDB 50puredb

Mettre à jour la base de données de PureFTPd :

pure-pw mkdb

Relancer le service PureFTPd :

service pure-ftpd restart

Pour créer un deuxième utilisateur “fifi”, rien de plus simple, tapez à nouveau :

pure-pw useradd fifi -u ftpuser -d /home/user/public_html && pure-pw mkdb

Et relancez le serveur pour prendre en compte l'ajout de l'utilisateur :

service pure-ftpd restart

Vous pouvez créer ainsi autant d'utilisateurs que vous le souhaitez !

Pour connaître la liste des utilisateurs créés pour PureFTPd tapez :

pure-pw list

Pour avoir la liste des utilisateurs connectés tapez :

pure-ftpwho

Pour modifier le mot de passe de l'utilisateur “fifi” :

pure-pw passwd fifi

Pour supprimer l'utilisateur4) “fifi” :

pure-pw userdel fifi

Configuration

La plupart des options de configuration se font par les fichiers présents dans le répertoire “/etc/pure-ftpd/conf/”

Exemples de configuration

Se rendre dans le répertoire “/etc/pure-ftpd/conf/”

cd /etc/pure-ftpd/conf/

Autoriser l'envoi de fichiers sur le serveur FTP par les utilisateurs :

echo yes > KeepAllFiles

Ne pas accepter les connexions anonymes :

echo no > NoAnonymous

Pour rappel, le chevron fermant “>” permet de rediriger la sortie d'une commande (ici, la sortie est redirigée vers le fichier “NoAnonymous”)

Nota :

Il existe aussi une interface graphique de configuration pour PureFTPd : Pureadmin

Utilisation

Pour se connecter à votre seveur FTP à partir du serveur lui même tapez :

ftp localhost

Votre login et votre mot de passe va vous être demandé. Ensuite vous allez arriver sur un prompt :

ftp>
1)
N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !
2)
Voir : useradd