Dieser Artikel beschreibt, wie Sie einen vsFTPD-Server unter CentOS®, Red Hat® Enterprise Linux® (RHEL) und dem Ubuntu®-Betriebssystem installieren und konfigurieren.
Hinweis: Sie müssen über SSH als Root-Benutzer angemeldet sein, um die Anweisungen in diesem Artikel verwenden zu können.
vsFTPD installieren
Verwenden Sie die folgenden Befehle auf den verschiedenen Linux®-Distributionen, um einen vsFTPD-Server zu installieren:
CentOS und RHEL
yum -y install vsftpd
Ubuntu-Betriebssystem
apt-get install vsftpd
Der Installationsprozess generiert eine Konfigurationsdatei. Für CentOS und RHEL heißt die Datei /etc/vsftpd/vsftpd.conf , und für das Ubuntu-Betriebssystem heißt die Datei /etc/vsftpd.conf . Verwenden Sie die Anweisungen in den folgenden Abschnitten, um die Einstellungen in der vsFTPD-Konfigurationsdatei zu konfigurieren.
vsFTPD konfigurieren
Öffnen Sie die vsFTPD-Konfigurationsdatei in einem Dateieditor oder mit vi
, und ersetzen Sie den Inhalt der Datei durch die folgenden Zeilen:
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=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
pasv_min_port=60000
pasv_max_port=65000
Wenn Sie Chroot-Jails aktivieren möchten, fügen Sie die folgenden Zeilen am Ende der Konfigurationsdatei hinzu:
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list
Sie müssen eine vsftp.chroot_list erstellen Datei und fügen Sie alle Benutzer darin ein, die nicht sind chroot. Alle Benutzer sind standardmäßig chrooted. Sie müssen die Datei erstellen, auch wenn Sie keine Benutzer haben, die Sie darin einfügen können.
Hinweis: Für das Betriebssystem Ubuntu lautet die Zeile für die Chroot-Listendatei chroot_list_file=/etc/vsftpd.chroot_list
.
Wenn Sie einem Benutzer ermöglichen möchten, Dateizugriffskontrolllisten (FACLs) zu verwenden oder standardmäßig eine Gruppenberechtigung festzulegen, fügen Sie die folgenden Zeilen am Ende der Konfigurationsdatei hinzu:
file_open_mode=XXXX
local_umask=XXX
Hier können Sie file_open_mode
ändern an 0775, 0664 usw., um Ihre grundlegenden Berechtigungsanforderungen zu erfüllen. Je nachdem, was Sie tun möchten, müssen Sie es möglicherweise nicht mit umask kombinieren.
Umask entfernt Berechtigungen von den Dateien. Beispielsweise wird eine Datei mit 777 zu 755 mit einer umask von 022 (Standard). Dadurch wird der Zugriff aus Sicherheitsgründen eingeschränkt. Einige Leute setzen die umask fälschlicherweise auf 000, weil sie denken, dass die Dateien dann als 777 angezeigt werden. Diese Unterscheidung ist wichtig. Während file_open_mode
teilt vsFTPD die zu verwendenden Standardberechtigungen mit, umask nimmt nur Berechtigungen, es kann sie niemals erteilen.
Starten Sie neu und aktivieren Sie vsFTPD
Nachdem Sie die Konfigurationsdatei bearbeitet haben, müssen Sie den vsFTPD-Dienst neu starten, damit die Änderungen wirksam werden. Verwenden Sie den folgenden Befehl, um vsFTPD unter CentOS, RHEL und dem Ubuntu-Betriebssystem neu zu starten:
systemctl restart vsftpd
Nach dem Neustart von vsFTPD sollten Sie es auch so konfigurieren, dass es beim Booten des Servers gestartet wird. Verwenden Sie den folgenden Befehl, um vsFTPD für den Start beim Booten auf CentOS, RHEL und dem Ubuntu-Betriebssystem zu aktivieren:
systemctl enable vsftpd
vsFTPD durch die Firewall zulassen
Der letzte Schritt besteht darin, vsFTPD durch Ihre Server-Firewall zuzulassen, indem Sie die folgenden Befehle auf den verschiedenen Linux-Distributionen verwenden:
CentOS und RHEL
iptables -I RH-Firewall-1-INPUT -p tcp --dport 21 -m comment --comment "FTP" -j ACCEPT
iptables -I RH-Firewall-1-INPUT -p tcp -m multiport --dports 60000:65000 -m comment --comment "FTP passive mode ports" -j ACCEPT
/etc/init.d/iptables save
Das Betriebssystem Ubuntu
ufw allow 21
ufw allow proto tcp from any to any port 60000:65000