FTP Server · 3 min read · Dec 16, 2025
So installieren Sie Pure-FTPd mit TLS und virtuellen Benutzern auf OpenSUSE Leap 42.1
Pure-FTPd ist ein kostenloser und leichter FTP-Server, der auf Troll-FTPd basiert. Die Entwicklung begann im Jahr 2001 und er läuft auf vielen Unix-ähnlichen Betriebssystemen, einschließlich Linux, *BSD, Solaris und HP-UX. Pure-FTPd bietet viele Funktionen wie virtuelle Domains, chroot-Home-Verzeichnisse, virtuelle Benutzer, TLS/SSL-Unterstützung, virtuelle Quoten und vieles mehr.
In diesem Tutorial zeige ich Ihnen, wie Sie pure-ftpd auf OpenSUSE Leap 42.1 installieren und konfigurieren. Ich werde Ihnen zeigen, wie Sie pure-ftpd mit TLS/SSL einrichten und dann virtuelle Benutzer einrichten.
Voraussetzungen
- OpenSUSE Leap 42.1
- Root-Rechte
- Kenntnisse in OpenSUSE, Zypper
Schritt 1 - Installieren und Konfigurieren von SuSEfirewall2
SuSEfirewall2 ist ein Skript zur Generierung der Firewall-Konfiguration in der Datei ‘/etc/sysconfig/SuSEfirewall2’. Wir werden SuSEfirewall2 installieren und dann die Ports für SSH und den FTP-Dienst öffnen.
Installieren Sie SuSEfirewall2 mit zypper:
zypper in SuSEfirewall2Als Nächstes bearbeiten Sie die Konfigurationsdatei ‘/etc/sysconfig/SuSEfirewall2’ mit vim:
vim /etc/sysconfig/SuSEfirewall2Fügen Sie die neuen Dienste ssh und FTP in Zeile 253 hinzu:
FW_SERVICES_EXT_TCP="ssh ftp"Speichern und beenden.
Starten Sie nun SuSEfirewall2 mit dem systemctl-Befehl:
systemctl start SuSEfirewall2Schritt 2 - Installieren und Konfigurieren von Pure-FTPd
In diesem Schritt werden wir pure-ftpd mit OpenSSL für die TLS/SSL-Konfiguration installieren und den Benutzer und die Gruppe für pure-ftpd konfigurieren.
Installieren Sie die Anwendungen mit zypper wie unten gezeigt:
zypper in pure-ftpd opensslFügen Sie nun die neue Gruppe ‘ftpgroup‘ und den neuen Benutzer für den Master ‘FTP-Benutzer’ namens ‘ftpuser‘ zur Gruppe hinzu.
groupadd ftpgroup
useradd -g ftpgroup -d /dev/null -s /etc ftpuserGehen Sie zum Verzeichnis von pure-ftpd und bearbeiten Sie die Konfigurationsdatei ‘pure-ftpd.conf’ mit dem vim-Editor:
cd /etc/pure-ftpd/
vim pure-ftpd.confÄndern Sie den Wert in Zeile 81 auf ‘yes’, um den anonymen Benutzer zu deaktivieren.
NoAnonymous yesKommentieren Sie Zeile 131 aus, um das Backend zu konfigurieren. Pure-ftpd unterstützt MySQL, PostgreSQL und LDAP als Backend, aber in diesem Tutorial verwenden wir ‘PureDB’ als Backend.
PureDB /etc/pure-ftpd/pureftpd.pdbKommentieren Sie die PAMAuthentication-Zeile in Zeile 141 aus, um die PAM-Authentifizierung zu deaktivieren, da wir PureDB als Authentifizierungsquelle verwenden werden.
#PAMAuthentication yesSpeichern und beenden.
Schritt 3 - Konfigurieren von TLS/SSL für Pure-FTPd
Generieren Sie eine neue selbstsignierte Zertifikatsdatei im Verzeichnis ‘/etc/ssl/private’ mit dem openssl-Befehl:
openssl req -x509 -nodes -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem -days 365Ändern Sie die Berechtigungen der Zertifikatsdatei auf 0600:
chmod 600 /etc/ssl/private/pure-ftpd.pemGehen Sie als Nächstes zurück zum Verzeichnis von pure-ftpd und bearbeiten Sie die Konfigurationsdatei, um die TLS/SSL-Unterstützung für die Clientverbindung zu aktivieren.
cd /etc/pure-ftpd/
vim pure-ftpd.confKommentieren Sie Zeile 439 aus, um TLS zu aktivieren.
TLS 1Kommentieren Sie Zeile 449 aus und fügen Sie eine neue Option hinzu, um es sicherer zu machen.
TLSCipherSuite HIGH:MEDIUM:+TLSv1:!SSLv2:!SSLv3Kommentieren Sie Zeile 445 aus, um die Zertifikatsdatei zu definieren.
CertFile /etc/ssl/private/pure-ftpd.pemSpeichern und beenden.
Starten Sie nun pure-ftpd mit dem systemctl-Befehl:
systemctl start pure-ftpdSchritt 4 - Konfigurieren von virtuellen Benutzern
Pure-FTPd bietet Funktionen zum Erstellen und Verwenden von virtuellen Benutzern anstelle von echten Systembenutzern (Linux). Pure-FTPd bietet mehrere Auth-Backends, und die Konfiguration der virtuellen Benutzer hängt vom Backend ab, das vom Server verwendet wird. In Schritt 2 haben wir ‘PureDB’ als Backend festgelegt.
Wir können einen neuen virtuellen Benutzer mit dem Befehl ‘pure-pw’ erstellen, der von pure-ftpd bereitgestellt wird. In diesem Schritt erstellen wir einen neuen virtuellen Benutzer namens ‘shiro’ mit dem Verzeichnis ‘/srv/ftp/shiro’ als FTP-Home-Verzeichnis, und der Benutzer ist in dieses Verzeichnis chrooted, sodass er nicht auf die anderen Systemverzeichnisse zugreifen kann.
Erstellen Sie den neuen virtuellen Benutzer mit pure-pw:
pure-pw useradd shiro -u ftpuser -d /srv/ftp/shiroErstellen Sie das Verzeichnis für den virtuellen Benutzer und ändern Sie den Besitzer dieses Verzeichnisses auf den Master ‘FTP-Benutzer’.
mkdir -p /srv/ftp/shiro
chown -R ftpuser.ftpgroup /srv/ftp/shiroAls Nächstes müssen wir die Änderungen mit dem folgenden Befehl speichern:
pure-pw mkdbJetzt ist der Benutzer shiro bereit zur Verwendung. Wir können FTP von der Befehlszeile oder FileZilla für die GUI-Oberfläche verwenden, um eine Verbindung zum Server herzustellen.
Hinweis:
pure-pw hat mehr Befehlsoptionen. Sie können ‘pure-pw help‘ verwenden, um alle nützlichen Befehle zu sehen.
Schritt 5 - Testen
Ich werde den FTP-Befehl im Terminal für den Test verwenden. Öffnen Sie Ihr Terminal und geben Sie “ftp” ein:
ftpGeben Sie als Nächstes die IP des pure-ftpd-Servers ein:
open 192.168.43.69Melden Sie sich mit dem Benutzer ‘shiro’ und dem Passwort an und drücken Sie dann ‘Enter’.
Versuchen Sie, eine Datei mit dem Befehl ‘put’ hochzuladen:
put picture.png mypict.pngJetzt sehen Sie die Datei mypict.png auf dem Server mit dem folgenden ls-Befehl:
ls
Referenz
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.