ProFTPD-1.3.5a

Introduction à ProFTPD

Le paquet ProFTPD contient un démon FTP sécurisé et hautement configurable. C'est utile pour donner de grosses archives de fichiers sur un réseau.

Ce paquet est connu pour se construire correctement sur une plateforme LFS-7.9.

Informations sur le paquet

  • Téléchargement (HTTP) :

  • Téléchargement (FTP) : ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.5a.tar.gz

  • Somme de contrôle MD5 du téléchargement : b9d3092411478415b31d435f8e26d173

  • Taille du téléchargement : 29 Mio

  • Estimation de l'espace disque requis : 69 Mio

  • Estimation du temps de construction : 0.2 SBU

Dépendances de ProFTPD

Facultatives

libcap-2.25 with PAM, Linux-PAM-1.2.1, MariaDB-10.1.11 ou MySQL, OpenSSL-1.0.2g, PCRE-8.38, PostgreSQL-9.5.1 et pour lancer les tests : Check-0.10.0 et Test::Unit-0.14

Notes utilisateur : http://wiki.linuxfromscratch.org/blfs/wiki/proftpd

Installation de ProFTPD

Pour des raisons de sécurité, vous devriez installer ProFTPD en utilisant un utilisateur et un groupe non privilégiés. En tant qu'utilisateur root :

groupadd -g 46 proftpd                             &&
useradd -c proftpd -d /srv/ftp -g proftpd \
        -s /usr/bin/proftpdshell -u 46 proftpd     &&

install -v -d -m775 -o proftpd -g proftpd /srv/ftp &&
ln -v -s /bin/false /usr/bin/proftpdshell          &&
echo /usr/bin/proftpdshell >> /etc/shells

Installez ProFTPD as an unprivileged user en lançant les commandes suivantes :

./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var/run &&
make

Les tests de ce paquet exigent une version très ancienne (2001) du module perl Test::Unit. Même en utilisant cette version de Test::Unit, il y a de nombreux échecs (41/1397) bien que le programme semble correctement s'exécuter. Les tests mettent beaucoup de temps (45 minutes, indépendamment du processeur) et ils ne sont pas recommandés. Pour tester quand même les résultats, ajoutez le paramètre : --enable-tests à configure, et tapez : make check. Si les tests sont lancés avec les privilèges root, beaucoup de tests sont lancés, mais il y a beaucoup d'erreurs.

Maintenant, en tant qu'utilisateur root :

make install

Explication des commandes

install -v -d -m775 -o proftpd -g proftpd /srv/ftp : Crée le répertoire home de ProFTPD.

ln -v -s /bin/false /usr/bin/proftpdshell : Règle le shell par défaut comme un lien vers un shell invalide.

echo /usr/bin/proftpdshell >> /etc/shells : Fait croire à un shell valide pour des raisons de compatibilité.

[Note]

Note

Vous pouvez vous passer des deux commandes ci-dessus si vous mettez la ligne suivante dans le fichier de configuration :

RequireValidShell off

Par défaut, proftpd exigera que les utilisateurs qui se connectent aient des shells valides. La ligne RequireValidShell désactive cette exigence. Ce n'est recommandé que si vous paramétrez votre serveur FTP exclusivement pour des téléchargements anonymes.

[Note]

Note

Le support de la plupart des paquets dont il dépend demande d'utiliser des options passées au script configure. Regardez la sortie de ./configure --help pour des informations complètes sur comment activer les paquets dont il dépend.

Configuration de ProFTPD

Fichiers de configuration

/etc/proftpd.conf

Informations sur la configuration

Voici une configuration simple, un modèle seulement pour du téléchargement. Regardez la documentation de ProFTPD dans /usr/share/doc/proftpd et consultez le site Internet sur http://www.proftpd.org/ pour des exemples de configurations.

cat > /etc/proftpd.conf << "EOF"
# This is a basic ProFTPD configuration file
# It establishes a single server and a single anonymous login.

ServerName                      "ProFTPD Default Installation"
ServerType                      standalone
DefaultServer                   on

# Port 21 is the standard FTP port.
Port                            21
# Umask 022 is a good standard umask to prevent new dirs and files
# from being group and world writable.
Umask                           022

# To prevent DoS attacks, set the maximum number of child processes
# to 30.  If you need to allow more than 30 concurrent connections
# at once, simply increase this value.  Note that this ONLY works
# in standalone mode, in inetd mode you should use an inetd server
# that allows you to limit maximum number of processes per service

MaxInstances                    30

# Set the user and group that the server normally runs at.
User                            proftpd
Group                           proftpd

# To cause every FTP user to be "jailed" (chrooted) into their home
# directory, uncomment this line.
#DefaultRoot ~


# Normally, files should be overwritable.
<Directory /*>
  AllowOverwrite                on
</Directory>

# A basic anonymous configuration, no upload directories.
<Anonymous ~proftpd>
  User                          proftpd
  Group                         proftpd
  # Clients should be able to login with "anonymous" as well as "proftpd"
  UserAlias                     anonymous proftpd

  # Limit the maximum number of anonymous logins
  MaxClients                    10

  # 'welcome.msg' should be displayed at login, and '.message' displayed
  # in each newly chdired directory.
  DisplayLogin                  welcome.msg
  DisplayChdir                  .message

  # Limit WRITE everywhere in the anonymous chroot
  <Limit WRITE>
    DenyAll
  </Limit>
</Anonymous>
EOF

Script de démarrage

Installez le script de démarrage /etc/rc.d/init.d/proftpd fourni avec le paquet blfs-bootscripts-20150924.

make install-proftpd

Contenu

Programmes installés: ftpasswd, ftpcount, ftpdctl, ftpmail, ftpquota, ftpscrub, ftpshut, ftptop, ftpwho, in.proftpd (symlink to proftpd), proftpd et prxs
Bibliothèques installées: Aucune
Répertoire installé: /usr/{include,lib}/proftpd

Descriptions courtes

proftpd

est le démon FTP.

ftpcount

affiche le nombre actuel de connexions.

ftpdctl

est utilisé pour contrôler le démon proftpd pendant qu'il est lancé.

ftpasswd

est un script perl conçu pour créer et gérer les fichiers AuthUserFiles et AuthGroupFiles dans le bon format pour proftpd.

ftpmail

est un script perl pour envoyer des messages électroniques basés sur le TransferLog de proftpd.

ftpquota

est un script Perl conçu pour créer et gérer l'association des modules mod_quotatab + mod_quotatab_file de proftpd des fichiers limits et tally.

ftpscrub

fournit une manière de nettoyer le fichier tableau de bord (scoreboard) à la demande.

ftpshut

arrête tous les serveurs proftpd à une heure donnée.

ftptop

affiche le statut d'exécution des connexions.

ftpwho

affiche des informations sur le processus actuel pour chaque session.

prxs

est un script Perl conçu pour compiler et installer les modules tiers, depuis le code source, comme modules DSO pour le proftpd installé.

Last updated on 2016-03-07 00:31:27 +0100