Server FTP Linux

De EjnTricks

Documentation Ubuntu

Documentation officielle: http://doc.ubuntu-fr.org/proftpd


Hand-icon.png Votre avis

Current user rating: 100/100 (1 votes)

 You need to enable JavaScript to vote


proftp

Logo Proftpd.png

System-Install-icon.png Installation

Cette section décrit l'installation de proftp sous une machine Ubuntu

  • Installation du paquet
sudo apt-get install proftpd

La première configuration mise en place permet de modifier le nom du serveur ftp par édition du fichier /etc/proftpd/proftpd.conf Les lignes suivantes sont modifiées

# Set off to disable IPv6 support which is annoying on IPv4 only boxes.
UseIPv6                         on
# If set on you can experience a longer connection delay in many cases.
IdentLookups                    off

ServerName                      "Debian"
ServerType                      standalone

En

# Set off to disable IPv6 support which is annoying on IPv4 only boxes.
UseIPv6                         on
# If set on you can experience a longer connection delay in many cases.
IdentLookups                    off

ServerName                      "ejnftp"
ServerType                      standalone

Le compte anonyme sur l'installation faite n'a pas été activé.

  • Installation après mise à jour de Ubuntu vers 11.10

Après mise à jour de Ubuntu, le serveur FTP ne démarre plus. Les messages obtenus lors du démarrage sont:

#sudo service proftpd start
 * Starting ftp server proftpd - mod_tls/2.4.2: compiled using OpenSSL version 
   'OpenSSL 1.0.0d 8 Feb 2011' headers, but linked to OpenSSL version 'OpenSSL 1.0.0e 6 Sep 2011' library
 - Fatal: LoadModule: error loading module 'mod_vroot.c': Opération non permise 
   on line 68 of '/etc/proftpd/modules.conf' [fail]

Le problème provient du module proftpd-mod-vroot. En forçant son installation, le problème n'apparait plus, juste un warning est affiché lors du démarrage. Un thread traite de ce problème: http://ubuntuforums.org/showthread.php?t=1860537

#sudo apt-get install proftpd-mod-vroot
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'état... Fait
Le paquet suivant a été installé automatiquement et n'est plus nécessaire : libgladeui-1-11
Veuillez utiliser « apt-get autoremove » pour les supprimer.
Les NOUVEAUX paquets suivants seront installés :
  proftpd-mod-vroot
0 mis à jour, 1 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de prendre 16,7 ko dans les archives.
Après cette opération, 98,3 ko d'espace disque supplémentaires seront utilisés.
Réception de : 1 http://fr.archive.ubuntu.com/ubuntu/ oneiric/universe proftpd-mod-vroot amd64 0.9.2-1 [16,7 kB]
16,7 ko réceptionnés en 0s (99,8 ko/s)
Sélection du paquet proftpd-mod-vroot précédemment désélectionné.
(Lecture de la base de données... 146236 fichiers et répertoires déjà installés.)
Dépaquetage de proftpd-mod-vroot (à partir de .../proftpd-mod-vroot_0.9.2-1_amd64.deb) ...
Traitement des actions différées (« triggers ») pour « doc-base »...
Processing 1 added doc-base file...
Enregistrement des documents avec scrollkeeper...
Paramétrage de proftpd-mod-vroot (0.9.2-1) ...

Lors de la mise à jour de Unbuntu en version 12.04 LTS, une erreur du même type se produit. Cependant elle n'empêche pas le démarrage du service.

etienne-server proftpd[7037]: mod_tls/2.4.3: compiled using OpenSSL version 'OpenSSL 1.0.0e 6 Sep 2011' headers, 
but linked to OpenSSL version 'OpenSSL 1.0.1 14 Mar 2012' library

Ce module permet de sécuriser les accès FTP, en se basant sur OpenSSL. Un thread traite de ce problème: http://forum.ubuntu-fr.org/viewtopic.php?id=802621. Il semblerait que le problème provienne des versions utilisées pour la compilation de l'application. Afin de ne pas avoir ces messages d'erreur, et si et seulement si il n'est pas nécessaire de sécuriser l'accès FTP (dans le cadre d'un réseau domestique), il est possible de désactiver le chargement du module tls en éditant le fichier /etc/proftpd/modules.conf. Il faut alors commenter la ligne LoadModule mod_tls.c.

#
# This file is used to manage DSO modules and features.
#

