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 SuSEfirewall2

Als Nächstes bearbeiten Sie die Konfigurationsdatei ‘/etc/sysconfig/SuSEfirewall2’ mit vim:

vim /etc/sysconfig/SuSEfirewall2

Fü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 SuSEfirewall2

Schritt 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 openssl

Fü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 ftpuser

Gehen 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                 yes

Kommentieren 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.pdb

Kommentieren Sie die PAMAuthentication-Zeile in Zeile 141 aus, um die PAM-Authentifizierung zu deaktivieren, da wir PureDB als Authentifizierungsquelle verwenden werden.

#PAMAuthentication             yes

Speichern 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.pem

Gehen 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.conf

Kommentieren Sie Zeile 439 aus, um TLS zu aktivieren.

TLS                      1

Kommentieren Sie Zeile 449 aus und fügen Sie eine neue Option hinzu, um es sicherer zu machen.

TLSCipherSuite           HIGH:MEDIUM:+TLSv1:!SSLv2:!SSLv3

Kommentieren Sie Zeile 445 aus, um die Zertifikatsdatei zu definieren.

CertFile                 /etc/ssl/private/pure-ftpd.pem

Speichern und beenden.

Starten Sie nun pure-ftpd mit dem systemctl-Befehl:

systemctl start pure-ftpd

Schritt 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/shiro

Erstellen 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/shiro

Als Nächstes müssen wir die Änderungen mit dem folgenden Befehl speichern:

pure-pw mkdb

Jetzt 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:

ftp

Geben Sie als Nächstes die IP des pure-ftpd-Servers ein:

open 192.168.43.69

Melden 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.png

Jetzt sehen Sie die Datei mypict.png auf dem Server mit dem folgenden ls-Befehl:

ls

FTP-Verbindung

Referenz

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.