Installer votre serveur FTP

Objectif

Permettre aux utilisateur d’un réseaux local d’accéder aux répertoire /var/www sur votre/vos serveur(s) local de façon sécurisé. Nous avons vu dans un autre article qu’il est possible de monter un disque distant à travers SSHFS (que je trouve pour ma part bien plus pratique que FTP) cependant si vous utilisez un parc machine hétérogène, il se peut ce certains de vos utilisateurs travail sous un certain OS propriétaire très populaire chez beaucoup de personnes.

De ce fait vous pouvez choisir d’installer un serveur SAMBA afin de permettre ces utilisateur d’accéder à ce répertoire sur l’un de vos serveurs local. Ou choisir une solution plus portable qu’est le protocole FTP : C’est ce que nous allons voir à travers ce tutoriel.

Installation de proftpd

File Transfer Protocol – un serveur FTP permet, comme l’indique son nom, de transférer des fichiers via Internet ou à travers un réseau informatique local. A l’aide du protocol FTP, les utilisateurs en ayant une autorisation pourrons alors envoyer et télécharger des fichiers sur un emplacement distant.

Proftpd est probablement l’un des meilleurs serveurs FTP existant, il offre son lot de possibilités bien que celles-ci ne qui ne sont cependant pas facile à maîtriser pour un débutant. Je vous inviterais alors pour plus de détail à lire la documentation complète.

Pour installer le paquet proftpd, ouvrez le terminal et tapez :

Lors de l’installation le message suivant apparaît :

Nous allons installer en choisissant l’option indépendamment.

Configuration

Passons à la partie configuration du serveur FTP, afin éditer le fichier de configuration de proftpd lancer la commande suivante :

Modifier les paramètres de la façon suivante :

Ajouter un utilisateur standard

Cet utilisateur aura des droits d’accès uniquement au répertoire /var/www du serveur. En effet la ligne ci-dessus DefaultRoot /var/www ftpgroup !admin permet de contraindre les utilisateur du groupe ftpgroup à ce répertoire.

Ajoutons un groupe avec la commande suivante :

Puis nous ajoutons l’utilisateur ftpuser au groupe ftpgroup :

Allons plus loin en ajoutant un « super utilisateur »

Comme nous l’avons vu précédemment avec la ligne du fichier de configuration suivante DefaultRoot /var/www ftpgroup !admin il est possible de contraindre un groupe d’utilisateur à un répertoire spécifique. De la même façon avec !admin nous allons indiquer que les utilisateurs faisant partie du groupe admin ne seront pas soumis à cette restriction et aurons donc l’accès complet à la machine à travers le serveur FTP.

Ajouter un groupe admin :

Puis nous y ajoutons notre « super » utilisateur


Note : Vous noterez au passage que j’utilise de façon alternative les commandes useradd et adduser :

  • adduser est une commande interactive : elle pose des questions auquel il faut répondre
  • useradd est une commande non interactive il est donc possible de s’en servir dans un script

Pour plus de simplicité vous pouvez utiliser adduser, dans les 2 cas.


Redémarrage

Il ne nous reste plus qu’à redémarrer le serveur avec la commande suivante :

ou avec :

Avec cette configuration vous pouvez désormais utiliser votre serveur FTP à travers le réseaux local.

Attention : si vous souhaitez accéder à votre serveur FTP à travers internet et dans le cas ou vous utilisez un routeur et du NAT, il vous faudra rediriger les ports 20 et 21 ainsi que la plage de ports ci-dessous utilisés pour la configuration du mode passif de votre serveur FTP. (je vous invite donc à lire la documentation de votre routeur)

Configuration pour le mode passif

Il existe 2 façon de méthode de transfert FTP le mode passif et le mode actif. Il est plus simple d’utiliser le mode actif ou uniquement le port 20 est utilisé (le port 21 ne servant alors qu’a initier la connexion et envoyer les commandes). Cependant la plupart des client FTP utilise le mode passif pour transférer les fichiers, nous allons donc voir la configuration a effectuer pour utiliser ce mode.

Ajouter la ligne suivante au fichier de configuration de proftpd :

Dans notre cas 49152 correspond au premier port utilisé et 65534 étant le dernier. Evitez d’utiliser des numéro de ports trop bas (moins de 1000) car cela pourrais créer des interférences avec d’autres services actif sur votre serveur.


Note : un utilisateur occuperas environ 5 ports lors de chaque transferts, à vous donc bien calibrer le nombre de ports à ouvrir en fonction du nombre de vos utilisateurs.


Attention : Pour faire fonctionner un transfert en mode passif, le fichier de configuration de proftpd doit contenir l’adresse ip publique du serveur. Le problème étant que si votre FAI vous fournis une adresse IP dynamique celle-ci changera à chaque re-connexion de votre box, je vous déconseille donc dans ce cas-là de faire du FTP en mode passif.

Ajouter dans votre fichier de configuration la ligne suivante en replaçant VOTRE_ADRESSE_IP_PUBLIQUE :

Puis redémarrer le serveur FTP.

Utilisation

Voila votre serveur FTP est configurer les utilisateurs créer et leurs authentification est basé sur leurs mots de passes Unix.

  • Connectez vous avec un utilisateur faisant partie du groupe ftpgroup vous aurez accès à /var/www
  • Connectez vous avec un utilisateur faisant partie du groupe admin et vous aurez un accès complet

Laisser un commentaire

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

Partenaires

Cekome Graal Network Panoramaweb