Server

So richten Sie einen FTP-Server unter CentOS ein

So richten Sie einen FTP-Server unter CentOS ein

Durch das Einrichten eines FTP-Servers (File Transfer Protocol) auf Ihrem Linux-PC können Sie Dateien zwischen Ihrem System und einem Remote-Rechner übertragen. Wir zeigen Ihnen, wie Sie einen FTP-Server auf CentOS einrichten.

Linux hat bereits eine Menge Open-Source-FTP-Server, die Sie für den Job verwenden können. Dazu gehören beliebte Server wie PureFTPd, ProFTPD sowie vsftpd.

Sie dürfen jeden der FTP-Server nach Belieben verwenden. In diesem Tutorial werden wir jedoch vsftpd installieren und verwenden, kurz für Very Secure FTP Daemon. Es ist ein schneller, stabiler und sicherer FTP-Server, mit dem Sie Dateien im Handumdrehen von und zu einem Remote-System übertragen können.

FTP-Server auf CentOS einrichten

Fangen wir also ohne weiteres an:

vsftpd installieren

Zuerst müssen wir vsftpd auf CentOS installieren. Geben Sie dazu im Terminal folgenden Befehl ein:

$ sudo dnf install vsftpd

vsftpd auf CentOS installieren

Wenn vsftpd auf Ihrem CentOS-System installiert ist, sollten Sie es so konfigurieren, dass es automatisch startet und bootet. Dies kann mit dem folgenden Befehl erfolgen:

$ sudo systemctl enable vsftpd --now

Sobald dies erledigt ist, überprüfen Sie den vsftpd-Dienststatus, indem Sie diesen Befehl eingeben:

$ sudo systemctl status vsftpd

Ein Ausgabebildschirm ähnlich dem untenstehenden wird angezeigt. Sie sollten sehen, dass vsftpd auf Ihrem CentOS-System nicht „Aktiv“ ist.

vsftpd aktiv und läuft auf CentOS

vsftpd einrichten

Wenn vsftpd aktiv ist und auf Ihrem System ausgeführt wird, müssen Sie die Servereinstellungen konfigurieren. Dazu müssen Sie auf /etc/vsftpd/vsftpd . zugreifen.conf-Konfigurationsdatei. Dies kann durch Öffnen der Konfigurationsdatei im Nano-Editor durch Eingabe des folgenden Befehls im Terminal erfolgen:

$ sudo nano /etc/vsftpd/vsftpd.conf

Da die Datei jetzt im Editor geöffnet ist, müssen Sie mehrere Änderungen vornehmen, um vsftpd auf Ihrem System einzurichten. Lass uns sie einzeln durchgehen.

1. FTP-Zugriff konfigurieren

Lassen Sie uns zunächst den FTP-Server so konfigurieren, dass nur den lokalen Benutzern der Zugriff gewährt wird. Dazu müssen Sie die Anweisungen anonymous_enable und local_enable in der Datei suchen und sie wie in der Abbildung unten gezeigt bearbeiten:

FTP-Zugriffseinstellungen

Wie Sie sehen, müssen Sie anonymous_enable=NO und local_enable=YES setzen.

2. Uploads aktivieren

Als Nächstes müssen Sie den FTP-Server konfigurieren, um das Hochladen und Löschen von Dateien zu ermöglichen.

Um dies zu tun, müssen Sie die write_enable-Direktive finden und in YES ändern, wie in der Abbildung gezeigt.

Option zum Aktivieren von vsftpd-Uploads

3. Benutzeranmeldungen begrenzen

Sobald Sie fertig sind, möchten Sie die Gesamtzahl der Benutzeranmeldungen begrenzen i.e., Sie möchten, dass sich nur bestimmte Benutzer bei Ihrem FTP-Server anmelden. Suchen Sie dazu zunächst diese Zeile im .conf-Datei - userlist_enable=YES. Fügen Sie danach diese beiden Zeilen in die Datei ein:

userlist_file=/etc/vsftpd/user_list userlist_deny=NEIN

Verwenden Sie das Bild unten als Referenz:

Einstellungen zum Einschränken von Benutzeranmeldungen

Sie können diese Option auch aktivieren. In diesem Fall müssen Sie explizit angeben, welchen Benutzern Sie Zugriff auf den FTP-Server gewähren möchten. Um die Benutzer zuzulassen, müssen Sie ihre Benutzernamen zur Datei /etc/vsftpd/user_list mit nur einem Benutzernamen in jeder Zeile hinzufügen add.

