Heim >Betrieb und Instandhaltung >Betrieb und Wartung von Linux >So konfigurieren Sie den FTP-Server unter Linux
1. Verwenden Sie zunächst den Befehl rpm -qa|, um zu überprüfen, ob ftp nicht installiert ist, verwenden Sie yum -y install vsftpd, um es zu installieren (verwenden Sie apt-get install vsftpd unter Ubuntu)
2. Dienst vsftpd starten / Dienst vsftpd neu starten
Starten Sie den folgenden Befehl: chkconfig --level 35 vsftpd on
3. Legen Sie die FTP-Berechtigungen fest
vi /etc/vsftpd/vsftpd.conf
Ändern Sie „anonymous_enable=YES“ in „anonymous_enable=NO“
ESC, um zurückzukehren, geben Sie „:wq“ ein Speichern und starten
Firewall aktualisieren
#iptables -F
Die Hauptkonfigurationsdatei von vsftpd ist:
/etc/vsftpd/vsftpd .conf
Experiment 1:
Wenn ich FTP nicht erlaube, sich anonym anzumelden, können wir die Hauptkonfigurationsdatei ändern von vsftpd, um
#vi / etc/vsftpd/vsftpd.conf zu erreichen Anonym_enable=YES in anonym_enable=NEIN ändern
Experiment 2:
Die Der FTP-Server in Windows kann die Willkommensnachricht und die maximale Anzahl von Verbindungen festlegen. Was richten wir also im Linux-FTP-Server ein? Was ich antworten möchte ist: Es ist auch möglich, es mit der Hauptkonfigurationsdatei von vsftpd # vi /etc/vsftpd/vsftpd.conf zu implementieren.
Fügen Sie hier am Ende Folgendes hinzu! ist die Willkommensnachricht Max_clients= 100 Das bedeutet, dass bis zu 100 Benutzer gleichzeitig darauf zugreifen und vsftpd einfach neu starten können!
Experiment 3:
Wenn ich verhindern möchte, dass sich meine Kollegin (lilei), die mir Geld geliehen und sich geweigert hat, es zurückzuzahlen, auf unserer FTP-Site anmeldet, dann kann ich das Benutzer lilei wurde zu vi /etc/vsftpd.ftpusers hinzugefügt
Experiment 4:
Am Morgen sagte der Geschäftsführer, dass er eine kleine Anzahl von Personen befördern würde Nachdem ich die Nachricht gehört habe, handeln Sie schnell. Ich erlaube nur dem Geschäftsführer, sich beim FTP-Server anzumelden, niemand sonst kann darüber nachdenken, den Geschäftsführer auf sein Pferd schlagen und andere einschränken. Ich kann das tun: # vi /etc/vsftpd/vsftpd.conf
2 Elemente am Ende hinzufügen,
userlist_deny=NO / Personen in dieser Liste leugnen nicht, andere leugnen (einschließlich Anonym)
userlist_file=/etc/mp /Geben Sie den Pfad der Liste an
Die vsftpd-Konfigurationsdatei verwendet „#“ als Kommentarzeichen und Zeilen, die mit beginnen „#“ sind Leerzeilen, die beim Parsen ignoriert werden und die übrigen Zeilen als Konfigurationsbefehlszeilen behandelt werden. Lassen Sie keine Leerzeichen um das „=" jedes Konfigurationsbefehls. Für jeden Konfigurationsbefehl sind auch relevante Konfigurationsanweisungen in der Konfigurationsdatei aufgeführt, und die Konfigurationsdatei kann mit dem vi-Editor bearbeitet und geändert werden. Die Methode ist wie folgt:
#vi /etc/vsftpd/vsftpd.conf
1. Anmeldung und Einstellungen für anonyme Benutzer
2.设置欢迎信息
用户登录FTP服务器成功后,服务器可向登录用户输出预设置的欢迎信息。
ftpd_banner=Welcome to my FTP server.
//该配置项用于设置比较简短的欢迎信息。若欢迎信息较多,则可使用banner_file配置项。
banner_file=/etc/vsftpd/banner
//设置用户登录时,将要显示输出的文件。该设置项将覆盖ftpd_banner的设置。
dirmessage_enable=YES
//设置是否显示目录消息。若设置为YES,则当用户进入特定目录(比如/var/ftp/Linux)时,将显示该目录中的由message_file配置项指定的文件(.message)中的内容。
message_file=.message //设置目录消息文件。可将显示信息存入该文件。该文件需要放在 相应的目录(比如/var/ftp/linux)下
3.设置用户登录后所在的目录
local_root=/var/ftp
// 设置本地用户登录后所在的目录。默认配置文件中没有设置该项,此时用户登录FTP服务器后,所在的目录为该用户的主目录,对于root用户,则为/root目录。
anon_root=/var/ftp
//设置匿名用户登录后所在的目录。若未指定,则默认为/var/ftp目录。
4.控制用户是否允许切换到上级目录
在默认配置下,用户可以使用“cd..”命名切换到上级目录。比如,若用户登录后所在的目录为/var/ftp,则在“ftp>”命令行 下,执行“cd..”命令后,用户将切换到其上级目录/var,若继续执行该命令,则可进入Linux系统的根目录,从而可以对整个Linux的文件系统 进行操作。
若设置了write_enable=YES,则用户还可对根目录下的文件进行改写操作,会给系统带来极大的安全隐患,因此,必须防止用户切换到Linux的根目录,相关的配置项如下:
chroot_list_enable=YES
// 设置是否启用chroot_list_file配置项指定的用户列表文件。设置为YES则除了列在j/etc/vsftpd/chroot_list文件中的的帐号外,所有登录的用户都可以进入ftp根目录之外的目录。默认NO
chroot_list_file=/etc/vsftpd/chroot_list
// 用于指定用户列表文件,该文件用于控制哪些用户可以切换到FTP站点根目录的上级目录。
chroot_local_user=YES
// 用于指定用户列表文件中的用户,是否允许切换到上级目录。默认NO
注意:要对本地用户查看效果,需先设置local_root=/var/ftp
具体情况有以下几种:
1)当chroot_list_enable=YES,chroot_local_user=YES时,在/etc/vsftpd/chroot_list文件中列出的用户,可以切换到上级目录;未在文件中列出的用户,不能切换到站点根目录的上级目录。
2)当chroot_list_enable=YES,chroot_local_user=NO时,在/etc/vsftpd/chroot_list文件中列出的用户,不能切换到站点根目录的上级目录;未在文件中列出的用户,可以切换到上级目录。
3)当chroot_list_enable=NO,chroot_local_user=YES时,所有用户均不能切换到上级目录。
4)当chroot_list_enable=NO,chroot_local_user=NO时,所有用户均可以切换到上级目录。
5)当用户不允许切换到上级目录时,登录后FTP站点的根目录“/”是该FTP账户的主目录,即文件的系统的/var/ftp目录。
5.设置访问控制
(1)设置允许或不允许访问的主机(见TBP14)
tcp_wrappers=YES用来设置vsftpd服务器是否与tcp wrapper相结合,进行主机的访问控制。默认设置为YES,vsftpd服务器会检查/etc/hosts.allow和/etc /hosts.deny中的设置,以决定请求连接的主机是否允许访问该FTP服务器。这两个文件可以起到简易的防火墙功能。
比如,若要仅允许192.168.168.1~192.168.168.254的用户,可以访问连接vsftpd服务器,则可在/etc/hosts.allow文件中添加以下内容:
vsftpd:192.168.168.0/255.255.255.0 :allow
all:all:deny
(2) Legen Sie Benutzer fest, denen der Zugriff gewährt oder verweigert wird.
Die Zugriffskontrolle für Benutzer wird durch die Dateien /etc/vsftpd/user_list und /etc/vsftpd/ftpusers gesteuert. Die relevanten Konfigurationsbefehle lauten wie folgt:
userlist_enable=YES
// Bestimmen Sie, ob die Datei /etc/vsftpd/user_list aktiviert und wirksam ist. JA wird wirksam, NEIN wird nicht wirksam.
UserList_deny = YES
// Bestimmen Sie, ob der Benutzer in der Datei/etc/vsftpd/user_list den Zugriff zulässt oder nicht. Bei der Einstellung „JA“ dürfen Benutzer in der Datei „/etc/vsftpd/user_list“ nicht auf den FTP-Server zugreifen; bei der Einstellung „NEIN“ können nur Benutzer in der Datei „vsftpd.user_list“ auf den FTP-Server zugreifen.
6. Zugriffsgeschwindigkeit festlegen
anon_max_rate=0
//Legen Sie die maximale Übertragungsgeschwindigkeit fest, die anonyme Benutzer verwenden können, in b/s. Bei der Einstellung 0 gibt es keine Geschwindigkeitsbegrenzung, was der Standardwert ist.
local_max_rate=0
//Legen Sie die maximale Übertragungsgeschwindigkeit fest, die lokale Benutzer verwenden können. Der Standardwert ist 0, keine Begrenzung.
7. Benutzerkonfigurationsdateien definieren
Auf dem vsftpd-Server können verschiedene Benutzer auch unterschiedliche Konfigurationen verwenden, was durch Benutzerkonfigurationsdateien erreicht wird.
user_config_dir=/etc/vsftpd/userconf //Wird verwendet, um das Verzeichnis festzulegen, in dem sich die Benutzerkonfigurationsdatei befindet.
Wenn sich der Benutzer nach dem Festlegen dieses Konfigurationselements beim FTP-Server anmeldet, liest das System die Datei mit demselben Namen wie der aktuelle Benutzer im Verzeichnis /etc/vsftpd/userconf und konfiguriert den aktuellen Benutzer entsprechend Führen Sie den Konfigurationsbefehl in der Datei aus. Mithilfe von Benutzerkonfigurationsdateien können Sie beispielsweise die Zugriffsgeschwindigkeit verschiedener Benutzer steuern. Definieren Sie in jeder Benutzerkonfigurationsdatei die Konfiguration „local_max_rate“, um die vom Benutzer zugelassene Zugriffsgeschwindigkeit zu bestimmen.
8. Verbindungsbezogene Einstellungen
listen=YES
//Legen Sie fest, ob der vsftpd-Server im Standalone-Modus läuft. Es ist besser, im Standalone-Modus zu arbeiten. Zu diesem Zeitpunkt muss „Listen“ auf „Ja“ eingestellt sein. Es wird empfohlen, ihn nicht zu ändern. Viele Konfigurationsbefehle im Zusammenhang mit dem Serverbetrieb erfordern, dass dieser Betriebsmodus wirksam ist. Wenn auf NO gesetzt, wird vsftpd nicht als unabhängiger Dienst ausgeführt und unterliegt der Verwaltungskontrolle des xinetd-Dienstes, sodass seine Funktionen eingeschränkt sind.
max_clients=0
//Legen Sie die maximale Anzahl der von vsftpd zugelassenen Verbindungen fest. Der Standardwert ist 0, was unbegrenzt bedeutet. Bei der Einstellung 150 sind 150 Verbindungen gleichzeitig zulässig und die Herstellung überschüssiger Verbindungen wird verweigert. Nur gültig bei Ausführung im Standalone-Modus.
max_per_ip=0
// Legen Sie die Anzahl gleichzeitiger Verbindungen fest, die für jede IP-Adresse zum FTP-Server zulässig sind. Der Standardwert ist 0, keine Begrenzung. Diese Konfiguration kann normalerweise so eingestellt werden, dass verhindert wird, dass derselbe Benutzer zu viele Verbindungen aufbaut. Nur gültig bei Ausführung im Standalone-Modus.
listen_address=IP-Adresse
//Eingestellt, um auf FTP-Anfragen des Benutzers an der angegebenen IP-Adresse zu lauschen. Wenn nicht festgelegt, werden alle an den Server gebundenen IP-Adressen abgehört. Nur gültig bei Ausführung im Standalone-Modus. Für Server, die nur an eine IP-Adresse gebunden sind, muss dieses Element nicht konfiguriert werden. Standardmäßig ist dieses Konfigurationselement nicht in der Konfigurationsdatei enthalten. Wenn der Server gleichzeitig an mehrere IP-Adressen gebunden ist, sollte dieses Konfigurationselement verwendet werden, um die IP-Adresse anzugeben, unter der der FTP-Dienst bereitgestellt wird, dh die vom FTP-Server verwendete IP-Adresse anzugeben.
Hinweis: Vor und nach dem Festlegen dieses Werts können Sie den Überwachungsstatus des Ports über netstat -tnl vergleichen.
accept_timeout=60
//Legen Sie das Timeout für die Einrichtung passiver (PASV) Daten fest Verbindung, in Sekunden. Der Standardwert ist 60.
connect_timeout=60
// Das Timeout für den Aufbau einer Datenverbindung im PORT-Modus, in Sekunden.
data_connection_timeout=300
//Legen Sie das Zeitlimit für den Aufbau einer FTP-Datenverbindung fest. Der Standardwert beträgt 300 Sekunden.
// Wie lange dauert es, bis die Einstellungen den FTP-Server nicht betreiben, dann wird die FTP-Verbindung getrennt, das Gerät ist an zweiter Stelle und der Standardwert beträgt 600 Sekunden. Das heißt, legen Sie die Timeout-Zeit für Benommenheit fest. Wenn während dieser Zeit keine Datenübertragung oder Befehlseingabe erfolgt, wird die Verbindung zwangsweise getrennt.
pam_service_name=vsftpd
//Legen Sie den in PAM verwendeten Namen fest, der Standardwert ist vsftpd.
//Stellen Sie jede Verbindung zum FTP-Server ein, um zu sehen, ob sie durch einen anderen Prozess dargestellt wird. Zu diesem Zeitpunkt ist nur ein Prozess benannt vsftpd. Bei der Einstellung „JA“ verfügt jede Verbindung über einen vsftpd-Prozess. Verwenden Sie den Befehl „ps -ef|grep ftp“, um detaillierte FTP-Verbindungsinformationen anzuzeigen. Aus Sicherheitsgründen wird empfohlen, es zu schließen.
9. FTP-Arbeitsmodus und Porteinstellungen
(1) Einführung in den FTP-Arbeitsmodus
Es gibt zwei Arbeitsmodi von FTP, einer ist PORT FTP und der andere ist PASV FTP. So funktioniert es.
Der Unterschied zwischen den beiden besteht darin, dass der Datenübertragungsport von PORT FTP vom FTP-Server angegeben wird, während PASV FTP vom FTP-Client angegeben wird und die für jede Datenverbindung verwendete Portnummer unterschiedlich ist. Aus diesem Grund gibt es in FTP-Client-Software wie CuteFTP zwei Optionen, PORT und PASV, in den Verbindungstyp-Einstellungselementen.
Wenn der FTP-Server auf den PASV-Arbeitsmodus eingestellt ist, muss auch der Client auf den PASV-Verbindungstyp eingestellt sein. Wenn der Client-Verbindungstyp auf PORT eingestellt ist, kann die FTP-Verbindung hergestellt werden. Bei der Ausführung von Befehlen, die Datenanforderungen wie ls oder get erfordern, erfolgt jedoch keine Antwort und eine abschließende Meldung, dass die Datenverbindung nicht hergestellt werden kann.
(2) Portbezogene Konfiguration
listen_port=21 .
Beispiel für eine Verbindung zu einem nicht standardmäßigen Port: ftp www.sunflower.org 7000
connect_from_port_20=YES
// Der Standardwert ist YES und gibt die Verwendung von Port 20 für die FTP-Datenübertragungsverbindung an. Wenn auf NO gesetzt, wird beim Herstellen einer Datenverbindung der verwendete Port durch ftp_data_port angegeben.
//Stellen Sie den Port ein, der für die FTP-Datenverbindung im PORT-Modus verwendet wird. Der Standardwert ist 20.
pasv_enable=YES|NO
//Wenn auf JA eingestellt, verwenden Sie den PASV-Arbeitsmodus; wenn auf NEIN eingestellt, verwenden Sie den PORT-Modus. Der Standardwert ist JA und verwendet den PASV-Modus.
pasv_max_port=0
//Legen Sie die Obergrenze des Portbereichs fest, der für Datenverbindungen im PASV-Arbeitsmodus verwendet werden kann. Der Standardwert ist 0, was einen beliebigen Port bedeutet.
pasv_mim_port=0
//Legen Sie die untere Grenze des Portbereichs fest, der für Datenverbindungen im PASV-Arbeitsmodus verwendet werden kann. Der Standardwert ist 0, was einen beliebigen Port bedeutet.
10. Stellen Sie den Übertragungsmodus ein Beim Übertragen von Daten kann FTP den Binärmodus (Binärmodus) oder den ASCII-Modus zum Hoch- oder Herunterladen von Daten verwenden.
ascii_download_enable=YES //Legen Sie fest, ob das Herunterladen von Daten im ASCII-Modus aktiviert werden soll. Der Standardwert ist NEIN.
ascii_upload_enable=YES //Legen Sie fest, ob der ASCII-Modus zum Hochladen von Daten aktiviert werden soll. Der Standardwert ist NEIN.
11. Legen Sie die Beziehung und Autorität des Upload-Dokuments fest (1) Legen Sie den Eigentümer des anonymen Upload-Dokuments fest
Chown_uploads = YES
// um den Eigentümer des Dokuments festzulegen, das das hochgeladene Dokument ändert der anonyme Benutzer. Der Standardwert ist NEIN. Wenn auf YES gesetzt, wird der Eigentümer von Dokumenten, die von anonymen Benutzern hochgeladen werden, auf den Benutzernamen festgelegt, der durch das Konfigurationselement chown_username festgelegt wird.
chown_username=whoever
//Legen Sie den Besitzernamen von Dokumenten fest, die von anonymen Benutzern hochgeladen wurden. Nur gültig, wenn chown_uploads=YES. Es wird empfohlen, ihn nicht als Root-Benutzer festzulegen. Das System schweigt jedoch ROOT
(2) Die Berechtigungseinstellung der neuen Dokumentation
// Legen Sie die UMASK der neu hinzugefügten Dokumentation des lokalen Benutzers fest, der Standardwert ist 022 , und die entsprechenden Berechtigungen sind 755. Die umask ist 022 und die entsprechende Binärzahl ist 000 010 010. Invertieren Sie sie in 111 101 101 und konvertieren Sie sie in eine Dezimalzahl. Dies ist der Berechtigungswert 755. Dies bedeutet, dass der Eigentümer (Eigentümer) des Dokuments gelesen hat. Schreib- und Ausführungsrechte und die Gruppe, zu der es gehört, haben Lese- und Ausführungsrechte, und andere Benutzer haben Lese- und Ausführungsrechte. 022 ist für die meisten Situationen geeignet und muss im Allgemeinen nicht geändert werden. Bei der Einstellung 077 beträgt die entsprechende Berechtigung 700.
anon_umask=022 // Set die umask für anonyme Benutzer zum Hinzufügen von Dokumenten. Standard 077
file_open_mode=0755 //Legen Sie die Berechtigungen zum Hochladen von Dokumenten fest. Berechtigungen liegen im numerischen Format vor. Standard 0666
xferlog_enable=YES //Ob die Upload-/Download-Protokollierung aktiviert werden soll. Der Standardwert ist NEINxferlog_file=var/log/vsftpd.log //Legen Sie den Namen und den Pfad der Protokolldatei fest. Die Option xferlog_enable muss aktiviert sein
xferlog_std_format=YES //Ob die Protokolldatei das standardmäßige xferlog-Protokolldateiformat verwendet (dasselbe Format, das von wu-ftpd verwendet wird). Der Standardwert ist NEIN
13. Andere Einstellungen
text_userdb_names=NO
//Legen Sie fest, ob UID, GID oder ein bestimmter Benutzername oder Gruppenname angezeigt werden soll, wenn der Befehl ls ausgeführt wird. Der Standardwert ist NEIN und wird im UID- und GID-Modus angezeigt. Wenn Sie den Benutzernamen und den Gruppennamen anzeigen möchten, setzen Sie ihn auf JA.
ls_recurse_enable=YES
//Wenn auf JA gesetzt, darf der Befehl „ls -R“ ausgeführt werden. Der Standardwert ist NEIN. Dieses Konfigurationselement ist in der Konfigurationsdatei auskommentiert. Es gibt einige ähnliche Konfigurationen. Wenn es aktiviert werden muss, entfernen Sie einfach den Kommentar und setzen Sie ihn auf JA oder NEIN
Das obige ist der detaillierte Inhalt vonSo konfigurieren Sie den FTP-Server unter Linux. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!