GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So richten Sie PureFTPd unter CentOS 7 ein

Hallo zusammen, heute werden wir in diesem Tutorial PureFTPd aus dem Quellcode auf CentOS 7 kompilieren und installieren. Pure-ftpd ist ein leichter und stabiler FTP-Daemon, der verschiedene Authentifizierungs-Backends wie Linux-Systembenutzer, puredb, MySQL und PostgeSQL unterstützt. P>

1. Pureftpd installieren

Installieren Sie die CentOS-Entwicklungstoolkette.

# yum -y groupinstall 'Development Tools'

Installieren Sie die MariaDB-Entwicklungsdateien.

# yum -y install mariadb-devel

Laden Sie die pure-ftpd-Quelldateien herunter und entpacken Sie das 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*

Führen Sie den Befehl configure aus, um den Build vorzubereiten. Um einen Überblick über alle Kompilierungsoptionen zu erhalten, führen Sie ./configure --help.

aus
# ./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

und kompilieren Sie die pure-ftpd-Binärdatei:

# make
# make install

2. Erstellen von Konfigurationsdateien und Startskripten

Zuerst erstellen wir das Startskript. Für diesen Build verwenden wir das Startskript von CentOS 6.5, das unter CentOS 7 immer noch gut funktioniert.

# 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. Konfigurieren von Dateiberechtigungen

Jetzt müssen wir die erforderlichen Dateiberechtigungen mit den folgenden Befehlen bereitstellen, einschließlich der Konfiguration von Dingen nach der 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

Dann erstellen Sie die Systemstartlinks und starten Sie PureFTPd:

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

4. TLS mit OpenSSL konfigurieren

Jetzt konfigurieren wir PureFTPd so, dass FTP- und TLS-Sitzungen zugelassen werden. FTP ohne TLS ist ein sehr unsicheres Protokoll denn alle Passwörter und alle Daten werden im Klartext übertragen . Durch die Verwendung von TLS kann die gesamte Kommunikation verschlüsselt werden , wodurch FTP viel sicherer wird.
OpenSSL wird von TLS benötigt; Um OpenSSL zu installieren, führen wir einfach Folgendes aus:

# yum -y install openssl

Öffnen Sie /etc/pure-ftpd/pure-ftpd.conf...

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

Wenn Sie FTP- und TLS-Sitzungen zulassen möchten, setzen Sie TLS auf 1:
# Diese Option kann drei Werte annehmen:
# 0 :SSL/TLS-Verschlüsselungsschicht deaktivieren (Standard).
# 1 :akzeptieren Sie sowohl traditionelle als auch verschlüsselte Sitzungen.
# 2 :Verbindungen ablehnen, die keine SSL/TLS-Sicherheitsmechanismen verwenden,
# einschließlich anonymer Sitzungen.
# Entkommentieren Sie dies _nicht_ blind. Sei sicher, dass :
# 1) Ihr Server wurde mit SSL/TLS-Unterstützung kompiliert (--with-tls),
# 2) Ein gültiges Zertifikat ist vorhanden,
# 3) Nur kompatible Clients melden sich an.

Um TLS verwenden zu können, müssen wir ein SSL-Zertifikat erstellen. Ich erstelle es in /etc/ssl/private/, daher erstelle ich dieses Verzeichnis zuerst:
mkdir -p /etc/ssl/private/

Anschließend können wir das SSL-Zertifikat wie folgt generieren:

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

Ändern Sie die Berechtigungen des SSL-Zertifikats:

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

Starten Sie abschließend PureFTPd neu:

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

Schlussfolgerung

Hurra, wir haben pureftpd erfolgreich installiert und konfiguriert. Jetzt können wir die FTP-Datenübertragung mit TLS-Sicherheit genießen. Bitte beachten Sie, dass wir beim Verbinden des FTP-Servers unseren FTP-Client so konfigurieren sollten, dass er TLS verwendet, wenn Sie SSL-Zertifikate korrekt installiert und konfiguriert haben. Und standardmäßig öffnet pureftpd Port 21, um mit dem Client zu kommunizieren. Wenn Sie irgendwelche Probleme, Fragen oder Fragen haben, kommentieren Sie bitte ohne zu zögern unten, damit wir unsere Blogs und Inhalte weiter aktualisieren und verbessern können.


Cent OS
  1. So richten Sie einen SFTP-Server unter CentOS ein

  2. So richten Sie Textpattern CMS unter CentOS 8 ein

  3. So richten Sie einen SysLog-Server unter CentOS 7 / RHEL 7 ein

  4. So richten Sie den NFS-Server unter CentOS 7 / RHEL 7 ein

  5. So richten Sie SSH-Schlüssel unter CentOS 8 ein

So richten Sie Kubernetes 1.5 mit kubeadm unter CentOS ein

So richten Sie Icinga Web 2 unter CentOS 8 / RHEL 8 ein

So richten Sie einen Chef 12 unter CentOS 7 / RHEL 7 ein

So richten Sie automatische Sicherheitsupdates auf CentOS ein

So installieren Sie Pure-FTPd unter CentOS

So richten Sie einen Redis-Cluster in CentOS 8 ein – Teil 3