ProFTPD-1.2.8p

Introduction à ProFTPD

Le package ProFTPD contient un démon FTP sécurisé et hautement configurable. Il est utile pour servir des grandes archives de fichiers sur un réseau.

Informations sur le package

Installation de ProFTPD

Pour des raisons de sécurité, lancer ProFTPD en tant qu'utilisateur et groupe non privilégiés est encouragé.

groupadd proftpd &&
useradd -c proftpd -d /home/ftp -g proftpd -s /bin/false proftpd

Installez ProFTPD en lançant les commandes suivantes:

install_user=proftpd install_group=proftpd \
   ./configure --prefix=/usr --sysconfdir=/etc \
   --localstatedir=/var &&
make &&
make install

Explication des commandes

install_user=proftpd install_groud=proftpd : Spécifie l'identité de l'utilisateur et du groupe pour ProFTPD.

--prefix=/usr : Ceci installe ProFTPD dans /usr au lieu de /usr/local.

--sysconfigdir=/etc : Ceci empêche que les fichiers de configuration aillent dans /usr/etc.

--localstatedir=/var : Ceci utilise /var au lieu de /usr/var pour les fichiers de verrouillage et de trace.

Configurer ProFTPD

Fichiers de configuration

/etc/proftpd.conf

Ceci est la configuration d'exemple uniquement téléchargeable. Voir la documentation dans /usr/share/doc/proftpd et consultez le site web sur http://www.proftpd.net/ pour d'autres exemples de configuration.

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
# (such as xinetd)
MaxInstances			30

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

# Normally, we want files to be overwriteable.
<Directory /*>
  AllowOverwrite		on
</Directory>

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

  # Limit the maximum number of anonymous logins
  MaxClients			10

  # We want 'welcome.msg' displayed at login, and '.message' displayed
  # in each newly chdired directory.
  DisplayLogin			welcome.msg
  DisplayFirstChdir		.message

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

Script init.d de proftpd

cat > /etc/rc.d/init.d/proftpd << "EOF"
#!/bin/sh
# Begin $rc_base/init.d/proftpd

# Based on sysklogd script from LFS-3.1 and earlier.
# Rewritten by Gerard Beekmans  - gerard@linuxfromscratch.org

source /etc/sysconfig/rc
source $rc_functions

case "$1" in
        start)
	        echo "Starting FTP Server..."
	        loadproc /usr/sbin/proftpd
	        ;;

	stop)
	        echo "Stopping FTP Server..."
	        killproc /usr/sbin/proftpd
	        ;;

	reload)
	        echo "Reloading FTP Server..."
	        reloadproc /usr/sbin/proftpd
	        ;;
	     
	restart)
	        $0 stop
	        sleep 1
	        $0 start
	        ;;

	status)
	        statusproc /usr/sbin/proftpd
	        ;;

	*)
	        echo "Usage: $0 {start|stop|reload|restart|status}"
	        exit 1
	        ;;
esac

# End $rc_base/init.d/proftpd
EOF
chmod 755 /etc/rc.d/init.d/proftpd

Créez les liens symboliques vers ce fichier dans les répertoires rc.d adéquats avec les commandes suivantes:

cd /etc/rc.d/init.d &&
ln -sf ../init.d/proftpd ../rc0.d/K50proftpd &&
ln -sf ../init.d/proftpd ../rc1.d/K50proftpd &&
ln -sf ../init.d/proftpd ../rc2.d/K50proftpd &&
ln -sf ../init.d/proftpd ../rc3.d/S50proftpd &&
ln -sf ../init.d/proftpd ../rc4.d/S50proftpd &&
ln -sf ../init.d/proftpd ../rc5.d/S50proftpd &&
ln -sf ../init.d/proftpd ../rc6.d/K50proftpd

Contenu

Le package ProFTPD contient ftpcount, ftpshut, ftptop, ftpwho et proftpd.

Description

ftpcount

ftpcount affiche le nombre actuel de connexions.

ftpshut

ftpshut arrête tous les serveurs proftpd à un moment donné.

ftptop

ftptop affiche le statut en cours des connexions.

ftpwho

ftpwho affiche les informations sur l'identifiant du processus pour chaque session.

proftpd

proftpd est le démon lui-même.