Pure-FTPd ist ein schneller und leichter FTP-Server, der auf Sicherheit ausgelegt ist. In diesem Tutorial zeige ich Ihnen in 4 einfachen Schritten, wie Sie Pure FTP installieren und verwenden. In diesem Handbuch wird erklärt, wie Sie Pure FTPd unter Debian 9 installieren.
Schritt eins - Installation
Pure-FTPd befindet sich im stabilen Repository von Debian, sodass Sie Ihrem System keine zusätzlichen Repositorys hinzufügen müssen.
Führen Sie den folgenden Befehl mit Root-Rechten aus:
apt install -y pure-ftpd-common pure-ftpd
Schritt zwei - Konfiguration
Es gibt viele Optionen, mit denen Sie das Verhalten der Anwendung ändern können. Diese Optionen können beim Start auf den Daemon von Pure-FTPd angewendet werden, oder Sie können sie dauerhaft erstellen, indem Sie die erforderlichen Dateien im confVerzeichnis erstellen .
Wir wollen:
- Erstellen Sie virtuelle Benutzer.
- Erstellen Sie automatisch Home-Verzeichnisse für Benutzer.
chrootBenutzer von Limit ( ) dürfen nur auf ihr eigenes Home-Verzeichnis zugreifen.
Aktivieren Sie die Datenbank von Pure-FTPd und deaktivieren Sie die PAM- und Unix-Authentifizierung, um virtuelle Benutzer zu aktivieren:
ln -s /etc/pure-ftpd/conf/PureDB /etc/pure-ftpd/auth/50pure
echo no > /etc/pure-ftpd/conf/PAMAuthentication
echo no > /etc/pure-ftpd/conf/UnixAuthentication
Stellen Sie Pure-FTPd so ein, dass bei der ersten Anmeldung Basisverzeichnisse für Benutzer erstellt werden:
echo "yes" > /etc/pure-ftpd/conf/CreateHomeDir
Chroot alle.
echo "yes" > /etc/pure-ftpd/conf/ChrootEveryone
Wenn Sie mehr über andere Optionen erfahren möchten, besuchen Sie die offizielle Dokumentationsseite .
Schritt drei - Benutzer erstellen
Pure-FTPd kann virtuelle Benutzer verarbeiten, dh sie werden in der Datenbank von Pure-FTPd gespeichert und sind nicht mit Linux-Systembenutzern verbunden.
Damit Pure-FTPd Dateien mit virtuellen Benutzern verwalten kann, müssen Sie einen Linux-Benutzer und eine Linux-Gruppe erstellen, in der alle virtuellen Benutzer zugeordnet sind. Alle virtuellen Benutzer können denselben Systembenutzer und dieselbe Gruppe verwenden, solange sie chrootet wurden.
Führen Sie die folgenden Befehle aus, um den Systembenutzer und die Systemgruppe zu erstellen:
groupadd ftpusr
useradd -g ftpusr -d /dev/null -s /etc ftpusr
Hinweis : Wir möchten nicht, dass dieser Benutzer über ein Basisverzeichnis oder eine Anmeldefunktion verfügt.
Erstellen Sie unser FTP-Stammverzeichnis:
mkdir /home/FTP
Erstellen Sie einen virtuellen Benutzer in Pure-FTPd:
pure-pw useradd alex -u ftpusr -g ftpusr -d /home/FTP/alex
Wir haben unseren ersten virtuellen Benutzer ( alex) hinzugefügt und ihn dem Systembenutzer / der Gruppe ( ftpusr) zugeordnet. Alle Dateien, mit denen Sie schreiben alex, gehören ftpusrdem System.
Aktualisieren Sie die Datenbank von Pure-FTPd:
pure-pw mkdb
Überprüfen Sie die Benutzerinformationen:
pure-pw show alex
Login : alex
Password : <encrypted password>
UID : 1000 (ftpusr)
GID : 1000 (ftpusr)
Directory : /home/FTP/alex/./
Full name :
Download bandwidth : 0 Kb (unlimited)
Upload bandwidth : 0 Kb (unlimited)
Max files : 0 (unlimited)
Max size : 0 Mb (unlimited)
Ratio : 0:0 (unlimited:unlimited)
Allowed local IPs :
Denied local IPs :
Allowed client IPs :
Denied client IPs :
Time restrictions : 0000-0000 (unlimited)
Max sim sessions : 0 (unlimited)
Verwenden Sie das folgende Skript, um das Leben zu vereinfachen und FTP-Konten hinzuzufügen:
echo -e '#!/bin/bash\nread -p "Enter UserName: " usrname\npure-pw useradd $usrname -u ftpusr -g ftpusr -d /home/FTP/$usrname && pure-pw mkdb' > /usr/sbin/ftp-createacc
chmod u+x /usr/sbin/ftp-createacc
Das Erstellen von FTP-Konten ist jetzt ganz einfach:
ftp-createacc
Enter UserName: mike
Password:
Enter it again:
Schritt vier - TLS-Unterstützung
Zuerst müssen wir OpenSSL installieren.
apt install -y openssl
Erzwingen Sie, dass Pure-FTPd TLS verwendet, oder machen Sie es optional, was bedeutet, dass sowohl unsichere als auch TLS-Verbindungen akzeptiert werden
# force TLS
echo 2 > /etc/pure-ftpd/conf/TLS
# insecure + TLS
echo 1 > /etc/pure-ftpd/conf/TLS
Erstellen Sie ein Verzeichnis zum Speichern unserer Schlüssel.
mkdir -p /etc/ssl/pure-ftpd
Generieren Sie einen Bundle-Schlüssel (privater und öffentlicher Schlüssel).
openssl req -x509 -nodes -days 730 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem
Starten Sie den pure-ftpdDaemon neu.
systemctl restart pure-ftpd
Wenn auf Ihrem System eine Firewall installiert ist oder sich Ihr Server hinter NAT befindet, müssen Sie in Pure-FTPd passive Ports definieren und diese Ports in Ihrer Firewall öffnen. Andernfalls werden folgende Fehler angezeigt:
Server sent passive reply with unroutable address. Passive mode failed.
Failed to retrieve directory listing.
500 I won't open a connection to 192.168.1.4 (only to 10.10.10.10).
Stellen Sie passive Ports in Pure-FTPd ein:
echo "40110 42210" > /etc/pure-ftpd/conf/PassivePortRange
Starten Sie neu pure-ftpd, um die Änderung zu übernehmen.
systemctl restart pure-ftpd
Öffnen Sie in Ihrer Firewall den Bereich für eingehende Ports von 40110 bis 42210 , Protokoll TCP.
FTP ist von Natur aus unsicher, aber auch schnell und einfach einzurichten. Verwenden Sie für eine sicherere Lösung stattdessen SFTP.