Detailliertes Tutorial zur Installation des FTP-Servers im CentOS 8-System und zur Konfiguration des passiven Modus

Detailliertes Tutorial zur Installation des FTP-Servers im CentOS 8-System und zur Konfiguration des passiven Modus

Dies ist eine FTP-Serverinstallation für Anfänger.

1. Verstehen Sie die Grundlagen

FTP: File Transfer Protocol (FTP).

FTP ist eines der ältesten Dateiübertragungsprotokolle der Geschichte und wird in vielen Softwaresystemen verwendet. Beispielsweise erfordern WordPress-Backend-Updates FTP-Dienste.

FTP verwendet die TCP-Protokollübertragung anstelle von UDP.

FTP verwendet zwei Arten von Ports: Steuerport 21 und Übertragungsport.

Es gibt zwei Modi für die FTP-Übertragung: den passiven Modus (PASV) und den aktiven Modus (PORT).

Während des Übertragungsvorgangs, unabhängig davon, ob es sich um den passiven oder den aktiven Modus handelt, tauschen der [Client] und [Port 21 auf dem Server] relevante Informationen wie Benutzername und Passwort aus und bestätigen, welcher Modus für die Übertragung verwendet werden soll. Im aktiven Modus tauschen Client und Server Daten über [Port 20 auf dem Server] aus. Im passiven Modus bestätigt der Server einen oder mehrere seiner eigenen zufälligen Ports und der Client muss Daten mit diesem Port auf dem Server austauschen.

VSFTPD ist eine weit verbreitete FTP-Serversoftware. FTP-Befehle sind Client-Betriebsbefehle.

Es gibt auch SFTP. SFTP und FTP ähneln sich nur im Namen und sollten nicht einfach als sicheres FTP verstanden werden. Es handelt sich um eine Dateiübertragungsmethode, die vom SSH-Protokoll bereitgestellt wird. Viele Cloud-Server verfügen über SSH-Verbindungen für eine einfache Fernsteuerung. Selbst wenn Sie FTP nicht erfolgreich konfiguriert haben, können Sie möglicherweise SFTP für die Übertragung verwenden. SFTP verwendet nur Port 22.

2. Bestätigen Sie die Systemumgebung

Der verwendete persönliche FTP-Server ist der ECS-Server von Alibaba Cloud. Virtuelle Hosts unterstützen möglicherweise einige Konfigurationen nicht, aber viele virtuelle Hosts verfügen über integrierte FTP-Dienste.

Das System ist Alibaba Cloud Linux 3.2104 64-Bit, kompatibel mit Centos8-Anweisungen. Wenn Sie eine andere Version des Systems verwenden, müssen Sie bestätigen, ob einige Anweisungen verwendet werden können.

Der verwendete Paketmanager ist DNF. Dies ist eine alternative Version von YUM, die mit den meisten YUM-Befehlen kompatibel ist. Mit dem Paketmanager können Sie Systemsoftware einfach über den Standardpfad installieren und aktualisieren. Dadurch werden Probleme reduziert, die durch das Festlegen des Installationspfads entstehen. Dies wird für Anfänger empfohlen.

Ob Ihr System die entsprechenden Komponenten installiert hat, können Sie anhand der folgenden Anleitung vor der weiteren Inbetriebnahme prüfen:

wo ist vsftpd

Wenn vsftpd nicht auf dem System installiert ist, wird es zurückgegeben

VSFTPD:

Andernfalls wird ein Verzeichnis ähnlich dem folgenden zurückgegeben

vsftpd: /usr/sbin/vsftpd /etc/vsftpd /usr/share/man/man8/vsftpd.8.gz

Hier gibt es drei Verzeichnisse, durch Leerzeichen getrennt. In der Standard-DNF-Installation von CENTOS8 ist /etc/vsftpd der Standardinstallationsort.

3. FTP-Befehl installieren [optional]

