FTP steht für File Transfer Protocol. Es ist seit Jahrzehnten eine Standardmethode zum Übertragen von Dateien zwischen Computern.
In dieser Anleitung lernen wir, wie man einen SFTP-Server in Rocky Linux 8 mit vsftp installiert, um Dateien zwischen Client und Server schnell und sicher über das FTP-Protokoll zu übertragen.
Verwandte Inhalte:
- So richten Sie einen SFTP-Server auf Rocky Linux/CentOS 8 Server ein
Stellen Sie sicher, dass der Server aktualisiert wird
Bevor wir fortfahren, stellen wir sicher, dass unser Server aktualisierte Pakete hat. Verwenden Sie diesen Befehl:
sudo dnf update -y
vsftpd installieren
VSFTPD ist in den Standard-Linux-Repos von Rocky verfügbar. Installieren Sie es mit diesem Befehl:
sudo dnf install -y vsftpd
Geben Sie bei Aufforderung Y
ein damit der Vorgang abgeschlossen werden kann.
Starten und aktivieren Sie den Dienst
Der vsftpd-Dienst wird standardmäßig nicht gestartet. Starten Sie es mit diesem Befehl:
sudo systemctl start vsftpd
Bestätigen Sie, dass der Dienst aktiv ist
$ sudo systemctl status vsftpd
● vsftpd.service - Vsftpd ftp daemon
Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; disabled; vendor preset: disabled)
Active: active (running) since Mon 2022-02-14 08:32:41 UTC; 7s ago
Process: 72141 ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf (code=exited, status=0/SUCCESS)
Main PID: 72142 (vsftpd)
Tasks: 1 (limit: 23168)
Memory: 584.0K
CGroup: /system.slice/vsftpd.service
└─72142 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
Feb 14 08:32:41 rockysrv.citizix.com systemd[1]: Starting Vsftpd ftp daemon...
Feb 14 08:32:41 rockysrv.citizix.com systemd[1]: Started Vsftpd ftp daemon.
Aktivieren Sie abschließend den Dienst so, dass er beim Booten gestartet wird:
sudo systemctl enable vsftpd
Aktivieren Sie den Dienst in der Firewall
Wenn Sie firewalld installiert und aktiviert haben, verwenden Sie diese Befehle, um den FTP-Dienst zuzulassen:
sudo firewall-cmd --zone=public --permanent --add-port=21/tcp
sudo firewall-cmd --zone=public --permanent --add-service=ftp
sudo firewall-cmd –-reload
VSFTPD konfigurieren
Die standardmäßige vsftpd-Konfigurationsdatei befindet sich in /etc/vsftpd/vsftpd.conf
Weg. Bevor Sie die Datei bearbeiten, lassen Sie uns die Datei sichern, damit wir zum Original zurückkehren können, wenn etwas nicht wie erwartet läuft.
sudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bk
Als nächstes öffnen Sie die Datei mit Ihrem bevorzugten Texteditor. Ich verwende vim:
sudo vim /etc/vsftpd/vsftpd.conf
Lassen Sie uns zunächst unseren FTP-Server so einstellen, dass anonyme Benutzer deaktiviert und lokale Benutzer zugelassen werden.
Suchen Sie die folgenden Einträge in der Konfigurationsdatei und bearbeiten Sie sie so, dass sie mit Folgendem übereinstimmen:
anonymous_enable=NO
local_enable=YES
Anonymer Zugriff ist riskant – Sie sollten ihn vermeiden, es sei denn, Sie verstehen die Risiken.
Erlauben Sie als Nächstes einem angemeldeten Benutzer, Dateien auf Ihren FTP-Server hochzuladen. Lassen Sie uns den Schreibzugriff mit dieser Zeile aktivieren:
write_enable=YES
Beschränken Sie FTP-Benutzer auf ihr eigenes Home-Verzeichnis. Dies wird oft als Gefängnis bezeichnet oder Chroot-Jail . Suchen Sie den Eintrag und passen Sie ihn so an, dass er mit Folgendem übereinstimmt:
chroot_local_user=YES
allow_writeable_chroot=YES
Der vsftpd Dienstprogramm bietet eine Möglichkeit, eine Liste genehmigter Benutzer zu erstellen. Um Nutzer auf diese Weise zu verwalten, suchen Sie nach userlist_enable
Eintrag, dann bearbeiten Sie die Datei so, dass sie wie folgt aussieht:
userlist_enable=YES
userlist_file=/etc/vsftpd/user_list
userlist_deny=NO
Sie können jetzt die /etc/vsftpd/user_list bearbeiten Datei und fügen Sie Ihre Benutzerliste hinzu. (Listen Sie eine pro Zeile auf.) Die userlist_deny
Mit der Option können Sie Benutzer angeben, die eingeschlossen werden sollen; indem Sie ihn auf yes
setzen würde die Liste auf blockierte Benutzer ändern.
Wenn Sie mit der Bearbeitung der Konfigurationsdatei fertig sind, speichern Sie Ihre Änderungen. Starten Sie den vsftpd neu Dienst zum Übernehmen von Änderungen:
sudo systemctl restart vsftpd
Neuen FTP-Benutzer erstellen
Um einen neuen FTP-Benutzer anzulegen, geben Sie Folgendes ein:
sudo adduser ftpuser0
sudo passwd ftpuser0
Das System sollte Sie auffordern, ein Passwort für den neuen Benutzer einzugeben und zu bestätigen.
Fügen Sie den neuen Nutzer zur Nutzerliste hinzu :
echo "ftpuser0" | sudo tee –a /etc/vsftpd/user_list
Erstellen Sie ein Verzeichnis für den neuen Benutzer und passen Sie die Berechtigungen an:
sudo mkdir -p /home/ftpuser0/ftp/upload
sudo chmod 550 /home/ftpuser0/ftp
sudo chmod 750 /home/ftpuser0/ftp/upload
sudo chown -R ftpuser0: /home/ftpuser0/ftp
Dadurch wird ein /home/ftpuser0 erstellt Verzeichnis für den neuen Benutzer, mit einem speziellen Verzeichnis für Uploads. Es setzt Berechtigungen für Uploads nur in das /uploads-Verzeichnis.
Jetzt können Sie sich mit dem von Ihnen erstellten Benutzer bei Ihrem FTP-Server anmelden:
ftp 10.2.11.9
Ersetzen Sie diese IP-Adresse durch die Ihres Systems. Sie finden Ihre IP-Adresse unter Linux mit der ip addr
Befehl.
Das System sollte Sie zur Eingabe eines Benutzernamens auffordern – geben Sie den Benutzernamen ein, den Sie zuvor erstellt haben. Geben Sie das Passwort ein und das System sollte Sie anmelden.
FTP-Verbindung testen
Um den FTP-Server lokal zu testen, verwenden Sie den Befehl:
$ ftp localhost
Trying ::1...
Connected to localhost (::1).
220 (vsFTPd 3.0.3)
Name (localhost:rocky): rocky
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
Schlussfolgerung
Wir haben es geschafft, einen eigenen FTP-Server einzurichten. Sie sollten sich über FTP bei Ihrem Server anmelden und mit der Übertragung von Dateien beginnen können. Sie können einen FTP-Client wie Filezilla verwenden, um endlich mit den verschiedenen erstellten Konten auf Ihren FTP-Server zuzugreifen und mit der Übertragung von Dateien zu beginnen.