Server FTP Linux
Sommaire
Documentation Ubuntu
Documentation officielle: http://doc.ubuntu-fr.org/proftpd
Votre avis
Current user rating: 100/100 (1 votes)
|
|
proftp
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