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
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
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 d'initialisation /etc/rc.d/init.d/proftpd
inclus dans le
paquet blfs-bootscripts-20160902.
make install-proftpd