時(shí)間:2015-06-28 00:00:00 來(lái)源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評(píng)論(0)
3.2.1 VSFTP 概述
FTP,file transfer protocol,這是檔案?jìng)鬏數(shù)耐ㄓ崊f(xié)議,也是一般最常用來(lái)傳送檔案的方式。讀者在使用RedHat9 的時(shí)候,可能會(huì)感受到ftp server 有一些改變:第一,就是ftp server 只剩下vsftp,原有的wuftp 等都沒(méi)放入﹔第二,就是vsftp 從XINETD 中獨(dú)立出來(lái),并將設(shè)定檔從/etc/vsftpd.conf 之中移到/etc/vsftpd/vsftpd.conf。
為什么做這樣的改變?可以想見(jiàn)的是vsftp 已有獨(dú)立運(yùn)作的能力,不需要XINETD 來(lái)做更進(jìn)一步的管控,并且類(lèi)似sendmail、httpd、ssh、samba 等,將設(shè)定文件的放入/etc 下獨(dú)立的目錄。
FTP 分為兩類(lèi),一種為PORT FTP,也就是一般的FTP﹔另一類(lèi)是PASVFTP,分述如下:
PORT FTP
這是一般形式的FTP,首先會(huì)建立控制頻道,默認(rèn)值是port 21,也就是跟port 21 建立聯(lián)機(jī),并透過(guò)此聯(lián)機(jī)下達(dá)指令。第二,由FTP server 端會(huì)建立數(shù)據(jù)傳輸頻道,默認(rèn)值為20,也就是跟port 20 建立聯(lián)機(jī),并透過(guò)port 20 作數(shù)據(jù)的傳輸。
PASV FTP
跟PORT FTP 類(lèi)似,首先會(huì)建立控制頻道,默認(rèn)值是port 21,也就是跟port 21 建立聯(lián)機(jī),并透過(guò)此聯(lián)機(jī)下達(dá)指令。第二,會(huì)由client 端做出數(shù)據(jù)傳輸?shù)恼?qǐng)求,包括數(shù)據(jù)傳輸port 的數(shù)字。
這兩者的差異為何?PORT FTP 當(dāng)中的數(shù)據(jù)傳輸port 是由FTP server 指定,而PASV FTP 的數(shù)據(jù)傳輸port 是由FTP client 決定。通常我們使用PASV FTP,是在有防火墻的環(huán)境之下,透過(guò)client 與server 的溝通,決定數(shù)據(jù)傳輸?shù)膒ort。
3.2.2 范例
3.2.1. 直接啟動(dòng)VSFTP 服務(wù)
這個(gè)范例是套用RedHat 的預(yù)設(shè)范例,直接啟動(dòng)vsftp。
[root@relay vsftpd]# /sbin/service vsftpd start
Starting vsftpd for vsftpd: OK ]
3.2.2. 更換port 提供服務(wù):將預(yù)設(shè)的port 21 更換為2121
為了安全,或是以port 來(lái)區(qū)隔不同的ftp 服務(wù),我們可能會(huì)將ftp port 改為21 之外的port,那么,可參考以下步驟。
Step1. 修改/etc/vsftpd/vsftpd.conf
新增底下一行
listen_port=2121
Step2. 重新啟動(dòng)vsftpd
[root@home vsftpd]# /sbin/service vsftpd restart
Shutting down vsftpd: OK ]
Starting vsftpd for vsftpd: OK ]
3.2.3. 特定使用者peter、john 不得變更目錄
使用者的預(yù)設(shè)目錄為/home/username,若是我們不希望使用者在ftp 時(shí)能夠切換到上一層目錄/home,則可參考以下步驟。
Step1. 修改/etc/vsftpd/vsftpd.conf
將底下三行
#chroot_list_enable=YES
# (default follows)
#chroot_list_file=/etc/vsftpd.chroot_list
改為
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list
Step2. 新增一個(gè)檔案: /etc/vsftpd/chroot_list
內(nèi)容增加兩行:
peter
john
Step3. 重新啟動(dòng)vsftpd
[root@home vsftpd]# /sbin/service vsftpd restart
Shutting down vsftpd: OK ]
Starting vsftpd for vsftpd: OK ]
若是peter 欲切換到根目錄以外的目錄,則會(huì)出現(xiàn)以下警告:
ftp> cd /home
550 Failed to change directory.
3.2.4. 取消anonymous 登入
若是讀者的主機(jī)不希望使用者匿名登入,則可參考以下步驟。
Step1. 修改/etc/vsftpd/vsftpd.conf
將
anonymous_enable=YES
改為
anonymous_enable=NO
Step2. 重新啟動(dòng)vsftpd
[root@home vsftpd]# /sbin/service vsftpd restart
Shutting down vsftpd: OK ]
Starting vsftpd for vsftpd: OK ]
3.2.5. 安排歡迎話(huà)語(yǔ)
若是我們希望使用者在登入時(shí),能夠看到歡迎話(huà)語(yǔ),可能包括對(duì)該主機(jī)的說(shuō)明,或是目錄的介紹,可參考以下步驟。
首先確定在/etc/vsftpd/vsftpd.conf 當(dāng)中是否有底下這一行
dirmessage_enable=YES
RedHat9 的默認(rèn)值是有上面這行的。
接著,在各目錄之中,新增名為.message 的檔案,再這邊假設(shè)有一個(gè)使用者test1,且此使用者的根目錄下有個(gè)目錄名為abc,那首先我們?cè)?home/test1之下新增.message,內(nèi)容如下:
Hello~ Welcome to the home directory
This is for test only...
接著,在/home/test1/abc 的目錄下新增.message,內(nèi)容如下:
Welcome to abcs directory
This is subdir...
那么,當(dāng)使用者test1 登入時(shí),會(huì)看到以下訊息:
230- Hello~ Welcome to the home directory
230-
230- This is for test only...
230-
若是切換到abc 的目錄,則會(huì)出現(xiàn)以下訊息:
250- Welcome to abcs directory
250-
250- This is subdir ...
3.2.6. 對(duì)于每一個(gè)聯(lián)機(jī),以獨(dú)立的process 來(lái)運(yùn)作
一般啟動(dòng)vsftp 時(shí),我們只會(huì)看到一個(gè)名為vsftpd 的process 在運(yùn)作,但若是讀者希望每一個(gè)聯(lián)機(jī),都能以獨(dú)立的process 來(lái)呈現(xiàn),則可執(zhí)行以下步驟。
Step1. 修改/etc/vsftpd/vsftpd.conf
新增底下一行
setproctitle_enable=YES
Step2. 重新啟動(dòng)vsftpd
[root@home vsftpd]# /sbin/service vsftpd restart
Shutting down vsftpd: OK ]
Starting vsftpd for vsftpd: OK ]
使用ps -ef 的指令,可以看告不同使用者聯(lián)機(jī)的情形,如下圖所示:
[root@home vsftpd]# ps -ef|grep ftp
root 2090 1 0 16:41 pts/0 00:00:00 vsftpd: LISTENER
nobody 2120 2090 0 17:18 ? 00:00:00 vsftpd: 192.168.10.244: connected
test1 2122 2120 0 17:18 ? 00:00:00 vsftpd: 192.168.10.244/test1:IDLE
nobody 2124 2090 0 17:19 ? 00:00:00 vsftpd: 192.168.10.244: connected
test2 2126 2124 0 17:19 ? 00:00:00 vsftpd: 192.168.10.244/test2:IDLE
root 2129 1343 0 17:20 pts/0 00:00:00 grep ftp
[root@home vsftpd]#
3.2.7. 限制傳輸檔案的速度:
本機(jī)的使用者最高速度為200KBytes/s,匿名登入者所能使用的最高速度為50KBytes/s。
Step1. 修改/etc/vsftpd/vsftpd.conf
新增底下兩行
anon_max_rate=50000
local_max_rate=200000
Step2. 重新啟動(dòng)vsftpd
[root@home vsftpd]# /sbin/service vsftpd restart
Shutting down vsftpd: OK ]
Starting vsftpd for vsftpd: OK ]
在這邊速度的單位為Bytes/s,其中anon_max_rate 所限制的是匿名登入的使用者,而local_max_rate 所限制的是本機(jī)的使用者。VSFTPD 對(duì)于速度的限制,范圍大概在80%到120%之間,也就是我們限制最高速度為100KBytes/s,但實(shí)際的速度可能在80KBytes/s 到120KBytes/s 之間,當(dāng)然,若是頻寬不足時(shí),數(shù)值會(huì)低于此限制。
3.2.8. 針對(duì)不同的使用者限制不同的速度:假設(shè)test1 所能使用的最高速度為250KBytes/s,test2 所能使用的最高速度為500KBytes/s。
Step1. 修改/etc/vsftpd/vsftpd.conf
新增底下一行
user_config_dir=/etc/vsftpd/userconf
Step2. 新增一個(gè)目錄:/etc/vsftpd/userconf
mkdir /etc/vsftpd/userconf
Step3. 在/etc/vsftpd/userconf 之下新增一個(gè)名為test1 的檔案
內(nèi)容增加一行:
local_max_rate=250000
Step4. 在/etc/vsftpd/userconf 之下新增一個(gè)名為test2 的檔案
內(nèi)容增加一行:
local_max_rate=500000
Step5. 重新啟動(dòng)vsftpd
[root@home vsftpd]# /sbin/service vsftpd restart
Shutting down vsftpd: OK ]
Starting vsftpd for vsftpd: OK ]
3.2.9-1. 建置一個(gè)防火墻下的ftp server,使用PORT FTP mode:
預(yù)設(shè)的ftp
port:21 以及ftp data port:20
啟動(dòng)VSFTPD 之后執(zhí)行以下兩行指令,只允許port 21 以及port 20 開(kāi)放,其它關(guān)閉。
iptables -A INPUT -p tcp -m multiport --dport 21,20 -j ACCEPT
iptables -A INPUT -p tcp -j REJECT --reject-with tcp-reset
3.2.9-2. 建置一個(gè)防火墻下的ftp server,使用PORT FTP mode:
ftp port:2121 以及ftp data port:2020
Step1. 執(zhí)行以下兩行指令,只允許port 2121 以及port 2020 開(kāi)放,其它關(guān)閉。
iptables -A INPUT -p tcp -m multiport --dport 2121,2020 -j ACCEPT
iptables -A INPUT -p tcp -j REJECT --reject-with tcp-reset
Step2. 修改/etc/
關(guān)鍵詞標(biāo)簽:配置,大全,vsftpd,默認(rèn)
相關(guān)閱讀
熱門(mén)文章 Linux下FTP的配置與應(yīng)用 什么是ftp及ftp服務(wù)器 FTP出錯(cuò)解決和分析 Windows內(nèi)置FTP服務(wù)器高級(jí)配置
人氣排行 vsftp配置大全---超完整版 IIS6.0打造FTP服務(wù)器完全圖文詳解 使用Win 2003搭建安全文件服務(wù)器 圖解Windows xp—FTP服務(wù)器配置 linux服務(wù)samba的詳細(xì)配置 在Windows 2003下搭建FTP服務(wù)器 FTP登陸錯(cuò)誤詳解 Windows內(nèi)置FTP服務(wù)器高級(jí)配置