Mit dem FTP-Befehl können Sie serverseitig eine Verbindung zu Ihrem eigenen FTP-Server herstellen. So vermeiden Sie Störungen durch Firewalls und können Probleme einfacher beheben. Nicht erforderlich, aber empfohlen.

dnf ftp installieren

Sie können es direkt nach der Installation verwenden.

Verbindungsserver:

ftp XXX.XXX.XXX.XXX

XXX.XXX.XXX.XXX steht für die IP-Adresse. Sie können auch ftp localhost verwenden, um eine Verbindung zum lokalen Server herzustellen.

Beenden Sie den Server

aufhören

Mehr Inhalt ist für Anfänger nicht nötig. Wenn du mehr wissen willst, suche bitte selbst.

4. Installieren Sie VSFTPD

dnf vsftpd installieren

5. Lokale Benutzer einrichten

Benutzer hinzufügen xxx
passwort xxx

XXX steht für Ihren Benutzernamen. Benutzer hinzufügen über useradd und Passwörter ändern über passwd

Es ist erwähnenswert, dass die auf diese Weise hinzugefügten Benutzer Benutzer des CENTOS-Systems sind, nicht Benutzer der vsftpd-Software. Einige der geänderten Einstellungen gelten auch für Systembenutzer.

Sie können auch virtuelle Benutzer verwenden und sie Systembenutzern zuordnen, aber die entsprechenden Einstellungen sind für Anfänger etwas umständlich. Bitte suchen Sie nach weiteren Informationen.

6. Konfigurieren Sie die Conf-Datei von vsftpd

Wie bereits erwähnt, ist der Standardinstallationspfad für die DNF-Installation unter CENTOS8 /etc/vsftpd. Die Konfigurationsdatei für vsftpd finden Sie hier.

Dieser Artikel verwendet Links im passiven Modus. Die wichtigsten Parameter, die geändert werden müssen, sind wie folgt ([ ] und der Inhalt in [ ] sind Anmerkungen zu zugehörigen Einstellungen, bitte schreiben Sie sie nicht in die Einstellungsdatei)

PORT-Modus deaktivieren

connect_from_port_20=NO [deaktiviert den vom PORT-Modus verwendeten Übertragungsport]

PASV-Modus aktivieren

