Einrichten von vsftpd für ein Benutzerverzeichnis unter Debian 9

Einführung

FTP, kurz für File Transfer Protocol, ist ein Netzwerkprotokoll, das früher häufig zum Verschieben von Dateien zwischen einem Client und einem Server verwendet wurde. Seitdem wurde es durch schnellere, sicherere und bequemere Methoden zur Übermittlung von Dateien ersetzt. Viele gelegentliche Internetnutzer erwarten, dass sie mit "+ https " direkt von ihrem Webbrowser herunterladen, und Befehlszeilenbenutzer verwenden mit größerer Wahrscheinlichkeit sichere Protokolle wie " scp +" oder "https://www.digitalocean.com/community/". Tutorials / Wie verwende ich SFTP, um Dateien mit einem Remote-Server sicher zu übertragen? [SFTP].

FTP wird weiterhin verwendet, um ältere Anwendungen und Workflows mit sehr spezifischen Anforderungen zu unterstützen. Wenn Sie die Wahl haben, welches Protokoll Sie verwenden möchten, sollten Sie die moderneren Optionen in Betracht ziehen. Wenn Sie jedoch FTP benötigen, ist vsftpd eine ausgezeichnete Wahl. Vsftpd ist auf Sicherheit, Leistung und Stabilität optimiert und bietet starken Schutz vor vielen Sicherheitsproblemen, die bei anderen FTP-Servern auftreten. Dies ist die Standardeinstellung für viele Linux-Distributionen.

In diesem Lernprogramm konfigurieren Sie vsftpd so, dass ein Benutzer Dateien mit durch SSL / TLS gesicherten Anmeldeinformationen über FTP in sein Ausgangsverzeichnis hochladen kann.

Voraussetzungen

Um diesem Tutorial folgen zu können, benötigen Sie:

  • Ein Debian 9-Server und ein Nicht-Root-Benutzer mit Sudo-Rechten. Weitere Informationen zum Erstellen eines Benutzers mit diesen Berechtigungen finden Sie in unserem Handbuch Initial Server Setup with Debian 9.

Schritt 1 - vsftpd installieren

Beginnen wir mit der Aktualisierung Ihrer Paketliste und der Installation des Dämons "+ vsftpd":

sudo apt update
sudo apt install vsftpd

Wenn die Installation abgeschlossen ist, kopieren wir die Konfigurationsdatei, damit wir mit einer leeren Konfiguration beginnen und das Original als Backup speichern können:

sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig

Nach einem Backup der Konfiguration können wir die Firewall konfigurieren.

Schritt 2 - Öffnen der Firewall

Überprüfen Sie den Firewall-Status, um festzustellen, ob er aktiviert ist. In diesem Fall stellen wir sicher, dass der FTP-Verkehr zulässig ist, damit Firewall-Regeln unsere Tests nicht blockieren. In diesem Handbuch wird davon ausgegangen, dass UFW nach Schritt 4 in https://www.digitalocean.com/community/tutorials/initial-server-setup-with-debian-9#step-four-%E2%80%94 installiert ist -Einrichten-einer-Basis-Firewall [Handbuch zur Ersteinrichtung des Servers].

Überprüfen Sie den Firewall-Status:

sudo ufw status

In diesem Fall ist nur SSH erlaubt durch:

OutputStatus: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)

Möglicherweise gibt es andere Regeln oder gar keine Firewall-Regeln. Da in diesem Fall nur SSH-Verkehr zulässig ist, müssen Regeln für den FTP-Verkehr hinzugefügt werden.

Öffnen wir die Ports + 20 + und + 21 + für FTP, den Port + 990 + für TLS und die Ports + 40000-50000 + für den Bereich der passiven Ports, den wir in festlegen möchten Konfigurationsdatei:

sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw allow 990/tcp
sudo ufw allow 40000:50000/tcp

Überprüfen Sie den Firewall-Status:

sudo ufw status

Ihre Firewall-Regeln sollten jetzt so aussehen:

