Table des matières
Gadmin-ProFTPd : une interface graphique pour le serveur FTP ProFTPd
Introduction
Pré-requis
- Disposer des droits d'administration.
- Disposer d'une connexion à Internet configurée et activée.
Installation
Installez le paquet gadmin-proftpd ou en ligne de commande :
$ sudo apt install gadmin-proftpd
Si, pendant l'installation, une fenêtre demande si vous voulez que proftpd soit indépendant ou lancé par inetd, il est recommandé de choisir indépendant.
Lancez gadmin-proftpd :
$ sudo gadmin-proftpd
Un clic sur Installer, donner le mot de passe root.
Une fenêtre s'ouvre, demandant le mode de lancement du serveur :
Choisir :
- Indépendamment (option par défaut) est un bon choix, surtout si les connexions seront fréquentes.
- sinon Depuis Inetd
Cette installation faite, redémarrer le système.
Préparation de la machine
Dans une console, créer un répertoire pour la racine du serveur, accessible à tous :
$ sudo mkdir /home/ftp $ sudo chmod 777 /home/ftp
Lancer l'interface “GADMIN-PROFTPD” située dans les applications.
Le mot de passe root est demandé.
Préparation de la box
Si on est derrière une freebox, il faut la configurer :
- Allez à http://mafreebox.freebox.fr/.
Ajouter une redirection pour ouvrir les ports 20 et 21 servant aux connexions FTP ou l'éditer si elle existe.
Configuration
onglet Serveurs
Section Settings
Renseignez au moins :
- le nom du serveur FTP
- l'adresse courriel de l'administrateur
Vous pouvez changer d'autres éléments.
Cliquez sur le bouton Appliquer (en haut à droite) pour enregistrer les changements, ce que l'on peut vérifier simplement en constatant :
- que le nom du Serveur a bien été changé
- et que l'éventuelle mention du ruban Statut: Activer est devenue Statut: désactiver.
section Secure communications
A adapter selon les besoins (facultatif).
Section Signed certificate settings
Indispensable pour que le serveur FTP fonctionne, même si on n'utilise pas les communications sécurisées.
Renseigner impérativement :
- adresse du serveur (utiliser une adresse fournie par dyndns.org si on n'a pas d'adresse IP fixe)
- adresse courriel
- pays
- ville
- nom de l'organisation
- nom du département de travail
- mot de passe
- code pays.
Puis cliquer sur le bouton Appliquer de cette section (tout en bas à droite) pour générer un certificat signé.
onglet Utilisateurs
Pour ajouter un utilisateur, on peut :
- soit créer un nom d'utilisateur et un mot de passe aléatoire
La longueur des mots de passe des utilisateurs doit être égale ou supérieure à celle définie dans les paramètres de la section “Settings” de l'onglet Serveur - par défaut 6 caractères
- soit définir soi-même les données. On peut aussi sélectionner le shell de connexion, un groupe, un commentaire et un dossier ftp de base.
- Tout autre dossier ajouté doit être placé dans le répertoire racine de l'utilisateur.
Une fois tout renseigné, cliquer sur le bouton Appliquer pour ajouter l'utilisateur qui apparaît alors dans la liste.
Pour ajouter un utilisateur avec des paramètres proches, changer les paramètres voulus puis changer le nom d'utilisateur, le mot de passe et cliquer sur le bouton Appliquer.
Premier utilisateur à créer : l'administrateur
Ainsi, le serveur sera accessible depuis n'importe où avec tous les droits. L'utilisateur admin aura un contrôle total de tout le répertoire racine /home/ftp
Renseigner :
- nom : admin (par exemple)
- mot de passe = … (pas trop facile)
<note>La longueur des mots de passe des utilisateurs doit être égale ou supérieure à celle définie dans les paramètres de la section “Settings” de l'onglet Serveur - par défaut 6 caractères</note>
- group = ftpusers
- comment = administrateur (par exemple)
- shell = bin/bash (Ce ne sera pas le cas des utilisateurs qui auront pour Shell /dev/null)
Cliquer sur le bouton Ajouter un dossier.
L'utilisateur admin doit accéder à tout le dossier /home/ftp → Naviguer jusqu'à ce répertoire et cliquer sur le bouton Ouvrir
Il doit avoir toutes les permissions : tout cocher pour ce dossier.
Cliquer enfin sur le bouton Appliquer pour créer cet utilisateur qui apparaît alors dans la liste.
Utilisateur anonymous sans mot de passe
L'utilisateur anonymous, sans mot de passe, accèdera seulement en lecture et téléchargement à un répertoire /home/ftp/public
<note important>Attention il y a un petit bug dans l'interface. Même si on décoche l'option Require password, si on ne fournit pas de mot de passe, impossible de créer cet utilisateur… et une fenêtre de dialogue… sans aucune explication s'affiche comme ceci !
Pas de panique. Créons notre utilisateur anonymous en lui donnant un mot de passe bidon…
- nom : anonymous
- mot de passe = Générer un mot de passe aléatoire
- group = anonymous
- comment = anonymous
- shell = /dev/null
- décocher la case Require password
Cliquer sur le bouton Ajouter un dossier.
L'utilisateur anonymous ne doit accéder qu'au dossier /home/ftp/public (par exemple) → Naviguer jusqu'à ce répertoire et cliquer sur le bouton Ouvrir
Limiter les permissions : cocher les permissions voulues (le réglage par défaut devrait suffire).
Cliquer enfin sur le bouton Appliquer pour créer cet utilisateur qui apparaît alors dans la liste :
On peut maintenant se connecter en anonyme sans mot de passe, en ne pouvant que télécharger à partir du dossier public.
Dans la liste des utilisateurs, la colonne mot de passe indique non pour cet utilisateur.
Utilisateur standard : user
L'utilisateur user sera cantonné dans /home/ftp où il accèdera en lecture et écriture à ce seul répertoire et ses sous-répertoires (dans cet exemple, les sous-répertoires Images, Documents, Videos).
On peut aussi créer un utilisateur cantonné à un répertoire perso /home/ftp en lui ajoutant ce dossier.
Dans un terminal, créons l'arborescence. Tapons :
sudo mkdir /home/ftp cd /home/ftp sudo mkdir images videos docs sudo chmod -R 777 /home/ftp
On procède comme pour les autres utilisateurs en sélectionnant le répertoire approprié et en limitant ses droits.
Cliquer sur le bouton Appliquer
Activation du serveur FTP
Une fois tous les utilisateurs créés, cliquer sur l'icône “Activer” en haut à gauche du ruban. Le serveur FTP est alors opérationnel, ce qui peut être vérifié par la mention Statut : Activer affichée en haut à droite du ruban.
Utilisation
Premier lancement de Gadmin
Le logiciel ouvre 4 fenêtres.
- La première est une fenêtre de dialogues qui vous indique où a été sauvegardée la configuration de base. Fermer cette fenêtre en cliquant sur le bouton Fermer
- La seconde fenêtre permet de créer un fichier de configuration par défaut standard. Cliquer sur le bouton Oui
- La troisième fenêtre indique qu'il faut générer de nouveaux certificats pour pouvoir utiliser le cryptage TLS. Fermer cette fenêtre en cliquant sur le bouton Fermer
- La quatrième fenêtre est la fenêtre d'administration : voir plus loin
Tests
Passons maintenant aux tests de ce serveur FTP depuis une autre machine.
Par exemple, avec le logiciel client FileZilla sous une version de Windows Seven 64 bits.
Commençons par créer un hôte pour l'utilisateur Titi. Mon serveur FTP étant sur mon réseau interne, j'utilise dans le cas présent son adresse IP, puis j'indique l'identifiant et le mot de passe définis précédemment dans l'interface Gadmin.
Lorsque je lance une connexion, je peux constater que j'ai bien accès à l'ensemble du répertoire WWW distant et que je peux accéder à tous ses sous-répertoires, ainsi que faire des uploads et downloads de fichiers, créer, renommer et supprimer des fichiers ou des répertoires, et donc que j'ai bien le contrôle total du répertoire WWW.
De même, après avoir créé l'utilisateur Toto, je peux constater que je n'ai accès qu'à son seul répertoire dans lequel je peux aussi faire des transferts de fichiers dans les deux sens.
Enfin, après avoir créé un utilisateur “anonymous” sans mot de passe,
je peux constater que je n'ai accès qu'à son seul répertoire, que je ne peux pas faire d'uploads…
mais que peux bien faire des downloads.
Pensez bien à ré “Activer” le serveur FTP après chaque modification d'un paramètre du serveur ou de ceux d'un utilisateur, car toute modification change automatiquement le Statut du serveur en mode “Statut : désactiver”.
Pb de connexion
En cas de pb de connexion, ajouter dans l'onglet configuration, juste anant limit login :
...</IfModule> <IfModule mod_facts.c> FactsAdvertise off </IfModule> <Limit LOGIN>...