4. Passive FTP-Verbindungen einrichten

Vielleicht möchten Sie auch passive FTP-Verbindungen einrichten.

Daher zeigen wir Ihnen hier, wie Sie die minimalen und maximalen Reichweiten der Ports angeben können, indem Sie ein paar Zeilen in das .conf-Datei.

Passive FTP-Verbindungen einrichten

Alles, was Sie tun müssen, ist zum Ende der Datei zu scrollen und diese beiden Zeilen hinzuzufügen, wie in der Abbildung gezeigt.

pasv_min_port=30000 pasv_max_port=31000

Wir werden später in diesem Tutorial auch besprechen, wie Sie den Bereich in Ihrer Firewall öffnen können.

5. Konfigurieren Sie sichere Übertragungen mit SSL/TLS

Schließlich stellt sich die Frage nach der Absicherung der FTP-Verbindung mittels SSL/TLS. Dazu benötigen Sie ein SSL-Zertifikat und konfigurieren Ihren FTP-Server, um es zu verwenden.

Für dieses Tutorial erstellen wir jedoch mit dem OpenSSL-Tool ein selbstsigniertes SSL-Zertifikat und verwenden es dann zum Verschlüsseln unserer FTP-Übertragung.

Als erstes müssen Sie also OpenSSL verwenden, um ein neues SSL-Zertifikat zu generieren. Sie können dies tun, indem Sie den folgenden Befehl im Terminal eingeben:

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

Erstellen eines selbstsignierten OpenSSL-Zertifikats in CentOS

Wenn Sie den obigen Befehl ausführen, wird ein privater 2048-Bit-Schlüssel sowie ein selbstsigniertes Zertifikat generiert. Beide sind zehn Jahre gültig und in derselben Datei gespeichert.

Nachdem Sie Ihr neues SSL-Zertifikat erstellt haben, öffnen Sie die vsftpd-Konfigurationsdatei mit dem vorherigen Befehl:

sudo nano /etc/vsftpd/vsftpd.conf

Scrollen Sie nach unten und fügen Sie die folgenden Zeilen wie im Bild gezeigt hinzu:

rsa_cert_file=/etc/vsftpd/vsftpd.pem rsa_private_key_file=/etc/vsftpd/vsftpd.pem ssl_enable=YES

SSL-Einstellungen für vsftpd konfigurieren

Und das ist es. Sie haben das SSL-Zertifikat für Ihren FTP-Server erfolgreich konfiguriert.

6. Abschließen

Wenn Sie fertig sind, überprüfen Sie die vsftpd-Konfigurationsdatei erneut, um zu sehen, ob alle folgenden Einstellungen so sind, wie sie sind:

Anonym_enable=NEIN local_enable=JA write_enable=JA local_umask=022 dirmessage_enable=JA xferlog_enable=JA connect_from_port_20=JA xferlog_std_format=JA listen=NEIN listen_ipv6=JA pam_service_name=vsftpd userlist_enable_min=JA userlist_file=/etc pasv_max_port=31000 rsa_cert_file=/etc/vsftpd/vsftpd.pem rsa_private_key_file=/etc/vsftpd/vsftpd.pem ssl_enable=YES

Nachdem Sie sichergestellt haben, dass alle oben genannten Änderungen an der Datei vorgenommen wurden, müssen Sie sie speichern. Starten Sie den vsftpd-Dienst nach dem Speichern mit dem folgenden Befehl neu:

$ sudo systemctl restart vsftpd

Konfigurieren Sie die Firewall

Wenn Sie zusammen mit dem FTP-Server eine Firewall aktiviert haben, müssen Sie die Firewall so konfigurieren, dass sie die FTP-Übertragungen zulässt.

Dazu müssen Sie die folgenden Befehle in das Terminal eingeben:

$ sudo Firewall-cmd --permanent --add-port=20-21/tcp

Der obige Befehl öffnet Port 21 – den FTP-Befehlsport und Port 20 – den FTP-Datenport.

Sie müssen auch diesen Befehl eingeben:

$ sudo Firewall-cmd --permanent --add-port=30000-31000/tcp

Dieser Befehl öffnet den 30000-31000 passiven Portbereich, den wir zuvor konfiguriert haben.

Zulassen, dass der vsftpd-Server die CentOS-Firewall passiert