OutputStatus: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
990/tcp                    ALLOW       Anywhere
20/tcp                     ALLOW       Anywhere
21/tcp                     ALLOW       Anywhere
40000:50000/tcp            ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
20/tcp (v6)                ALLOW       Anywhere (v6)
21/tcp (v6)                ALLOW       Anywhere (v6)
990/tcp (v6)               ALLOW       Anywhere (v6)
40000:50000/tcp (v6)       ALLOW       Anywhere (v6)

Nachdem "+ vsftpd +" installiert und die erforderlichen Ports geöffnet sind, können Sie einen dedizierten FTP-Benutzer erstellen.

Schritt 3 - Vorbereiten des Benutzerverzeichnisses

Wir erstellen einen dedizierten FTP-Benutzer, aber möglicherweise benötigen Sie bereits einen Benutzer, der einen FTP-Zugang benötigt. Wir werden darauf achten, dass der Zugriff eines vorhandenen Benutzers auf seine Daten in den folgenden Anweisungen erhalten bleibt. Trotzdem empfehlen wir, dass Sie mit einem neuen Benutzer beginnen, bis Sie Ihr Setup konfiguriert und getestet haben.

Fügen Sie zunächst einen Testbenutzer hinzu:

sudo adduser

Vergeben Sie ein Passwort, wenn Sie dazu aufgefordert werden. Fühlen Sie sich frei, + ENTER durch die anderen Eingabeaufforderungen zu drücken.

FTP ist im Allgemeinen sicherer, wenn Benutzer auf ein bestimmtes Verzeichnis beschränkt sind. + vsftpd + erreicht dies mit https://www.digitalocean.com/community/tutorials/how-to-configure-chroot-environments-for-testing-on-an-ubuntu-12-04-vps#what-is -a-chroot-environment [+ chroot +] Gefängnisse. Wenn "+ chroot " für lokale Benutzer aktiviert ist, sind diese standardmäßig auf ihr Ausgangsverzeichnis beschränkt. Aufgrund der Art und Weise, wie " vsftpd +" das Verzeichnis sichert, darf es jedoch nicht vom Benutzer beschreibbar sein. Dies ist in Ordnung für einen neuen Benutzer, der nur über FTP eine Verbindung herstellen soll. Ein vorhandener Benutzer muss jedoch möglicherweise in seinen Basisordner schreiben, wenn er auch über Shell-Zugriff verfügt.

Erstellen Sie in diesem Beispiel ein "+ ftp " - Verzeichnis als " chroot " - und ein beschreibbares " files +" - Verzeichnis für die eigentlichen Dateien, anstatt die Schreibrechte aus dem Ausgangsverzeichnis zu entfernen.

Erstellen Sie den Ordner + ftp +:

sudo mkdir /home//ftp

Legen Sie den Eigentümer fest:

sudo chown nobody:nogroup /home//ftp

Schreibrechte entfernen:

sudo chmod a-w /home//ftp

Überprüfen Sie die Berechtigungen:

sudo ls -la /home/sammy/ftp
Outputtotal 8
4 dr-xr-xr-x  2 nobody nogroup 4096 Aug 24 21:29 .
4 drwxr-xr-x  3 sammy  sammy   4096 Aug 24 21:29 ..

Als Nächstes erstellen wir das Verzeichnis für das Hochladen von Dateien und weisen dem Benutzer den Besitz zu:

sudo mkdir /home//ftp/files
sudo chown : /home//ftp/files

Eine Berechtigungsprüfung für das Verzeichnis "+ ftp +" sollte Folgendes zurückgeben:

sudo ls -la /home/sammy/ftp
Outputtotal 12
dr-xr-xr-x 3 nobody nogroup 4096 Aug 26 14:01 .
drwxr-xr-x 3 sammy  sammy   4096 Aug 26 13:59 ..
drwxr-xr-x 2 sammy  sammy   4096 Aug 26 14:01 files

Fügen wir zum Schluss eine "+ test.txt +" - Datei hinzu, die beim Testen verwendet werden soll:

echo "vsftpd test file" | sudo tee /home//ftp/files/test.txt

Nachdem wir das "+ ftp " - Verzeichnis gesichert und dem Benutzer Zugriff auf das " files +" - Verzeichnis gewährt haben, ändern wir unsere Konfiguration.

Schritt 4 - FTP-Zugang konfigurieren

Es ist geplant, dass ein einzelner Benutzer mit einem lokalen Shell-Konto eine Verbindung zu FTP herstellen kann. Die beiden Schlüsseleinstellungen dafür sind bereits in + vsftpd.conf + festgelegt. Öffnen Sie zunächst die Konfigurationsdatei, um sicherzustellen, dass die Einstellungen in Ihrer Konfiguration mit den folgenden übereinstimmen:

sudo nano /etc/vsftpd.conf

/etc/vsftpd.conf

. . .
# Allow anonymous FTP? (Disabled by default).
anonymous_enable=NO
#
# Uncomment this to allow local users to log in.
local_enable=YES
. . .

Aktivieren Sie als Nächstes den Benutzer zum Hochladen von Dateien, indem Sie die Einstellung "+ write_enable +" auskommentieren:

/etc/vsftpd.conf

. . .
write_enable=
. . .

Wir werden auch das "+ chroot +" auskommentieren, um zu verhindern, dass der mit FTP verbundene Benutzer auf Dateien oder Befehle außerhalb der Verzeichnisstruktur zugreift:

/etc/vsftpd.conf

. . .
chroot_local_user=
. . .

Fügen wir außerdem ein "+ user_sub_token " hinzu, um den Benutzernamen in unser " local_root directory +" - Verzeichnis einzufügen, damit unsere Konfiguration für diesen Benutzer und alle weiteren zukünftigen Benutzer funktioniert. Fügen Sie diese Einstellungen an einer beliebigen Stelle in der Datei hinzu:

/etc/vsftpd.conf

. . .

Beschränken wir auch den Bereich der Ports, die für passives FTP verwendet werden können, um sicherzustellen, dass genügend Verbindungen verfügbar sind:

/etc/vsftpd.conf

. . .

Um den FTP-Zugriff von Fall zu Fall zuzulassen, stellen Sie die Konfiguration so ein, dass Benutzer nur dann Zugriff haben, wenn sie explizit zu einer Liste hinzugefügt werden, und nicht standardmäßig:

/etc/vsftpd.conf

. . .

"+ userlist_deny " schaltet die Logik um: Wenn " YES " eingestellt ist, wird Benutzern in der Liste der FTP-Zugriff verweigert. Wenn es auf " NO +" gesetzt ist, können nur Benutzer in der Liste darauf zugreifen.

Wenn Sie mit den Änderungen fertig sind, speichern Sie die Datei und beenden Sie den Editor.

Zuletzt fügen wir unseren Benutzer zu "+ / etc / vsftpd.userlist " hinzu. Verwenden Sie das ` -a +` Flag, um an die Datei anzuhängen:

echo "" | sudo tee -a /etc/vsftpd.userlist

Stellen Sie sicher, dass es wie erwartet hinzugefügt wurde:

cat /etc/vsftpd.userlist
Outputsammy

Starten Sie den Dämon neu, um die Konfigurationsänderungen zu laden:

sudo systemctl restart vsftpd

Fahren Sie mit der Konfiguration fort und testen Sie den FTP-Zugriff.

Schritt 5 - Testen des FTP-Zugriffs

Wir haben den Server so konfiguriert, dass nur der Benutzer * sammy * eine Verbindung über FTP herstellen kann. Stellen wir sicher, dass dies wie erwartet funktioniert.

  • Anonyme Benutzer können keine Verbindung herstellen *: Der anonyme Zugriff wurde deaktiviert. Testen wir das, indem wir versuchen, anonym eine Verbindung herzustellen. Wenn unsere Konfiguration ordnungsgemäß eingerichtet ist, sollte anonymen Benutzern die Berechtigung verweigert werden. Öffnen Sie ein anderes Terminal und führen Sie den folgenden Befehl aus. Achten Sie darauf, "++" durch die öffentliche IP-Adresse Ihres Servers zu ersetzen:

ftp -p
OutputConnected to 203.0.113.0.
220 (vsFTPd 3.0.3)
Name (203.0.113.0:default):
530 Permission denied.
ftp: Login failed.
ftp>

Beenden Sie die Verbindung:

bye
  • Andere Benutzer als sammy sollten keine Verbindung herstellen *: Versuchen wir als nächstes, eine Verbindung als unser sudo-Benutzer herzustellen. Außerdem sollte ihnen der Zugriff verweigert werden. Dies sollte geschehen, bevor sie ihr Passwort eingeben dürfen:

ftp -p
OutputConnected to 203.0.113.0.
220 (vsFTPd 3.0.3)
Name (203.0.113.0:default):
530 Permission denied.
ftp: Login failed.
ftp>

Beenden Sie die Verbindung:

bye
  • Der Benutzer sammy sollte in der Lage sein, Dateien zu verbinden, zu lesen und zu schreiben.

ftp -p
OutputConnected to 203.0.113.0.
220 (vsFTPd 3.0.3)
Name (203.0.113.0:default):
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>

Wechseln wir in das Verzeichnis "+ files in" und verwenden den Befehl "+ get", um die zuvor erstellte Testdatei auf unseren lokalen Computer zu übertragen:

cd files
get test.txt
Output229 Entering Extended Passive Mode (|||47398|)
150 Opening BINARY mode data connection for test.txt (17 bytes).
100% |**********************************|    17      146.91 KiB/s    00:00 ETA
226 Transfer complete.
17 bytes received in 00:00 (0.17 KiB/s)
ftp>

Laden Sie als Nächstes die Datei mit einem neuen Namen hoch, um die Schreibberechtigungen zu testen:

put test.txt upload.txt
Output229 Entering Extended Passive Mode (|||46598|)
150 Ok to send data.
100% |**********************************|    17        8.93 KiB/s    00:00 ETA
226 Transfer complete.
17 bytes sent in 00:00 (0.08 KiB/s)

Beenden Sie die Verbindung:

bye

Nachdem wir unsere Konfiguration getestet haben, unternehmen wir nun Schritte, um unseren Server weiter zu sichern.

Schritt 6 - Sichern von Transaktionen

Da FTP keine Daten während der Übertragung nicht verschlüsselt, einschließlich der Benutzeranmeldeinformationen, wird TLS / SSL aktiviert, um diese Verschlüsselung bereitzustellen. Der erste Schritt besteht darin, die SSL-Zertifikate zur Verwendung mit + vsftpd + zu erstellen.

Verwenden Sie "+ openssl ", um ein neues Zertifikat zu erstellen, und verwenden Sie das Flag " -days ", um es ein Jahr lang gültig zu machen. Im selben Befehl fügen wir einen privaten 2048-Bit-RSA-Schlüssel hinzu. Wenn Sie die Flags " -keyout " und " -out +" auf denselben Wert setzen, befinden sich der private Schlüssel und das Zertifikat in derselben Datei:

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem

Sie werden aufgefordert, Adressinformationen für Ihr Zertifikat anzugeben. Ersetzen Sie die hervorgehobenen Werte unten durch Ihre eigenen Informationen:

OutputGenerating a 2048 bit RSA private key
............................................................................+++
...........+++
writing new private key to '/etc/ssl/private/vsftpd.pem'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:
Email Address []:

Ausführlichere Informationen zu den Zertifikatflags finden Sie unter OpenSSL Essentials: Working with SSL Zertifikate, private Schlüssel und CSRs

Nachdem Sie die Zertifikate erstellt haben, öffnen Sie die Konfigurationsdatei "+ vsftpd +" erneut:

sudo nano /etc/vsftpd.conf

Am Ende der Datei sehen Sie zwei Zeilen, die mit + rsa_ + beginnen. Kommentieren Sie sie aus, damit sie so aussehen:

/etc/vsftpd.conf

. . .
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
. . .

Fügen Sie darunter die folgenden Zeilen hinzu, die auf das Zertifikat und den privaten Schlüssel verweisen, die wir gerade erstellt haben:

