GNU/Linux >> Znalost Linux >  >> Cent OS

Jak nastavit PureFTPd na CentOS 7

Ahoj všichni, dnes v tomto tutoriálu zkompilujeme a nainstalujeme PureFTPd ze zdroje na CentOS 7. Pure-ftpd je lehký a stabilní FTP démon, který podporuje různé ověřovací backendy, jako jsou uživatelé systému Linux, puredb, MySQL a PostgeSQL.

1. Instalace Pureftpd

Nainstalujte vývojářský nástroj CentOS.

# yum -y groupinstall 'Development Tools'

Nainstalujte vývojové soubory MariaDB.

# yum -y install mariadb-devel

Stáhněte si zdrojové soubory čistého ftpd a rozbalte archiv.

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

Spusťte příkaz configure a připravte sestavení. Chcete-li získat přehled o všech možnostech kompilace, spusťte ./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

a zkompilujte binární soubor pure-ftpd:

# make
# make install

2. Vytváření konfiguračních souborů a startscriptů

Nejprve vytvoříme spouštěcí skript. Pro toto sestavení použijeme spouštěcí skript z CentOS 6.5, který stále funguje dobře na 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. Konfigurace oprávnění k souboru

Nyní budeme muset poskytnout požadovaná oprávnění k souboru pomocí příkazů níže, což zahrnuje konfiguraci věcí po instalaci.

# 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

Poté vytvořte odkazy pro spuštění systému a spusťte PureFTPd:

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

4. Konfigurace TLS pomocí OpenSSL

Nyní nakonfigurujeme PureFTPd tak, aby umožňoval FTP a TLS relace. FTP bez TLS je velmi nezabezpečený protokol protože všechna hesla a všechna data jsou přenášena jako prostý text . Pomocí TLS může být celá komunikace šifrována , čímž je FTP mnohem bezpečnější.
OpenSSL vyžaduje TLS; k instalaci OpenSSL jednoduše spustíme:

# yum -y install openssl

Otevřete /etc/pure-ftpd/pure-ftpd.conf...

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

Pokud chcete povolit relace FTP a TLS, nastavte TLS na 1:
# Tato možnost může přijímat tři hodnoty:
# 0 :deaktivuje vrstvu šifrování SSL/TLS (výchozí).
# 1 :přijměte tradiční i šifrované relace.
# 2 :odmítnout připojení, která nepoužívají bezpečnostní mechanismy SSL/TLS,
# včetně anonymních relací.
# Nekomentujte to slepě. Ujistěte se, že:
# 1) Váš server byl zkompilován s podporou SSL/TLS (-with-tls),
# 2) Je na místě platný certifikát,
# 3) Přihlásí se pouze kompatibilní klienti.

Abychom mohli používat TLS, musíme vytvořit SSL certifikát. Vytvořím jej v /etc/ssl/private/, proto nejprve vytvořím tento adresář:
mkdir -p /etc/ssl/private/

Poté můžeme vygenerovat certifikát SSL následovně:

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

Změňte oprávnění certifikátu SSL:

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

Nakonec restartujte PureFTPd:

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

Závěr

Hurá, úspěšně jsme nainstalovali a nakonfigurovali pureftpd. Nyní si můžeme užívat FTP přenos dat se zabezpečením TLS. Upozorňujeme, že při připojování k FTP serveru bychom měli nakonfigurovat našeho FTP klienta tak, aby používal TLS, pokud jste správně nainstalovali a nakonfigurovali certifikáty SSL. A standardně pureftpd otevře port 21 pro komunikaci s klientem. Máte-li jakýkoli problém, dotazy nebo dotazy, bez váhání je prosím komentujte níže, abychom mohli naše blogy a obsah více aktualizovat a vylepšovat.


Cent OS
  1. Jak nastavit SFTP server na CentOS

  2. Jak nastavit Textpattern CMS na CentOS 8

  3. Jak nastavit server NFS na CentOS 7 / RHEL 7

  1. Jak nastavit SysLog Server na CentOS 7 / RHEL 7

  2. Jak nastavit klíče SSH na CentOS 8

  3. Jak nastavit Firewall pomocí FirewallD na CentOS 8

  1. Jak nastavit server NFS na CentOS 8 / RHEL 8

  2. Jak nastavit Icinga Web 2 na CentOS 7 / RHEL 7

  3. Jak nastavit Pure-FTPD s MySQL na CentOS a RedHat