Documentation du Dr FRAPPE

Ce wiki regroupe les résultats de mes expériences en informatique accumulés au cours de mes recherches sur le net.

Dans la mesure du possible, j'ai cité mes sources ; il en manque certainement… :-)

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

Cliquez sur Oui

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 :

Ajouter une redirection pour ouvrir les ports 20 et 21 servant aux connexions FTP ou l'éditer si elle existe.

Configuration

Ouvrez la fenêtre d'administration.

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 !

</note>

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>...

Désinstallation

Voir aussi