So installieren, konfigurieren und sichern Sie den FTP-Server in RHEL 8

FTP (steht für “Dateiübertragungsprotokoll”) Ist ein Standard- und altes Netzwerkprotokoll, das für die Übertragung von Dateien zwischen einem Client und einem Server in einem Computernetzwerk verwendet wird. Es basiert auf einer Client-Server-Modellarchitektur, die über einen FTP-Client Zugriff auf Dateien und Verzeichnisse bietet, um Dateien auf den Server hochzuladen und Dateien von diesem herunterzuladen.

In unserem vorherigen Artikel haben wir erklärt, wie FTP-Server in CentOS / RHEL 7 für die Übertragung von Computerdateien zwischen einem Client und einem Server in einem Computernetzwerk installiert, konfiguriert und gesichert werden.

In diesem Artikel wird beschrieben, wie Sie einen FTP-Server installieren, konfigurieren und sichern RHEL 8 für die grundlegende Dateifreigabe zwischen Computern.

Installieren Sie den FTP-Server auf RHEL 8

1. Verwenden Sie den folgenden Befehl dnf, um ein sicheres FTP-Paket zu installieren.

# dnf install vsftpd
Installieren Sie VsFTP in RHEL 8
Installieren Sie VsFTP in RHEL 8

2. Wenn die Installation abgeschlossen ist, müssen Sie den vsftpd-Dienst in der Zwischenzeit starten, ihn beim Systemstart automatisch starten lassen und dann den Status mit den folgenden systemctl-Befehlen überprüfen.

# systemctl start vsftpd
# systemctl enable vsftpd
# systemctl status vsftpd
Starten und überprüfen Sie den FTP-Dienst
Starten und überprüfen Sie den FTP-Dienst


3. Als nächstes müssen Sie den FTP-Port öffnen 21 auf der Systemfirewall, um den Zugriff auf FTP-Dienste von externen Systemen zu ermöglichen.

# firewall-cmd --zone=public --permanent --add-port=21/tcp
# firewall-cmd --zone=public --permanent --add-port=45073/tcp
# firewall-cmd --reload

Konfigurieren Sie den FTP-Server auf RHEL 8

4. Um einen FTP-Server zu konfigurieren, müssen Sie die Sicherung der Haupt-FTP-Konfigurationsdatei erstellen /etc/vsftpd/vsftpd.conf Verwenden Sie den folgenden Kopierbefehl.

# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.orig

5. Öffnen Sie dann die Konfigurationsdatei mit Ihrem bevorzugten Befehlszeileneditor.

# vi /etc/vsftpd/vsftpd.conf

Stellen Sie mit diesen entsprechenden Werten folgende Parameter ein (siehe Mann vsftpd.conf für Bedeutungen der Konfigurationsparameter):

anonymous_enable=NO             
local_enable=YES        
write_enable=YES        
local_umask=022             
dirmessage_enable=YES           
xferlog_enable=YES      
connect_from_port_20=YES        
xferlog_std_format=YES          
listen=NO               
listen_ipv6=YES             
pam_service_name=vsftpd        

6. Als Nächstes müssen Sie FTP so konfigurieren, dass Benutzer den Zugriff auf FTP-Dienste basierend auf der Benutzerlistendatei zulassen / verweigern /etc/vsftpd.userlist.

Standardmäßig sind Benutzer in aufgeführt /etc/vsftpd.userlist Datei wird der Zugriff mit dem verweigert userlist_deny Option auf gesetzt YES, wenn userlist_enable=YESermöglicht den Zugriff.

Aber den Parameter einstellen userlist_deny=NO ändert die Einstellung, was bedeutet, dass nur Benutzer explizit in aufgeführt sind userlist_file=/etc/vsftpd.userlist darf sich einloggen.

Fügen Sie daher die folgenden Zeilen in Ihre ein vsftpd.conf Konfigurationsdatei (oder falls bereits vorhanden, kommentieren Sie sie aus und stellen Sie ihre Werte wie gezeigt ein):

userlist_enable=YES                   # allow access to list of usernames from the userlist_file
userlist_file=/etc/vsftpd.userlist    # stores usernames.
userlist_deny=NO   

7. Fügen Sie nun die folgenden Zeilen in Ihre ein vsftpd.conf Konfigurationsdatei, um FTP-Benutzer auf ihre Home-Verzeichnisse zu beschränken.

chroot_local_user=YES      #means local users will be placed in a chroot jail, their home directory after login by default settings.
user_sub_token=$USER            
local_root=/home/$USER/ftp      

Speichern Sie die Änderungen in der Datei und schließen Sie sie.

8. Legen Sie die folgende boolesche SELinux-Regel fest, damit FTP Dateien aus dem Home-Verzeichnis des Benutzers lesen / schreiben kann.

# semanage boolean -m ftpd_full_access --on

9. Starten Sie zum Schluss das neu vsftpd Service, um alle Änderungen zu beeinflussen, die wir bisher vorgenommen haben:

# systemctl restart vsftpd

Testen des FTP-Servers auf RHEL 8

10. Um zu testen, ob das obige FTP-Setup ordnungsgemäß ausgeführt wird, erstellen Sie zunächst einen FTP-Benutzer mit dem Befehl useradd und erstellen Sie ein Kennwort für diesen Benutzer.

# useradd -m -c "Tecmint HowTos" -s /bin/bash tecmint
# passwd tecmint

11. Fügen Sie dann den Benutzer hinzu tecmint in die Datei /etc/vsftpd.userlist Verwenden Sie den Befehl echo wie folgt.

# echo "tecmint" | tee -a /etc/vsftpd.userlist
# cat /etc/vsftpd.userlist

12. Erstellen Sie dann das alternative lokale Stammverzeichnis für den Benutzer (tecmint, Ihre ist wahrscheinlich anders) und legen Sie die entsprechenden Berechtigungen für dieses Verzeichnis fest.

# mkdir -p /home/tecmint/ftp
# chown nobody:nobody /home/tecmint/ftp
# chmod a-w /home/tecmint/ftp

13. Erstellen Sie als Nächstes ein Verzeichnis im lokalen Stammverzeichnis, in dem der Benutzer seine Dateien aufbewahrt.

# mkdir /home/tecmint/ftp/files
# chown tecmint:tecmint /home/tecmint/ftp/files
# chmod 0700 /home/tecmint/ftp/files/

14. Stellen Sie nun wie folgt eine Verbindung zum FTP-Server mit einem beliebigen FTP-Client her.

# ftp [email protected]
Beispielausgabe
Connected to 192.168.56.100
220 Welcome to TecMint.com FTP service.
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls

Das ist es! In diesem Artikel wurde beschrieben, wie Sie einen FTP-Server in installieren, konfigurieren und sichern RHEL 8. In unserem nächsten Artikel zeigen wir, wie Sie einen FTP-Server mithilfe von SSL / TLS-Verbindungen sichern. Bis dahin bleib bei uns.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *