W3Cschool
恭喜您成為首批注冊(cè)用戶(hù)
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
一般來(lái)講,人們將計(jì)算機(jī)聯(lián)網(wǎng)的首要目的就是獲取資料,而文件傳輸是一種非常重要的獲取資料的方式。今天的互聯(lián)網(wǎng)是由幾千萬(wàn)臺(tái)個(gè)人計(jì)算機(jī)、工作站、服務(wù)器、小型機(jī)、大型機(jī)、巨型機(jī)等具有不同型號(hào)、不同架構(gòu)的物理設(shè)備共同組成的,而且即便是個(gè)人計(jì)算機(jī),也可能會(huì)裝有Windows、Linux、UNIX、Mac等不同的操作系統(tǒng)。為了能夠在如此復(fù)雜多樣的設(shè)備之間解決問(wèn)題解決文件傳輸問(wèn)題,文件傳輸協(xié)議(FTP)應(yīng)運(yùn)而生。
FTP是一種在互聯(lián)網(wǎng)中進(jìn)行文件傳輸?shù)膮f(xié)議,基于客戶(hù)端/服務(wù)器模式,默認(rèn)使用20、21號(hào)端口,其中端口20(數(shù)據(jù)端口)用于進(jìn)行數(shù)據(jù)傳輸,端口21(命令端口)用于接受客戶(hù)端發(fā)出的相關(guān)FTP命令與參數(shù)。FTP服務(wù)器普遍部署于內(nèi)網(wǎng)中,具有容易搭建、方便管理的特點(diǎn)。而且有些FTP客戶(hù)端工具還可以支持文件的多點(diǎn)下載以及斷點(diǎn)續(xù)傳技術(shù),因此FTP服務(wù)得到了廣大用戶(hù)的青睞。FTP協(xié)議的傳輸拓?fù)淙鐖D11-1所示。
圖11-1 FTP協(xié)議的傳輸拓?fù)?/p>
FTP服務(wù)器是按照FTP協(xié)議在互聯(lián)網(wǎng)上提供文件存儲(chǔ)和訪問(wèn)服務(wù)的主機(jī),F(xiàn)TP客戶(hù)端則是向服務(wù)器發(fā)送連接請(qǐng)求,以建立數(shù)據(jù)傳輸鏈路的主機(jī)。FTP協(xié)議有下面兩種工作模式。
主動(dòng)模式:FTP服務(wù)器主動(dòng)向客戶(hù)端發(fā)起連接請(qǐng)求。
被動(dòng)模式:FTP服務(wù)器等待客戶(hù)端發(fā)起連接請(qǐng)求(FTP的默認(rèn)工作模式)。
第8章在學(xué)習(xí)防火墻服務(wù)配置時(shí)曾經(jīng)講過(guò),防火墻一般是用于過(guò)濾從外網(wǎng)進(jìn)入內(nèi)網(wǎng)的流量,因此有些時(shí)候需要將FTP的工作模式設(shè)置為主動(dòng)模式,才可以傳輸數(shù)據(jù)。
vsftpd(very secure ftp daemon,非常安全的FTP守護(hù)進(jìn)程)是一款運(yùn)行在Linux操作系統(tǒng)上的FTP服務(wù)程序,不僅完全開(kāi)源而且免費(fèi),此外,還具有很高的安全性、傳輸速度,以及支持虛擬用戶(hù)驗(yàn)證等其他FTP服務(wù)程序不具備的特點(diǎn)。
在配置妥當(dāng)Yum軟件倉(cāng)庫(kù)之后,就可以安裝vsftpd服務(wù)程序了。
[root@linuxprobe ~]# yum install vsftpd
Loaded plugins: langpacks, product-id, subscription-manager
………………省略部分輸出信息………………
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
vsftpd x86_64 3.0.2-9.el7 rhel 166 k
Transaction Summary
================================================================================
Install 1 Package
Total download size: 166 k
Installed size: 343 k
Is this ok [y/d/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : vsftpd-3.0.2-9.el7.x86_64 1/1
Verifying : vsftpd-3.0.2-9.el7.x86_64 1/1
Installed:
vsftpd.x86_64 0:3.0.2-9.el7
Complete!
iptables防火墻管理工具默認(rèn)禁止了FTP傳輸協(xié)議的端口號(hào),因此在正式配置vsftpd服務(wù)程序之前,為了避免這些默認(rèn)的防火墻策略“搗亂”,還需要清空iptables防火墻的默認(rèn)策略,并把當(dāng)前已經(jīng)被清理的防火墻策略狀態(tài)保存下來(lái):
[root@linuxprobe ~]# iptables -F
[root@linuxprobe ~]# service iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]
vsftpd服務(wù)程序的主配置文件(/etc/vsftpd/vsftpd.conf)內(nèi)容總長(zhǎng)度達(dá)到123行,但其中大多數(shù)參數(shù)在開(kāi)頭都添加了井號(hào)(#),從而成為注釋信息,大家沒(méi)有必要在注釋信息上花費(fèi)太多的時(shí)間。我們可以在grep命令后面添加-v參數(shù),過(guò)濾并反選出沒(méi)有包含井號(hào)(#)的參數(shù)行(即過(guò)濾掉所有的注釋信息),然后將過(guò)濾后的參數(shù)行通過(guò)輸出重定向符寫(xiě)回原始的主配置文件中:
[root@linuxprobe ~]# mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf_bak
[root@linuxprobe ~]# grep -v "#" /etc/vsftpd/vsftpd.conf_bak > /etc/vsftpd/vsftpd.conf
[root@linuxprobe ~]# cat /etc/vsftpd/vsftpd.conf
anonymous_enable=YES
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
userlist_enable=YES
tcp_wrappers=YES
表11-1中羅列了vsftpd服務(wù)程序主配置文件中常用的參數(shù)以及作用。當(dāng)前大家只需要簡(jiǎn)單了解即可,在后續(xù)的實(shí)驗(yàn)中將演示這些參數(shù)的用法,以幫助大家熟悉并掌握。
表11-1 vsftpd服務(wù)程序常用的參數(shù)以及作用
參數(shù) | 作用 |
---|---|
listen=[YES|NO] | 是否以獨(dú)立運(yùn)行的方式監(jiān)聽(tīng)服務(wù) |
listen_address=IP地址 | 設(shè)置要監(jiān)聽(tīng)的IP地址 |
listen_port=21 | 設(shè)置FTP服務(wù)的監(jiān)聽(tīng)端口 |
download_enable=[YES|NO] | 是否允許下載文件 |
userlist_enable=[YES|NO] userlist_deny=[YES|NO] | 設(shè)置用戶(hù)列表為“允許”還是“禁止”操作 |
max_clients=0 | 最大客戶(hù)端連接數(shù),0為不限制 |
max_per_ip=0 | 同一IP地址的最大連接數(shù),0為不限制 |
anonymous_enable=[YES|NO] | 是否允許匿名用戶(hù)訪問(wèn) |
anon_upload_enable=[YES|NO] | 是否允許匿名用戶(hù)上傳文件 |
anon_umask=022 | 匿名用戶(hù)上傳文件的umask值 |
anon_root=/var/ftp | 匿名用戶(hù)的FTP根目錄 |
anon_mkdir_write_enable=[YES|NO] | 是否允許匿名用戶(hù)創(chuàng)建目錄 |
anon_other_write_enable=[YES|NO] | 是否開(kāi)放匿名用戶(hù)的其他寫(xiě)入權(quán)限(包括重命名、刪除等操作權(quán)限) |
anon_max_rate=0 | 匿名用戶(hù)的最大傳輸速率(字節(jié)/秒),0為不限制 |
local_enable=[YES|NO] | 是否允許本地用戶(hù)登錄FTP |
local_umask=022 | 本地用戶(hù)上傳文件的umask值 |
local_root=/var/ftp | 本地用戶(hù)的FTP根目錄 |
chroot_local_user=[YES|NO] | 是否將用戶(hù)權(quán)限禁錮在FTP目錄,以確保安全 |
local_max_rate=0 | 本地用戶(hù)最大傳輸速率(字節(jié)/秒),0為不限制 |
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: