GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment configurer PureFTPd sur CentOS 7

Bonjour à tous, aujourd'hui, dans ce didacticiel, nous allons compiler et installer PureFTPd à partir des sources sur CentOS 7. Pure-ftpd est un démon FTP léger et stable qui prend en charge divers backends d'authentification comme les utilisateurs du système Linux, puredb, MySQL et PostgeSQL.

1. Installation de Pureftpd

Installez la chaîne d'outils de développement CentOS.

# yum -y groupinstall 'Development Tools'

Installez les fichiers de développement MariaDB.

# yum -y install mariadb-devel

Téléchargez les fichiers source pure-ftpd et décompressez l'archive.

# cd /usr/local/src
# wget http://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.36.tar.bz2
# tar xvjpf pure-ftpd-1*.tar.bz2
# cd pure-ftpd-1*

Exécutez la commande configure pour préparer la construction. Pour obtenir un aperçu de toutes les options de compilation, exécutez ./configure --help.

# ./configure --prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin \
--libexecdir=/usr/libexec --datadir=/usr/share --sysconfdir=/etc \
 --sharedstatedir=/usr/com --localstatedir=/var --libdir=/usr/lib64 \
 --includedir=/usr/include --infodir=/usr/share/info --mandir=/usr/share/man \
 --with-mysql --with-virtualchroot --with-everything

et compilez le binaire pure-ftpd :

# make
# make install

2. Création de fichiers de configuration et de scripts de démarrage

Nous créons d'abord le script de démarrage. Pour cette version, nous utiliserons le script de démarrage de CentOS 6.5 qui fonctionne toujours correctement sur CentOS 7.

# nano /etc/init.d/pure-ftpd
#!/bin/bash
 #
 # Startup script for the pure-ftpd FTP Server $Revision: 1.1 $
 #
 # chkconfig: - 85 15
 # description: Pure-FTPd is an FTP server daemon based upon Troll-FTPd
 # processname: pure-ftpd
 # pidfile: /var/run/pure-ftpd.pid
 # config: /etc/pure-ftpd/pure-ftpd.conf
# Source function library.
 . /etc/init.d/functions
# Source networking configuration.
 . /etc/sysconfig/network
# Check that networking is configured.
 # [ ${NETWORKING} = "no" ] && exit 0
RETVAL=0
prog="pure-ftpd"
# Path to the pure-ftp binaries.
 fullpath=/usr/sbin/pure-ftpd
 pureftpwho=/usr/sbin/pure-ftpwho
 pure_config=/etc/pure-ftpd/pure-ftpd.conf
 pure_launch_script=/usr/sbin/pure-config.pl
 start() {
 echo -n $"Starting $prog: "
 daemon "$pure_launch_script $pure_config --daemonize > /dev/null"
 RETVAL=$?
 [ $RETVAL = 0 ] && touch /var/lock/subsys/pure-ftpd
 echo
 }
stop() {
 echo -n $"Stopping $prog: "
 killproc pure-ftpd
 RETVAL=$?
 [ $RETVAL = 0 ] && rm -f /var/lock/subsys/pure-ftpd
 echo
 }
# See how we were called.
 case "$1" in
 start)
 start
 ;;
 stop)
 stop
 ;;
 restart)
 stop
 start
 ;;
 reload)
 echo -n $"Reloading $prog: "
 killproc pure-ftpd -HUP
 RETVAL=$?
 echo
 ;;
 condrestart)
 if [ -f /var/lock/subsys/pure-ftpd ] ; then
 stop
 # avoid race
 sleep 3
 start
 fi
 ;;
 status)
 status pure-ftpd
 RETVAL=$?
 if [ -f $pureftpwho ] && [ $RETVAL -eq 0 ] ; then
 $pureftpwho
 fi
 ;;
 *)
 echo $"Usage: pure-ftpd {start|stop|restart|reload|condrestart|status}"
 RETVAL=1
 esac
 exit $RETVAL

3. Configuration des autorisations de fichiers

Maintenant, nous devrons fournir les autorisations de fichier requises par les commandes ci-dessous, ce qui inclut la configuration des éléments de post-installation.

# chmod +x /etc/init.d/pure-ftpd
# mkdir /etc/pure-ftpd/
# cp configuration-file/pure-ftpd.conf /etc/pure-ftpd/pure-ftpd.conf
# cp configuration-file/pure-config.pl /usr/sbin/pure-config.pl
# chmod 744 /etc/pure-ftpd/pure-ftpd.conf
# chmod 755 /usr/sbin/pure-config.pl

Ensuite, créez les liens de démarrage du système et démarrez PureFTPd :

# chkconfig --levels 235 pure-ftpd on
# systemctl start pure-ftpd.service

4. Configuration de TLS avec OpenSSL

Nous configurons maintenant PureFTPd pour autoriser les sessions FTP et TLS. FTP sans TLS est un protocole très peu sécurisé car tous les mots de passe et toutes les données sont transférées en texte clair . En utilisant TLS, toute la communication peut être chiffrée , rendant ainsi FTP beaucoup plus sûr.
OpenSSL est requis par TLS ; pour installer OpenSSL, nous exécutons simplement :

# yum -y install openssl

Ouvrez /etc/pure-ftpd/pure-ftpd.conf...

# nano /etc/pure-ftpd/pure-ftpd.conf

Si vous souhaitez autoriser les sessions FTP et TLS, définissez TLS sur 1 :
# Cette option peut accepter trois valeurs :
# 0 :désactive la couche de chiffrement SSL/TLS (par défaut).
# 1 :accepter les sessions traditionnelles et cryptées.
# 2 :refuser les connexions qui n'utilisent pas les mécanismes de sécurité SSL/TLS,
# y compris les sessions anonymes.
# Ne décommentez pas ceci aveuglément. Assurez-vous que :
# 1) Votre serveur a été compilé avec le support SSL/TLS (--with-tls),
# 2) Un certificat valide est en place,
# 3) Seuls les clients compatibles se connecteront.

Pour utiliser TLS, nous devons créer un certificat SSL. Je le crée dans /etc/ssl/private/, donc je crée d'abord ce répertoire :
mkdir -p /etc/ssl/private/

Ensuite, nous pouvons générer le certificat SSL comme suit :

# openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem

Modifiez les autorisations du certificat SSL :

# chmod 600 /etc/ssl/private/pure-ftpd.pem

Redémarrez enfin PureFTPd :

# systemctl stop pure-ftpd.service
# systemctl start pure-ftpd.service

Conclusion

Hourra, nous avons installé et configuré avec succès pureftpd. Nous pouvons maintenant profiter du transfert de données FTP avec la sécurité TLS. Veuillez noter que lors de la connexion au serveur FTP, nous devons configurer notre client FTP pour utiliser TLS si vous avez correctement installé et configuré les certificats SSL. Et par défaut, pureftpd ouvrira le port 21 pour communiquer avec le client. Si vous avez des problèmes, des questions ou des questions, veuillez commenter ci-dessous sans hésitation afin que nous puissions mettre à jour et améliorer davantage nos blogs et contenus.


Cent OS
  1. Comment configurer un serveur SFTP sur CentOS

  2. Comment configurer le CMS Textpattern sur CentOS 8

  3. Comment configurer le serveur SysLog sur CentOS 7 / RHEL 7

  4. Comment configurer le serveur NFS sur CentOS 7 / RHEL 7

  5. Comment configurer Icinga Web 2 sur CentOS 7 / RHEL 7

Comment configurer Kubernetes 1.5 avec kubeadm sur CentOS

Comment configurer Icinga Web 2 sur CentOS 8 / RHEL 8

Comment configurer un Chef 12 sur CentOS 7 / RHEL 7

Comment configurer les mises à jour de sécurité automatiques sur CentOS

Comment installer Pure-FTPd sur CentOS

Comment configurer un cluster Redis dans CentOS 8 - Partie 3