Catégories
Linux Debian

Installer un serveur FTP Proftpd avec utilisateurs virtuels

Avoir un serveur FTP est bien utile pour transférer les fichiers de vos sites.
Nous allons mettre en place un serveur FTP avec Proftpd, avec seulement des utilisateurs virtuels, sur Debian 9 Stretch.


Ce tutoriel est bien utile et peut être combiné avec le tutoriel sur Installer un serveur LAMP sur Debian 9 stretch.

Dans ce tutoriel, nous parlerons d’utilisateurs virtuels donc pas d’accès ssh pour les utilisateurs.

Installation et configuration de Proftpd

# installation Proftpd
apt-get update && apt-get install proftpd

Durant l’installation nous choisirons d’installer la version « Standalone » ou « Indépendamment« 

Maintenant passons à la configuration du serveur ftp.
On va faire en sorte que chaque utilisateur ftp ne puisse pas sortir de leurs répertoires assignés, on peut également modifier le port d’écoute et il faut déclarer un fichier pour gérer les utilisateurs.

# vim /etc/proftpd/proftpd.conf

# Il faut dé-commenté cette ligne // Pour bloquer l'utilisateur dans son répertoire
DefaultRoot		~

# Modification du port par défaut
port 21

# Il faut dé-commenté cette ligne // Pour active le passive port
PassivPorts XXXX XXXX

# Ajout à la fin du fichier // Pour gérer les utilisateurs
AuthUserFile    /etc/ftpd.passwd

Attention : Si vous utiliser un pare-feu sur votre serveur, il faut penser à ouvrir la plage de port du PassivPort de votre pare-feu.

Avec Proftpd, les utilisateurs ont besoin d’avoir un shell actif. Dans notre cas nous ne voulons pas qu’il ait c’est droits, donc nous allons créer un shell bidon qui sera attribuer à tous les utilisateurs ftp.

# vim /etc/shells

# Ajout à la fin //
/bin/false

Ajout d’un utilisateur

Nous allons ajouter notre premier utilisateur ftp. Pour cela, on se rend dans /etc pour créer le fichier que nous avons déclarer.

Je vais décomposer les toutes les options de la commande,  (–name= nom de l’utilisateur) (–uid= & –gid= ID de l’utilisateur et du groupe) (–home= Répertoire d’accès) (–shell= Sont shell bidon)

# (--name= nom de l'utilisateur) (--uid= & --gid= ID de l'utilisateur et du groupe) (--home= Répertoire d'accès) (--shell= Sont shell bidon)		
ftpasswd --passwd --name=vdemo --uid=33 --gid=33 --home=/var/www --shell=/bin/false --file=/etc/ftpd.passwd

Dans l’exemple ci-dessus, pour l’utilisateur vdemo j’ai choisi en uid et gid (33) qui est le groupe www-data.

Vous ne pourrez donc modifier seulement les dossiers et fichiers ayant comme propriétaire www-data (33).
Petit rappel de comment modifier le propriétaire d’un fichier ou d’un répertoire.

chown 33:33 -R /var/www/mondossier

Enfin il ne reste plus qu’à redémarrer le serveur Proftpd

service proftpd restart

Les informations des utilisateurs sont stockées dans un fichier, à raison de un utilisateur par ligne, vous pouvez modifier les utilisateurs, et il suffit juste de redémarrer le serveur ftp à chaque modification de ce fichier.

# nano /etc/ftpd.passwd

vdemo:fdgfdg$koNffdggmdfgfdgAeBBbfg0fgd:33:33::/var/www/mondossier:/bin/false

service proftpd restart

Conclusion

Nous avons dès à présent, un serveur FTP multi utilisateur complet sur Debian 9 stretch. Une évolution du tutoriel est possible si on souhaite y rajouter un certificat SSL/TLS.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *