時(shí)間:2015-06-28 00:00:00 來(lái)源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評(píng)論(0)
1 VSFTP 概述
FTP,file transfer protocol,這是檔案?jìng)鬏數(shù)耐ㄓ崊f(xié)議,也是一般最常用來(lái)傳送檔案的方式。讀者在使用RedHat9 的時(shí)候,可能會(huì)感受到ftp server 有一些改變:第一,就是ftp server 只剩下vsftp,原有的wuftp 等都沒放入﹔第二,就是vsftp 從XINETD 中獨(dú)立出來(lái),并將設(shè)定檔從/etc/vsftpd.conf 之中移到/etc/vsftpd/vsftpd.conf。
為什么做這樣的改變?可以想見的是vsftp 已有獨(dú)立運(yùn)作的能力,不需要XINETD 來(lái)做更進(jìn)一步的管控,并且類似sendmail、httpd、ssh、samba 等,將設(shè)定文件的放入/etc 下獨(dú)立的目錄。
FTP 分為兩類,一種為PORT FTP,也就是一般的FTP﹔另一類是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 類似,首先會(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。
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 ]
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. 特定使用者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.
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 ]
#p#副標(biāo)題#e#
5. 安排歡迎話語(yǔ)
若是我們希望使用者在登入時(shí),能夠看到歡迎話語(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 ...
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]#
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ì)低于此限制。
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 ]
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 開放,其它關(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
#p#副標(biāo)題#e#
9-2. 建置一個(gè)防火墻下的ftp server,使用PORT FTP mode:
ftp port:2121 以及ftp data port:2020
Step1. 執(zhí)行以下兩行指令,只允許port 2121 以及port 2020 開放,其它關(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/vsftpd/vsftpd.conf
新增底下兩行
listen_port=2121
ftp_data_port=2020
Step3. 重新啟動(dòng)vsftpd
[root@home vsftpd]# /sbin/service vsftpd restart
Shutting down vsftpd: OK ]
Starting vsftpd
關(guān)鍵詞標(biāo)簽:linux,VSFTP配置
相關(guān)閱讀
熱門文章 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程 Tomcat9.0如何安裝_Tomcat9.0環(huán)境變量配置方法 多種操作系統(tǒng)NTP客戶端配置 Linux操作系統(tǒng)修改IP
人氣排行 Linux下獲取CPUID、硬盤序列號(hào)與MAC地址 dmidecode命令查看內(nèi)存型號(hào) linux tc實(shí)現(xiàn)ip流量限制 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程 linux下解壓rar文件 lcx.exe、nc.exe、sc.exe入侵中的使用方法 Ubuntu linux 關(guān)機(jī)、重啟、注銷 命令 查看linux服務(wù)器硬盤IO讀寫負(fù)載