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