ProFTPD-1.3.4b

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

Informations sur le paquet

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

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

  • Taille du téléchargement : 7.3 Mo

  • Estimation de l'espace disque requis : 29 Mo

  • Estimation du temps de construction : 0.3 SBU

Dépendances de ProFTPD

Facultatives

Linux-PAM-1.1.6 et pour lancer les tests check-0.9.9 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 en tant qu'utilisateur non privilégié 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. L'utilisation de la dernière version de ce Test::Unit conduit à de nombreux échecs (34/1089) bien que le programme semble correctement s'exécuter. Les tests mettent beaucoup de temps (38 minutes, indépendamment du processeur) et ils ne sont pas recommandées. Pour tester quand même les résultats, lancez : make check.

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.

--sysconfdir=/etc : Ceci empêche les fichiers de configuration d'aller dans /usr/etc.

--localstatedir=/var/run : Ceci utilise /var/run plutôt que /usr/var pour verrouiller des fichiers.

Configuration de ProFTPD

Fichiers de configuration

/etc/proftpd.conf

Informations de configuration

C'est une configuration simple, un modèle pour téléchargement uniquement. Voir la documentation de ProFTPD dans /usr/share/doc/proftpd et consultez le site Internet sur http://www.proftpd.org/ pour des configurations d'exemple.

cat > /etc/proftpd.conf << "EOF"
# Ceci est un fichier de configuration ProFTPD de base
# Il met en place un serveur et une connexion anonyme uniques.

ServerName                      "ProFTPD Default Installation"
ServerType                      standalone
DefaultServer                   on

# Le port 21 est le port FTP standard.
Port                            21
# Umask 022 est un bon umask standard pour empêcher les nouveaux répertoires et
# les nouveaux fichiers d'être inscriptibles par les membres du groupe et par 
# tout le monde.
Umask                           022

# Pour empêcher les attaques DoS, paramétrez le nombre maximum de processus fils
# à 30. Si vous avez besoin d'autoriser plus de 30 connexions simultanées,
# augmentez tout simplement cette valeur. Remarquez que cela ne fonctionne qu'en
# mode autonome, en mode inetd, vous devriez utiliser un serveur inetd qui vous
# autorise à limiter le nombre maximum de processus par service 
MaxInstances                    30

# Réglez l'utilisateur et le groupe sous lesquels le serveur fonctionne
# en principe.
User                            proftpd
Group                           proftpd

# En principe, on devrait pouvoir remplacer les fichiers.
<Directory /*>
  AllowOverwrite                on
</Directory>

# Une configuration pour un anonyme de base, pas de dossiers de dépôt.
<Anonymous ~proftpd>
  User                          proftpd
  Group                         proftpd
  # Les clients devraient pouvoir se connecter avec "anonymous" ou "proftpd"
  UserAlias                     anonymous proftpd

  # Limitez le nombre maximum de connexions anonymes
  MaxClients                    10

  # 'welcome.msg' devrait s'afficher à la connexion et '.message' devrait
  # s'afficher dans chaque répertoire où l'on se rend.
  DisplayLogin                  welcome.msg
  DisplayChdir                  .message

  # Limiter WRITE (écriture) partout dans le chroot anonyme
  <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-20120828.

make install-proftpd

Contenu

Programmes installés: ftpcount, ftpdctl, ftpasswd, ftpmail, ftpquota, ftpscrub, ftptop, ftpshut, ftpcount, ftpwho, proftpd
Bibliothèques installées: Aucune
Répertoire installé: /var/run/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 AuthUserFiles and AuthGroupFiles du 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.

Last updated on : 2012-08-23 00:30:35 +020