GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come configurare PureFTPd su CentOS 7

Ciao a tutti, oggi in questo tutorial compileremo e installeremo PureFTPd dal sorgente su CentOS 7. Pure-ftpd è un demone FTP leggero e stabile che supporta vari backend di autenticazione come utenti del sistema Linux, puredb, MySQL e PostgeSQL.

1. Installazione di Pureftpd

Installa la toolchain di sviluppo CentOS.

# yum -y groupinstall 'Development Tools'

Installa i file di sviluppo di MariaDB.

# yum -y install mariadb-devel

Scarica i file sorgente pure-ftpd e decomprimi l'archivio.

# 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*

Esegui il comando configure per preparare la build. Per avere una panoramica di tutte le opzioni di compilazione, eseguire ./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

e compila il binario pure-ftpd:

# make
# make install

2. Creazione di file di configurazione e script di avvio

Per prima cosa creiamo lo script di avvio. Per questa build useremo lo script di avvio di CentOS 6.5 che funziona ancora bene su 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. Configurazione delle autorizzazioni dei file

Ora, dovremo fornire le autorizzazioni file richieste dai comandi seguenti che includono la configurazione degli elementi post installazione.

# 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

Quindi crea i collegamenti di avvio del sistema e avvia PureFTPd:

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

4. Configurazione di TLS con OpenSSL

Ora configuriamo PureFTPd per consentire sessioni FTP e TLS. FTP senza TLS è un protocollo molto insicuro perché tutte le password e tutti i dati vengono trasferiti in chiaro . Utilizzando TLS, l'intera comunicazione può essere crittografata , rendendo così FTP molto più sicuro.
OpenSSL è necessario per TLS; per installare OpenSSL, eseguiamo semplicemente:

# yum -y install openssl

Apri /etc/pure-ftpd/pure-ftpd.conf...

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

Se desideri consentire sessioni FTP e TLS, imposta TLS su 1:
# Questa opzione può accettare tre valori:
# 0 :disabilita il livello di crittografia SSL/TLS (predefinito).
# 1 :accetta sessioni sia tradizionali che crittografate.
# 2 :rifiuta le connessioni che non utilizzano i meccanismi di sicurezza SSL/TLS,
# comprese le sessioni anonime.
# Non _non_ decommentare alla cieca. Assicurati che:
# 1) Il tuo server è stato compilato con il supporto SSL/TLS (--with-tls),
# 2) È presente un certificato valido,
# 3) Solo i client compatibili accederanno.

Per utilizzare TLS, dobbiamo creare un certificato SSL. Lo creo in /etc/ssl/private/, quindi creo prima quella directory:
mkdir -p /etc/ssl/private/

Successivamente, possiamo generare il certificato SSL come segue:

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

Modifica le autorizzazioni del certificato SSL:

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

Infine riavvia PureFTPd:

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

Conclusione

Evviva, abbiamo installato e configurato con successo pureftpd. Ora possiamo goderci il trasferimento di dati FTP con la sicurezza TLS. Tieni presente che durante la connessione del server FTP dovremmo configurare il nostro client FTP per utilizzare TLS se hai installato e configurato correttamente i certificati SSL. E per impostazione predefinita, pureftpd aprirà la porta 21 per comunicare con il client. In caso di problemi, domande o domande, commenta di seguito senza esitazione in modo che possiamo aggiornare e migliorare ulteriormente i nostri blog e contenuti.


Cent OS
  1. Come configurare un server SFTP su CentOS

  2. Come configurare Textpattern CMS su CentOS 8

  3. Come configurare il server SysLog su CentOS 7 / RHEL 7

  4. Come configurare il server NFS su CentOS 7 / RHEL 7

  5. Come configurare Icinga Web 2 su CentOS 7 / RHEL 7

Come configurare Kubernetes 1.5 con kubeadm su CentOS

Come configurare Icinga Web 2 su CentOS 8 / RHEL 8

Come configurare uno Chef 12 su CentOS 7 / RHEL 7

Come configurare gli aggiornamenti di sicurezza automatici su CentOS

Come installare Pure-FTPd su CentOS

Come configurare un cluster Redis in CentOS 8 – Parte 3