/etc/vsftpd.conf

. . .


. . .

Danach erzwingen wir die Verwendung von SSL, wodurch verhindert wird, dass Clients, die mit TLS nicht umgehen können, eine Verbindung herstellen. Dies ist erforderlich, um sicherzustellen, dass der gesamte Datenverkehr verschlüsselt ist. Dies kann jedoch dazu führen, dass Ihr FTP-Benutzer die Clients wechselt. Ändern Sie + ssl_enable + in + YES +:

/etc/vsftpd.conf

. . .
ssl_enable=
. . .

Fügen Sie anschließend die folgenden Zeilen hinzu, um anonyme Verbindungen über SSL explizit zu verweigern und SSL sowohl für die Datenübertragung als auch für die Anmeldung zu benötigen:

/etc/vsftpd.conf

. . .



. . .

Konfigurieren Sie anschließend den Server für die Verwendung von TLS, dem bevorzugten Nachfolger von SSL, indem Sie die folgenden Zeilen hinzufügen:

/etc/vsftpd.conf

. . .



. . .

Schließlich werden wir zwei weitere Optionen hinzufügen. Erstens ist keine erneute Verwendung von SSL erforderlich, da dadurch viele FTP-Clients beschädigt werden können. Wir werden "hohe" Verschlüsselungs-Cipher-Suites benötigen, was derzeit Schlüssellängen von mindestens 128 Bit bedeutet:

/etc/vsftpd.conf

. . .


. . .

Der fertige Dateibereich sollte folgendermaßen aussehen:

/etc/vsftpd.conf

# This option specifies the location of the RSA certificate to use for SSL
# encrypted connections.
#rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
#rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
require_ssl_reuse=NO
ssl_ciphers=HIGH

Speichern und schließen Sie die Datei, wenn Sie fertig sind.

Starten Sie den Server neu, damit die Änderungen wirksam werden:

sudo systemctl restart vsftpd

Zu diesem Zeitpunkt können wir keine Verbindung mehr mit einem unsicheren Befehlszeilenclient herstellen. Wenn wir es versuchen, sehen wir so etwas wie:

Outputftp -p
Connected to 203.0.113.0.
220 (vsFTPd 3.0.3)
Name (203.0.113.0:default):
530 Non-anonymous sessions must use encryption.
ftp: Login failed.
ftp>

Als Nächstes überprüfen wir, ob wir eine Verbindung mit einem Client herstellen können, der TLS unterstützt.

Schritt 7 - TLS mit FileZilla testen

Die meisten modernen FTP-Clients können für die Verwendung der TLS-Verschlüsselung konfiguriert werden. Wir werden zeigen, wie Sie eine Verbindung mit FileZilla herstellen können, da es plattformübergreifend unterstützt wird. Konsultieren Sie die Dokumentation für andere Kunden.

Wenn Sie FileZilla zum ersten Mal öffnen, finden Sie das Site Manager-Symbol direkt über dem Wort * Host *, dem Symbol ganz links in der oberen Zeile. Klick es:

image: https: //assets.digitalocean.com/articles/vsftpd_18_04/vsftpd_images/filezilla_site_manager_vsftpd_18_04.png [Site Manager-Screenshot]

Ein neues Fenster wird geöffnet. Klicken Sie auf die Schaltfläche * Neue Site * in der unteren rechten Ecke:

image: https: //assets.digitalocean.com/articles/vsftp-user/new-site.png [Neue Site-Schaltfläche] + Unter * Meine Sites * wird ein neues Symbol mit den Worten * Neue Site * angezeigt. Sie können es jetzt benennen oder später zurückkehren und die Schaltfläche * Umbenennen * verwenden.

Füllen Sie das Feld * Host * mit dem Namen oder der IP-Adresse aus. Wählen Sie im Dropdown-Menü * Verschlüsselung * die Option * Explizites FTP über TLS erforderlich * aus.

Wählen Sie für * Anmeldetyp * * Passwort anfordern * aus. Geben Sie Ihren FTP-Benutzer in das Feld * Benutzer * ein:

