Ce petit tuto vous permettra de mettre en place un serveur FTP qui pourra vous servir de test
Installation de Pure-ftpd
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:
# sudo vi /etc/pure-ftpd/conf/PAMAuthentication
no
# sudo vi /etc/pure-ftpd/conf/DontResolve
yes
Pour finir, il faut créer un lien symbolique pour activer l'authentification des utilisateurs virtuels :
# cd /etc/pure-ftpd/auth/
# sudo ln -s ../conf/PureDB 50puredb
Création d'un utilisateur FTP
Par exemple si vous voulez créer l'utilisateur ftp nicolargo dont le répertoire sera /home/ftp/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:
# sudo 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
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:
# sudo 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:
# sudo 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
Crédit : nicolargo
Installation de Pure-ftpd
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:
# sudo vi /etc/pure-ftpd/conf/PAMAuthentication
no
# sudo vi /etc/pure-ftpd/conf/DontResolve
yes
Pour finir, il faut créer un lien symbolique pour activer l'authentification des utilisateurs virtuels :
# cd /etc/pure-ftpd/auth/
# sudo ln -s ../conf/PureDB 50puredb
Création d'un utilisateur FTP
Par exemple si vous voulez créer l'utilisateur ftp nicolargo dont le répertoire sera /home/ftp/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:
# sudo 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
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:
# sudo 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:
# sudo 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
Crédit : nicolargo