hören=JA
listen_ipv6=NO [Der PASV-Modus gibt seine zufällig zugewiesene Verbindungsadresse und seinen Port an den Client zurück. Der Rückgabewert ist eine 6-Bit-Zahl: XXX,XXX,XXX,XXX,a,b. Die ersten vier Ziffern sind die IP-Adresse und die letzten beiden Ziffern der Portwert, der mit der Methode a*256+b berechnet wird. Wenn diese Option aktiviert ist, wird der Wert als IPV6-Adresse erkannt, was zu Komplikationen führen kann.
pasv_enable=YES [PASV-Modus aktivieren]
pasv_min_port=xxxx
pasv_max_port=xxxx [Gibt die vom Server zugewiesenen minimalen und maximalen Portnummern an. Wenn nicht angegeben, ist der Server möglicherweise mit einer Portnummer konfiguriert, die sich mit dem Port anderer Software überschneidet, was zu Fehlern führt. Um Konflikte zu vermeiden, wird empfohlen, einen größeren Port zuzuweisen. Ein zu großer Port kann jedoch den Bereich des Servers überschreiten.
pasv_addr_resolve=JA [Sehr wichtig. Änderung der IP-Adresse zulassen. 】
pasv_address=XXX.XXX.XXX.XXX【Sehr wichtig. Diese Adresse ist die öffentliche Adresse Ihres Servers. Im PASV-Modus gibt der Server eine 6-Bit-Adresse und einen 6-Bit-Port zurück. Wenn Sie die beiden oben genannten Elemente nicht festlegen, wird die IP-Adresse des privaten Netzwerks zurückgegeben und die Remoteverbindung kann Ihre Adresse nicht finden. 】
pasv_promiscuous=JA [JA schaltet Sicherheitsüberprüfungen aus. Es besteht ein gewisses Risiko. Unter normalen Umständen prüft der Server, ob die IP-Adressen der beiden Clientverbindungen übereinstimmen. Wenn sie nicht übereinstimmen, wird die Verbindung abgelehnt. 】

Empfohlene zu ändernde Sicherheitseinstellungen

anonymous_enable=NO [Anonyme Benutzer sind verboten]
chroot_local_user=YES [Benutzern den Zugriff auf Dateien außerhalb des angegebenen Stammverzeichnisses verbieten]
allow_writeable_chroot=NEIN

7. Koordination der konfigurationssystembezogenen Software

Festlegen von „nologin“

Ändern Sie die Datei passwd, normalerweise im Pfad /etc, und ändern Sie /bin/bash in /sbin/nologin, um zu verhindern, dass Sie sich mit Ihrem FTP-Benutzernamen und -Passwort direkt beim System anmelden.

Ändern des Stammverzeichnisses

Ändern Sie die Passwd-Datei und ersetzen Sie die Verzeichnisadresse durch die Adresse, auf die der FTP-Benutzer zugreifen soll.

Verzeichnisberechtigungen ändern

Für diesen Teil empfiehlt es sich, ein Buch zu lesen, in dem speziell auf Berechtigungen eingegangen wird. Ich habe die Berechtigungen auf 755 gesetzt.

Die Berechtigungen für das Stammverzeichnis können je nach Konfigurationsdatei unterschiedliche Fehler verursachen.

PAM-Datei

Nachdem Sie das Nologin des Benutzers geändert haben, müssen Sie nach dem Systemordner pam.d suchen (normalerweise im Pfad etc). Es ist eine Authentifizierung erforderlich: pam_shells.so. Wenn Sie es in nologin ändern, stimmt es nicht damit überein und es tritt ein Fehler auf. Kommentieren Sie es aus.

Wenn Sie andere Setups haben, müssen Sie diese Datei möglicherweise weiter ändern.

Öffnen Sie die Ports für externe Netzwerke

Dieser Schritt umfasst zwei Dinge. Zum einen muss die Firewall des Servers geöffnet werden, zum anderen muss Ihr Serveranbieter möglicherweise über eine externe Sicherheitsgruppe verfügen.

Öffnen Sie die Firewall des Servers

CENTOS installiert standardmäßig Firewalld. Wenn Ihr System iptables ist, suchen Sie bitte selbst danach. Selunix benötigt auch entsprechende Einstellungen, aber da es leicht zu Fehlern kommt, schalten viele Leute es standardmäßig aus.

systemctl status firewalld [Überprüfen, ob Firewalld aktiviert ist]

firewall-cmd --add-port=xxx-xxx/tcp --permanent [xxx-xxx steht für den in der Einstellungsdatei konfigurierten Portbereich, links klein und rechts groß]
firewall-cmd --add-port=21/tcp --permanent [Öffnen Sie Port 21 für die Steuerverbindung. Wenn Sie den PORT-Modus nicht deaktivieren, müssen Sie trotzdem Port 20 öffnen]
firewall-cmd --reload [Einstellungen neu laden]

Öffnen Sie die externe Sicherheitsgruppe des Dienstanbieters

Nehmen wir Alibaba Cloud als Beispiel: Nehmen Sie in der Konsolenserver-Sicherheitsgruppe ähnliche Konfigurationen in eingehender Richtung vor, legen Sie den PASV-Portbereich in der Einstellungsdatei und den 21. Port der Steuerverbindung fest (wenn der PORT-Modus nicht geschlossen ist, müssen Sie auch Port 20 öffnen).

8. Auf mögliche Fehler testen

Melden Sie sich per FTP-Befehl und IP-Adresse beim Server und Remote-Client an. Die Anmeldung bei Windows erfolgt über den Ressourcenmanager ftp://XXX,XXX,XXX,XXX (öffentliche IP-Adresse) und kann über den Befehl cmd oder mithilfe einer FTP-Software getestet werden.

1. Wenn sich der Server anmelden kann, der Remote-Server jedoch nicht, überprüfen Sie die Firewall-Einstellungen.

2. Wenn der Fehler „227 Entering Passive Mode“ auftritt, bedeutet dies, dass pasv_addr_resolve=YES und pasv_address=XXX.XXX.XXX.XXX nicht richtig eingestellt sind. Bei der vom Server zurückgegebenen Adresse handelt es sich um eine private Netzwerkadresse oder eine falsche IP-Adresse, und der Client kann keine Verbindung dazu herstellen.

Ich bin bisher auf keine weiteren Probleme gestoßen und habe mein WordPress nach der oben beschriebenen Konfiguration per FTP aktualisiert. Wenn es Fehler oder Auslassungen gibt, korrigieren Sie mich bitte. Danke fürs Lesen.

Dies ist das Ende dieses Artikels über die Installation und Konfiguration des passiven Modus des FTP-Servers auf dem CentOS8-System – ein anfängerfreundlicher Artikel. Weitere relevante Inhalte zum FTP-Server auf dem CentOS8-System finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder durchsuchen Sie die verwandten Artikel weiter unten. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • So installieren und konfigurieren Sie einen FTP-Server in CentOS8.0
  • So installieren und konfigurieren Sie vsftpd in einer CentOS7-Serverumgebung
  • Detailliertes Tutorial zur Installation und Konfiguration von proftpd zum Erstellen eines FTP-Servers unter CentOS 7
  • So installieren Sie vsftpd und konfigurieren mehrere Benutzer in Centos6.9
  • Detaillierte Erläuterung der CentOS7-Installation und Konfiguration von vsftp zum Erstellen von FTP
  • Detaillierte Installation und Konfiguration von vsftp in CentOS
  • Ein kurzes Tutorial zur Installation und Konfiguration von vsftp in CentOs6.5

<<:  Häufige CSS-Fehler und Lösungen

>>:  Interner Ereignisrückruf der Webkomponentenkomponente und Problempunktanalyse

Artikel empfehlen

Erweiterte Closures in JavaScript erklärt

Inhaltsverzeichnis 1. Das Konzept der Schließung ...

Diagramm des Prozesses zur Implementierung eines Richtungsproxys durch Nginx

Dieser Artikel stellt hauptsächlich den Prozess d...

So ändern Sie Flash-SWF-Dateien in Webseiten

Ich denke, dies ist ein Problem, auf das viele Leu...

So implementieren Sie die Paging-Funktion des MyBatis-Interceptors

So implementieren Sie die Paging-Funktion des MyB...

Verwendung des Node.js-HTTP-Moduls

Inhaltsverzeichnis Vorwort HTTP HTTP-Server Datei...

So zeigen Sie das MySQL-Binlog (Binärprotokoll) an

Wenn Sie beispielsweise eine neue Tabelle erstell...

Eine einfache Möglichkeit zum Erstellen einer Docker-Umgebung

Lassen Sie uns zunächst verstehen, was Docker ist...

JS realisiert den Effekt der Baidu News-Navigationsleiste

In diesem Artikel wird der spezifische JS-Code zu...

jQuery-Plugin zur Implementierung des Minesweeper-Spiels (1)

Dieser Artikel teilt den spezifischen Code des er...

Zusammenfassung einiger gängiger Protokolle in MySQL

Vorwort: Im MySQL-System gibt es viele verschiede...

So installieren Sie Postgres 12 + pgadmin im lokalen Docker (unterstützt Apple M1)

Inhaltsverzeichnis einführen Unterstützt Intel-CP...

Acht Möglichkeiten zur Implementierung von Kommunikation in Vue

Inhaltsverzeichnis 1. Komponentenkommunikation 1....

Detaillierte Erklärung zum Schreiben von MySQL ungleich null und gleich null

1. Tabellenstruktur 2. Tabellendaten 3. Das Abfra...