Vsftpd的設(shè)置選項
VSFTPD的設(shè)置選項
VSFTPD的配置文件/etc/vsftpd/vsftpd.conf是個文本文件。以“#”字符開始的行是注釋行。每個選項設(shè)置為一行,格式為 “option=value”,注意“=”號兩邊不能留空白符。除了這個主配置文件外,還可以給特定用戶設(shè)定個人配置文件,具體介紹見后。
VSFTPD包中所帶的vsftpd.conf文件配置比較簡單,而且非常偏執(zhí)狂的(文檔自稱:-))。我們可以根據(jù)實際情況對其進(jìn)行一些設(shè)置,以使得VSFTPD更加可用。
1、連接選項
本部分主要是一些與建立FTP鏈接相關(guān)的選項。
?。?)監(jiān)聽地址與控制端口
listen_address=ip address
此參數(shù)在VSFTPD使用單獨(standalone)模式下有效。此參數(shù)定義了在主機(jī)的哪個IP地址上監(jiān)聽FTP請求,即在哪個IP地址上提供FTP 服務(wù)。對于只有一個IP地址的主機(jī),不需要使用此參數(shù)。對于多址主機(jī),不設(shè)置此參數(shù),則監(jiān)聽所有IP地址。默認(rèn)值為無。
listen_port=port_value
指定FTP服務(wù)器監(jiān)聽的端口號(控制端口),默認(rèn)值為21。此選項在standalone模式下生效。
(2)FTP模式與數(shù)據(jù)端口
FTP 分為兩類,PORT FTP和PASV FTP,PORT FTP是一般形式的FTP。這兩種FTP在建立控制連接時操作是一樣的,都是由客戶端首先和FTP服務(wù)器的控制端口(默認(rèn)值為21)建立控制鏈接,并通過此鏈接進(jìn)行傳輸操作指令。它們的區(qū)別在于使用數(shù)據(jù)傳輸端口(ftp-data)的方式。PORT FTP由FTP服務(wù)器指定數(shù)據(jù)傳輸所使用的端口,默認(rèn)值為20。PASV FTP由FTP客戶端決定數(shù)據(jù)傳輸?shù)亩丝?。PASV FTP這種做法,主要是考慮到存在防火墻的環(huán)境下,由客戶端與服務(wù)器進(jìn)行溝通(客戶端向服務(wù)器發(fā)出數(shù)據(jù)傳輸請求中包含了數(shù)據(jù)傳輸端口),決定兩者之間的數(shù)據(jù)傳輸端口更為方便一些。
- port_enable=YES|NO
如果你要在數(shù)據(jù)連接時取消PORT模式時,設(shè)此選項為NO。默認(rèn)值為YES。
- connetc_from_port_20=YES|NO
控制以PORT模式進(jìn)行數(shù)據(jù)傳輸時是否使用20端口(ftp-data)。YES使用,NO不使用。默認(rèn)值為NO,但RHL自帶的vsftpd.conf文件中此參數(shù)設(shè)為YES。
- ftp_data_port=port number
設(shè)定ftp數(shù)據(jù)傳輸端口(ftp-data)值。默認(rèn)值為20。此參數(shù)用于PORT FTP模式。
- port_promiscuous=YES|NO
默認(rèn)值為NO。為YES時,取消PORT安全檢查。該檢查確保外出的數(shù)據(jù)只能連接到客戶端上。小心打開此選項。
- pasv_enable=YES|NO
YES,允許數(shù)據(jù)傳輸時使用PASV模式。NO,不允許使用PASV模式。默認(rèn)值為YES。
- pasv_min_port=port number
- pasv_max_port=port number
設(shè)定在PASV模式下,建立數(shù)據(jù)傳輸所可以使用port范圍的下界和上界,0 表示任意。默認(rèn)值為0。把端口范圍設(shè)在比較高的一段范圍內(nèi),比如50000-60000,將有助于安全性的提高。
- pasv_promiscuous=YES|NO
此選項激活時,將關(guān)閉PASV模式的安全檢查。該檢查確保數(shù)據(jù)連接和控制連接是來自同一個IP地址。小心打開此選項。此選項唯一合理的用法是存在于由安全隧道方案構(gòu)成的組織中。默認(rèn)值為NO。
- pasv_address=
此選項為一個數(shù)字IP地址,作為PASV命令的響應(yīng)。默認(rèn)值為none,即地址是從呼入的連接套接字(incoming connectd socket)中獲取。
?。?)ASCII模式
默認(rèn)情況下,VSFTPD是禁止使用ASCII傳輸模式。即使FTP客戶端使用asc命令,指明要使用ASCII模式,但是,VSFTPD表面上接受了asc命令,而在實際傳輸文件時,還是使用二進(jìn)制方式。下面選項控制VSFTPD是否使用ASCII傳輸模式。
- ascii_upload_enable=YES|NO
控制是否允許使用ascii模式上傳文件,YES允許,NO不允許,默認(rèn)為NO。
- ascii_download_enable=YES|NO
控制是否允許使用ascii模式下載文件,YES允許,NO不允許,默認(rèn)為NO。
2、性能與負(fù)載控制
(1)超時選項
- idle_session_timeout=
空閑(發(fā)呆)用戶會話的超時時間,若是超出這時間沒有數(shù)據(jù)的傳送或是指令的輸入,則會強(qiáng)迫斷線。單位為秒,默認(rèn)值為300。
- data_connection_timeout=
空閑的數(shù)據(jù)連接的超時時間。默認(rèn)值為300 秒。
- accept_timeout=numerical value
接受建立聯(lián)機(jī)的超時設(shè)定,單位為秒。默認(rèn)值為60。
- connect_timeout=numerical value
響應(yīng)PORT方式的數(shù)據(jù)聯(lián)機(jī)的超時設(shè)定,單位為秒。默認(rèn)值為60。以上兩個選項針對客戶端的,將使客戶端空閑1分鐘后自動中斷連接,并在中斷1分鐘后自動激活連接。
?。?)負(fù)載控制
- max_clients=numerical value
此參數(shù)在VSFTPD使用單獨(standalone)模式下有效。此參數(shù)定義了FTP服務(wù)器***的并發(fā)連接數(shù),當(dāng)超過此連接數(shù)時,服務(wù)器拒絕客戶端連接。默認(rèn)值為0,表示不限***連接數(shù)。
- max_per_ip=numerical value
此參數(shù)在VSFTPD使用單獨(standalone)模式下有效。此參數(shù)定義每個IP地址***的并發(fā)連接數(shù)目。超過這個數(shù)目將會拒絕連接。此選項的設(shè)置將影響到象網(wǎng)際快車這類的多進(jìn)程下載軟件。默認(rèn)值為0,表示不限制。
- anon_max_rate=value
設(shè)定匿名用戶的***數(shù)據(jù)傳輸速度value,以Bytes/s為單位。默認(rèn)無。
- local_max_rate=value
設(shè)定用戶的***數(shù)據(jù)傳輸速度value,以Bytes/s為單位。默認(rèn)無。此選項對所有的用戶都生效。此外,也可以在用戶個人配置文件中使用此選項,以指定特定用戶可獲得的***數(shù)據(jù)傳輸速率。
步驟如下:
①在vsftpd.conf中指定用戶個人配置文件所在的目錄,如:
- user_config_dir=/etc/vsftpd/userconf
②生成/etc/vsftpd/userconf目錄。
?、塾脩魝€人配置文件是在該目錄下,與特定用戶同名的文件,如:
- /etc/vsftpd/userconf/xiaowang
?、茉谟脩舻膫€人配置文件中設(shè)置local_max_rate參數(shù),如:
- local_max_rate=80000
以上步驟設(shè)定FTP用戶xiaowang的***數(shù)據(jù)傳輸速度為80KBytes/s。
VSFTPD 對于速度控制的變化范圍大概在80%到120%之間。比如我們限制***速度為100KBytes/s, 但實際的速度可能在80KBytes/s 到120KBytes/s 之間。當(dāng)然,若是線路帶寬不足時,速率自然會低于此限制。
【編輯推薦】