時間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(0)
1 VSFTP 概述
FTP,file transfer protocol,這是檔案傳輸?shù)耐ㄓ崊f(xié)議,也是一般最常用來傳送檔案的方式。讀者在使用RedHat9 的時候,可能會感受到ftp server 有一些改變:第一,就是ftp server 只剩下vsftp,原有的wuftp 等都沒放入﹔第二,就是vsftp 從XINETD 中獨立出來,并將設(shè)定檔從/etc/vsftpd.conf 之中移到/etc/vsftpd/vsftpd.conf。
為什么做這樣的改變?可以想見的是vsftp 已有獨立運作的能力,不需要XINETD 來做更進(jìn)一步的管控,并且類似sendmail、httpd、ssh、samba 等,將設(shè)定文件的放入/etc 下獨立的目錄。
FTP 分為兩類,一種為PORT FTP,也就是一般的FTP﹔另一類是PASVFTP,分述如下:
PORT FTP
這是一般形式的FTP,首先會建立控制頻道,默認(rèn)值是port 21,也就是跟port 21 建立聯(lián)機,并透過此聯(lián)機下達(dá)指令。第二,由FTP server 端會建立數(shù)據(jù)傳輸頻道,默認(rèn)值為20,也就是跟port 20 建立聯(lián)機,并透過port 20 作數(shù)據(jù)的傳輸。
PASV FTP
跟PORT FTP 類似,首先會建立控制頻道,默認(rèn)值是port 21,也就是跟port 21 建立聯(lián)機,并透過此聯(lián)機下達(dá)指令。第二,會由client 端做出數(shù)據(jù)傳輸?shù)恼埱?,包括?shù)據(jù)傳輸port 的數(shù)字。
這兩者的差異為何?PORT FTP 當(dāng)中的數(shù)據(jù)傳輸port 是由FTP server 指定,而PASV FTP 的數(shù)據(jù)傳輸port 是由FTP client 決定。通常我們使用PASV FTP,是在有防火墻的環(huán)境之下,透過client 與server 的溝通,決定數(shù)據(jù)傳輸?shù)膒ort。
2 范例
1. 直接啟動VSFTP 服務(wù)
這個范例是套用RedHat 的預(yù)設(shè)范例,直接啟動vsftp。
[root@relay vsftpd]# /sbin/service vsftpd start
Starting vsftpd for vsftpd: OK ]
2. 更換port 提供服務(wù):將預(yù)設(shè)的port 21 更換為2121
為了安全,或是以port 來區(qū)隔不同的ftp 服務(wù),我們可能會將ftp port 改為21 之外的port,那么,可參考以下步驟。
Step1. 修改/etc/vsftpd/vsftpd.conf
新增底下一行
listen_port=2121
Step2. 重新啟動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 時能夠切換到上一層目錄/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. 新增一個檔案: /etc/vsftpd/chroot_list
內(nèi)容增加兩行:
peter
john
Step3. 重新啟動vsftpd
[root@home vsftpd]# /sbin/service vsftpd restart
Shutting down vsftpd: OK ]
Starting vsftpd for vsftpd: OK ]
若是peter 欲切換到根目錄以外的目錄,則會出現(xiàn)以下警告:
ftp> cd /home
550 Failed to change directory.
4. 取消anonymous 登入
若是讀者的主機不希望使用者匿名登入,則可參考以下步驟。
Step1. 修改/etc/vsftpd/vsftpd.conf
將
anonymous_enable=YES
改為
anonymous_enable=NO
Step2. 重新啟動vsftpd
[root@home vsftpd]# /sbin/service vsftpd restart
Shutting down vsftpd: OK ]
Starting vsftpd for vsftpd: OK ]
#p#副標(biāo)題#e#
5. 安排歡迎話語
若是我們希望使用者在登入時,能夠看到歡迎話語,可能包括對該主機的說明,或是目錄的介紹,可參考以下步驟。
首先確定在/etc/vsftpd/vsftpd.conf 當(dāng)中是否有底下這一行
dirmessage_enable=YES
RedHat9 的默認(rèn)值是有上面這行的。
接著,在各目錄之中,新增名為.message 的檔案,再這邊假設(shè)有一個使用者test1,且此使用者的根目錄下有個目錄名為abc,那首先我們在/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 登入時,會看到以下訊息:
230- Hello~ Welcome to the home directory
230-
230- This is for test only...
230-
若是切換到abc 的目錄,則會出現(xiàn)以下訊息:
250- Welcome to abcs directory
250-
250- This is subdir ...
6. 對于每一個聯(lián)機,以獨立的process 來運作
一般啟動vsftp 時,我們只會看到一個名為vsftpd 的process 在運作,但若是讀者希望每一個聯(lián)機,都能以獨立的process 來呈現(xiàn),則可執(zhí)行以下步驟。
Step1. 修改/etc/vsftpd/vsftpd.conf
新增底下一行
setproctitle_enable=YES
Step2. 重新啟動vsftpd
[root@home vsftpd]# /sbin/service vsftpd restart
Shutting down vsftpd: OK ]
Starting vsftpd for vsftpd: OK ]
使用ps -ef 的指令,可以看告不同使用者聯(lián)機的情形,如下圖所示:
[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. 限制傳輸檔案的速度:
本機的使用者最高速度為200KBytes/s,匿名登入者所能使用的最高速度為50KBytes/s。
Step1. 修改/etc/vsftpd/vsftpd.conf
新增底下兩行
anon_max_rate=50000
local_max_rate=200000
Step2. 重新啟動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 所限制的是本機的使用者。VSFTPD 對于速度的限制,范圍大概在80%到120%之間,也就是我們限制最高速度為100KBytes/s,但實際的速度可能在80KBytes/s 到120KBytes/s 之間,當(dāng)然,若是頻寬不足時,數(shù)值會低于此限制。
8. 針對不同的使用者限制不同的速度:假設(shè)test1 所能使用的最高速度為250KBytes/s,test2 所能使用的最高速度為500KBytes/s。
Step1. 修改/etc/vsftpd/vsftpd.conf
新增底下一行
user_config_dir=/etc/vsftpd/userconf
Step2. 新增一個目錄:/etc/vsftpd/userconf
mkdir /etc/vsftpd/userconf
Step3. 在/etc/vsftpd/userconf 之下新增一個名為test1 的檔案
內(nèi)容增加一行:
local_max_rate=250000
Step4. 在/etc/vsftpd/userconf 之下新增一個名為test2 的檔案
內(nèi)容增加一行:
local_max_rate=500000
Step5. 重新啟動vsftpd
[root@home vsftpd]# /sbin/service vsftpd restart
Shutting down vsftpd: OK ]
Starting vsftpd for vsftpd: OK ]
9-1. 建置一個防火墻下的ftp server,使用PORT FTP mode:
預(yù)設(shè)的ftp
port:21 以及ftp data port:20
啟動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. 建置一個防火墻下的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. 重新啟動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、硬盤序列號與MAC地址 dmidecode命令查看內(nèi)存型號 linux tc實現(xiàn)ip流量限制 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程 linux下解壓rar文件 lcx.exe、nc.exe、sc.exe入侵中的使用方法 Ubuntu linux 關(guān)機、重啟、注銷 命令 查看linux服務(wù)器硬盤IO讀寫負(fù)載