# This is the directory where DSO modules reside

ModulePath /usr/lib/proftpd

# Allow only user root to load and unload modules, but allow everyone
# to see which modules have been loaded

ModuleControlsACLs insmod,rmmod allow user root
ModuleControlsACLs lsmod allow user *

LoadModule mod_ctrls_admin.c
#LoadModule mod_tls.c

# Install one of proftpd-mod-mysql, proftpd-mod-pgsql or any other
# SQL backend engine to use this module and the required backend.
# This module must be mandatory loaded before anyone of
# the existent SQL backeds.
#LoadModule mod_sql.c

# Install proftpd-mod-ldap to use this
#LoadModule mod_ldap.c

#
# 'SQLBackend mysql' or 'SQLBackend postgres' directives are required
# to have SQL authorization working. You can also comment out the
# unused module here, in alternative.
#

# Install proftpd-mod-mysql and decomment the previous
# mod_sql.c module to use this.
#LoadModule mod_sql_mysql.c

# Install proftpd-mod-pgsql and decommen the previous
# mod_sql.c module to use this.
#LoadModule mod_sql_postgres.c

# Install proftpd-mod-sqlite and decomment the previous
# mod_sql.c module to use this
#LoadModule mod_sql_sqlite.c

# Install proftpd-mod-odbc and decomment the previous
# mod_sql.c moduleto use this

LoadModule mod_radius.c
LoadModule mod_quotatab.c
LoadModule mod_quotatab_file.c

# Install proftpd-mod-ldap to use this
#LoadModule mod_quotatab_ldap.c

# Install proftpd-mod-pgsql or proftpd-mod-mysql to use this
#LoadModule mod_quotatab_sql.c
LoadModule mod_quotatab_radius.c
LoadModule mod_wrap.c
LoadModule mod_rewrite.c
LoadModule mod_load.c
LoadModule mod_ban.c
LoadModule mod_wrap2.c
LoadModule mod_wrap2_file.c
# Install proftpd-mod-pgsql or proftpd-mod-mysql to use this
#LoadModule mod_wrap2_sql.c
LoadModule mod_dynmasq.c
LoadModule mod_vroot.c

# keep this module the last one
LoadModule mod_ifsession.c

Utilisation

Des lignes de commandes sont utiles avec l'installation de proftp, permettant de contrôler l'activité du serveur.

Lister les connexions

La commande ftpwho permet de consulter les connexions actives. L'exemple suivant montre le résultat lorsque deux sessions sont actives:

$ ftpwho
standalone FTP daemon [1078], up for 16 min
 2229 etienne  [ 1m30s]  1m24s idle
 2234 etienne  [ 0m19s]  0m13s idle
Service class                      -   2 users

L'exemple suivant montre le résultat lorsqu'aucune session n'est active:

$ ftpwho
standalone FTP daemon [1078], up for 18 min
no users connected

Statistiques

La commande ftpstats permet de consulter les connexions actives. L'exemple suivant montre un rapport complet sans aucun critère:

$ ftpstats
TOTALS FOR SUMMARY PERIOD Wed Jul  7 2010 TO Thu Jul 15 2010

Files Transmitted During Summary Period             6
Bytes Transmitted During Summary Period     257111663
Systems Using Archives                              1

Average Files Transmitted Daily                     2
Average Bytes Transmitted Daily              64277916

Daily Transmission Statistics

                 Number Of    Number of    Average    Percent Of  Percent Of
     Date        Files Sent  Bytes  Sent  Xmit  Rate  Files Sent  Bytes Sent
---------------  ----------  -----------  ----------  ----------  ----------
Wed Jul  7 2010           2    120041754  10657.1 KB     33.33       46.69
Thu Jul  8 2010           2    118876160  11609.0 KB     33.33       46.24
Fri Jul  9 2010           1        40265   undefined     16.67        0.02
Thu Jul 15 2010           1     18153484  17728.0 KB     16.67        7.06


Total Transfers from each Archive Section (By bytes)

                                                   ---- Percent  Of ----
     Archive Section      Files Sent Bytes Sent    Files Sent Bytes Sent
------------------------- ---------- ------------- ---------- ----------
/home/etienne/update               2     120041754    33.33      46.69
/home/etienne                      2     118876160    33.33      46.24
/tmp                               1      18153484    16.67       7.06
/home/etienne/Bureau               1         40265    16.67       0.02