GNU/Linux >> LINUX-Kenntnisse >  >> OpenSuse

So installieren Sie Pure-FTPd mit TLS und virtuellen Benutzern unter OpenSUSE Leap 42.1

Pure-FTPd ist ein kostenloser und leichtgewichtiger FTP-Server, der auf Troll-FTPd basiert, die Entwicklung begann 2001 und läuft auf vielen Unix-ähnlichen Betriebssystemen, einschließlich Linux, *BSD, Solaris und HP-UX. Pure-FTPd hat viele Funktionen wie virtuelle Domänen, Chroot-Home-Verzeichnis, virtuelle Benutzer, TLS/SSL-Unterstützung, virtuelle Quota und vieles mehr.

In diesem Tutorial zeige ich Ihnen, wie Sie pure-ftpd unter OpenSUSE Leap 42.1 installieren und konfigurieren. Ich werde Ihnen zeigen, wie Sie pure-ftpd mit TLS/SSL einrichten und dann virtuelle Benutzer einrichten.

Voraussetzung

  • OpenSUSE Leap 42.1
  • Root-Rechte
  • OpenSUSE, Zypper-Wissen

Schritt 1 - SuSEfirewall2 installieren und konfigurieren

SuSEfirewall2 ist ein Skript zum Generieren 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 – Pure-FTPd installieren und konfigurieren

In diesem Schritt installieren wir pure-ftpd mit OpenSSL für die TLS/SSL-Konfiguration und konfigurieren den Benutzer und die Gruppe pure-ftpd.

Installieren Sie die Anwendungen mit Zypper wie unten gezeigt:

zypper in pure-ftpd openssl

Fügen Sie nun die neue Gruppe 'ftpgroup hinzu ' und den neuen Benutzer für den Master-'FTP-Benutzer' namens 'ftpuser ' zur Gruppe.

groupadd ftpgroup
useradd -g ftpgroup -d /dev/null -s /etc ftpuser

Gehen Sie in das pure-ftpd-Verzeichnis 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 bietet Unterstützung für MySQL, PostgreSQL und LDAP als Backend, aber in dieser Anleitung verwenden wir „PureDB“ für das Backend.

PureDB                        /etc/pure-ftpd/pureftpd.pdb

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

#PAMAuthentication             yes

Speichern und beenden.

Schritt 3 – TLS/SSL für Pure-FTPd konfigurieren

Generieren Sie mit dem openssl-Befehl eine neue selbstsignierte Zertifikatsdatei im Verzeichnis „/etc/ssl/private“:

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 pure-ftpd-Verzeichnis und bearbeiten Sie die Konfigurationsdatei, um die TLS/SSL-Unterstützung für die Client-Verbindung zu aktivieren.

cd /etc/pure-ftpd/
vim pure-ftpd.conf

Kommentieren Sie Zeile 439 aus, um TLS zu aktivieren.

TLS                      1

Entkommentieren Sie Zeile 449 und fügen Sie eine neue Option hinzu, um sie 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 – Virtuelle Benutzer konfigurieren

Pure-FTPd bietet Funktionen zum Erstellen und Verwenden virtueller Benutzer anstelle von echten Systembenutzern (Linux). Pure-FTPd bietet mehrere Authentifizierungs-Backends und die virtuelle Benutzerkonfiguration hängt vom Backend ab, das vom Server verwendet wird. In Schritt 2 haben wir 'PureDB' als Backend eingestellt.

Wir können einen neuen virtuellen Benutzer mit dem von pure-ftpd bereitgestellten Befehl ‚pure-pw‘ erstellen. In diesem Schritt erstellen wir einen neuen virtuellen Benutzer namens „shiro“ mit dem Verzeichnis „/srv/ftp/shiro“ als FTP-Home-Verzeichnis und der Benutzer wird 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 Eigentümer dieses Verzeichnisses in 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 einsatzbereit, wir können FTPp von der Befehlszeile oder FileZilla für die GUI-Schnittstelle 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 anzuzeigen.

Schritt 5 – Testen

Ich werde zum Testen den FTP-Befehl im Terminal verwenden. Öffnen Sie Ihr Terminal und geben Sie "ftp":

ein
ftp

Geben Sie als Nächstes die pure-ftpd-Server-IP 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, die 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


OpenSuse
  1. So installieren Sie ProFTPd mit TLS auf OpenSuse 13.2

  2. So installieren Sie Lighttpd mit PHP5 FastCGI und MySQL unter openSUSE 12.1

  3. So installieren Sie Nginx mit PHP-FPM und MySQL unter openSUSE 12.1

  4. So installieren Sie Mongodb 5 in Opensuse Leap 15.3

  5. So installieren Sie Java 17 in OpenSUSE Leap 15.3

So installieren und konfigurieren Sie OpenVPN auf OpenSUSE Leap 42.1

So installieren Sie WordPress mit HHVM und Nginx auf OpenSUSE Leap 42.1

So installieren Sie einen OpenSUSE Leap 42.1 KDE-Desktop

So installieren Sie ownCloud 9 mit Nginx auf OpenSUSE Leap 42.1

So installieren Sie Skype auf openSUSE Leap

So installieren Sie Dropbox auf openSUSE Leap 42.2