Danach müssen Sie die Firewall mit dem folgenden Befehl neu laden:

$firewall-cmd --reload

So erstellen Sie einen neuen FTP-Benutzer

Nachdem Sie Ihren vsftpd-Server auf Ihrem CentOS-System eingerichtet haben, ist es an der Zeit, einen neuen FTP-Benutzer zu erstellen und ihn auszuprobieren.

Erstellen wir zunächst einen neuen FTP-Benutzer (newftpuser) mit dem folgenden Befehl:

$ sudo adduser newftpuser

Als nächstes müssen Sie ein Passwort für den neuen Benutzer festlegen. Verwenden Sie dazu diesen Befehl:

$ sudo passwd newftpuser

Stellen Sie sicher, dass das Passwort stark und länger als acht Zeichen ist.

Erstellen eines neuen FTP-Benutzers

Nachdem Sie den neuen Benutzer erstellt haben, müssen Sie ihn zur FTP-Benutzerliste hinzufügen. Dies kann durch Eingabe des folgenden Befehls im Terminal erfolgen:

$ echo "newftpuser" | sudo tee -a /etc/vsftpd/user_list

Schließlich müssen Sie einen FTP-Verzeichnisbaum erstellen, in dem Sie alle richtigen Berechtigungen festlegen. Dazu müssen Sie im Terminal die folgenden Befehlsfolgen eingeben:

$ sudo mkdir -p /home/newftpuser/ftp/upload $ sudo chmod 550 /home/newftpuser/ftp $ sudo chmod 750 /home/newftpuser/ftp/upload $ sudo chown -R newftpuser: /home/newftpuser/ftp

Erstellen Sie einen FTP-Verzeichnisbaum

Ihr FTP-Server ist jetzt voll funktionsfähig und einsatzbereit. Sie können sich jetzt mit jedem FTP-Client wie FileZilla . darauf verbinden. Stellen Sie nur sicher, dass der FTP-Client auch so konfiguriert werden kann, dass er die TLS-Verschlüsselung verwendet, da er zum Verschlüsseln der FTP-Übertragungen verwendet wird.

Shell-Zugriff deaktivieren

Beachten Sie beim Anlegen eines neuen FTP-Benutzers, dass der Benutzer, sofern nicht ausdrücklich angegeben, SSH-Zugriff auf den Server hat.

Wenn Sie den Shell-Zugriff des Benutzers deaktivieren möchten, müssen Sie eine neue Shell erstellen, die eine Nachricht ausgibt, die den Benutzer informiert, dass - "Dieses Konto ist nur auf FTP-Zugriff beschränkt".”

Dazu müssen Sie im Terminal folgenden Befehl eingeben:

$ echo -e '#!/bin/sh\necho "Dieser Account ist nur auf FTP-Zugriff beschränkt."' | sudo tee -a /bin/ftponly $ sudo chmod a+x /bin/ftponly

Der obige Befehl erstellt die /bin/ftponly-Shell und führt sie aus.

Als nächstes müssen Sie die neue Shell an die Liste der gültigen Shells anhängen, die sich innerhalb des /etc/shells Datei. Dies geschieht mit dem folgenden Befehl:

$ echo "/bin/ftponly" | sudo tee -a /etc/shells

Und als letzten Schritt müssen Sie nur noch die User-Shell mit diesem Befehl in /bin/ftponly ändern:

$ sudo usermod newftpuser -s /bin/ftponly

Außerdem können Sie für alle zukünftigen FTP-Benutzer denselben Befehl verwenden, um ihre Shell so zu ändern, dass sie nur FTP-Zugriff haben.

So zeigen Sie OSD-Overlay in Vollbild-Linux-Apps und -Spielen an
Das Spielen von Spielen im Vollbildmodus oder die Verwendung von Apps im ablenkungsfreien Vollbildmodus kann Sie von relevanten Systeminformationen ab...
Top 5 Karten zur Spielaufnahme
Wir alle haben Streaming-Gameplays auf YouTube gesehen und geliebt. PewDiePie, Jakesepticye und Markiplier sind nur einige der Top-Gamer, die Millione...
So entwickeln Sie ein Spiel unter Linux
Vor einem Jahrzehnt hätten nicht viele Linux-Benutzer vorhergesagt, dass ihr Lieblingsbetriebssystem eines Tages eine beliebte Spieleplattform für kom...