image: https://assets.digitalocean.com/articles/vsftp-user/site-config2.png [Registerkarte Allgemeine Einstellungen]

Klicken Sie unten in der Benutzeroberfläche auf "Verbinden". Sie werden nach dem Passwort des Benutzers gefragt:

image: https: //assets.digitalocean.com/articles/vsftp-user/user-pass.png [Kennwortdialog]

Klicken Sie auf * OK *, um eine Verbindung herzustellen. Sie sollten jetzt mit TLS / SSL-Verschlüsselung mit Ihrem Server verbunden sein.

Bei Erfolg erhalten Sie ein Serverzertifikat, das folgendermaßen aussieht:

image: https: //assets.digitalocean.com/articles/vsftpd_18_04/vsftpd_images/filezilla_certificate_vsftpd.png [Site Certificate Dialogue]

Wenn Sie das Zertifikat akzeptiert haben, doppelklicken Sie auf den Ordner "+ files " und ziehen Sie " upload.txt +" nach links, um zu bestätigen, dass Sie Dateien herunterladen können:

image: https: //assets.digitalocean.com/articles/vsftpd_18_04/vsftpd_images/filezilla_file_test_vsftpd_18_04.png [Download test.txt]

Wenn Sie dies getan haben, klicken Sie mit der rechten Maustaste auf die lokale Kopie, benennen Sie sie in "+ upload-tls.txt +" um und ziehen Sie sie zurück auf den Server, um zu bestätigen, dass Sie Dateien hochladen können:

Sie haben jetzt bestätigt, dass Sie Dateien mit aktiviertem SSL / TLS sicher und erfolgreich übertragen können.

Schritt 8 - Deaktivieren des Shell-Zugriffs (optional)

Wenn Sie TLS aufgrund von Clientanforderungen nicht verwenden können, können Sie etwas Sicherheit gewinnen, indem Sie die Möglichkeit des FTP-Benutzers deaktivieren, sich auf andere Weise anzumelden. Eine relativ einfache Möglichkeit, dies zu verhindern, besteht darin, eine benutzerdefinierte Shell zu erstellen. Dadurch wird keine Verschlüsselung bereitgestellt, aber der Zugriff auf ein gefährdetes Konto wird auf Dateien beschränkt, auf die über FTP zugegriffen werden kann.

Öffnen Sie zuerst eine Datei mit dem Namen "+ ftponly " im Verzeichnis " bin +":

sudo nano /bin/ftponly

Fügen Sie eine Nachricht hinzu, die dem Benutzer mitteilt, warum er sich nicht anmelden kann:

/ bin / ftponly

#!/bin/sh
echo "This account is limited to FTP access only."

Speichern Sie die Datei und beenden Sie Ihren Editor.

Ändern Sie die Berechtigungen, um die Datei ausführbar zu machen:

sudo chmod a+x /bin/ftponly

Öffnen Sie die Liste der gültigen Shells:

sudo nano /etc/shells

Am unteren Rand hinzufügen:

/ etc / shells

. . .
/bin/ftponly

Aktualisieren Sie die Shell des Benutzers mit dem folgenden Befehl:

sudo usermod  -s /bin/ftponly

Versuchen Sie nun, sich auf Ihrem Server als * sammy * anzumelden:

ssh sammy@

Sie sollten etwas sehen wie:

OutputThis account is limited to FTP access only.
Connection to 203.0.113.0 closed.

Dies bestätigt, dass der Benutzer nicht länger "+ ssh +" zum Server kann und nur auf den FTP-Zugriff beschränkt ist.

Fazit

In diesem Tutorial haben wir uns mit dem Einrichten von FTP für Benutzer mit einem lokalen Konto befasst. Wenn Sie eine externe Authentifizierungsquelle verwenden müssen, sollten Sie die Unterstützung von virtuellen Benutzern durch "+ vsftpd +" prüfen. Dies bietet eine Vielzahl von Optionen durch die Verwendung von PAM, den Pluggable Authentication Modules, und ist eine gute Wahl, wenn Sie Benutzer in einem anderen System wie LDAP oder Kerberos verwalten.