通常,wu-ftpd提供三種ftp登錄形式:
1、anonymous ftp
2、real ftp
3、guest ftp
anonymous ftp 應用最廣泛的一種ftp,通常,用戶以anonymous為用戶名,以電子郵件地址為密碼進行登錄。
real ftp 就是以真實的用戶名和密碼進行登錄,登錄以後,用戶可以訪問整個目錄結構。通常認為,real ftp 能對系統安全構成極大威脅,所以,除非萬不得以,應盡量避免使用real ftp。
guest ftp 也是real ftp 的一種形式,不同之處在於,一個geust登錄後,他就不能訪問除宿主目錄以外的內容。
在wu-ftpd中,是通過特定的配置文來控制ftp 訪問的,主要的配置文件有:
/etc/ftpaccess
/etc/ftpusers
/etc/ftphosts
/etc/ftpconversions
等等,下面我們就分別來講講這些配置文件。
ftpaccess是主要的ftp配置文件,在該文件內你可以實現對ftp各方面的控制,由於控制命令名目繁多,我們將以wu-ftpd的2.6版本為例分幾個部分來講,相關文檔可見wu-ftpd手冊。
1、訪問控制
class [...]
說明:該命令用於定義用戶類,定義用戶類的目的是為了方便對服務的控制。其中:
為類名,為一字符串;
可以以逗號分隔的"anonymous"、"guest"、"real"關鍵字之一,real說明該用戶類中的用戶可以用真實的賬號來訪問ftp,anonymous說明該用戶類中的用戶使用匿名ftp,guest說明該用戶類中的用戶用guest賬號訪問ftp。
定義該用戶類源ip地址或域名,可以用以下定義方法:ip地址:子網掩碼,或address/cidr。這裡也可以指定一個文件,該文件包含了該用戶類源ip地址的定義。之前還可以用驚歎號表示除以外的地址類。
例子:
class anon anonymous *
class mng real 210.221.80.0/24
class user real !domainname.com
第一條定義了anon用戶類,為匿名用戶,可以是來自任何地方。
第二條定義了mng用戶類,為真實用戶,來自210.221.80網段。
第三條定義了user用戶類,為真實用戶,可以是除domainname.com以外的任何地址
我們接著來看ftpaccess的其他配置。
deny
說明:拒絕源地址符合的訪問,同時顯示文件的內容。也可以是某一文件,該文件包含了拒絕的ip地址類的定義。可以用 !nameserverd來拒絕沒有注冊域名的客戶端請求。
如:
deny !nameserverd /home/ftp/etc/noname.msg
拒絕沒有注冊域名的客戶端請求,並且顯示noname.msg的內容。
guestgroup [...]
guestuser [...]
realgroup [...]
realuser [...]
說明:如果客戶端為中的真實用戶(real user)則該客戶端被當作guest用戶處理;如果客戶端為真實用戶則該客戶端也被當作guest用戶處理;realgroup和realuser把非匿名連接視為真實用戶連接。和也可以用用戶id和組id代替。
比如:guestuser *
realgroup admin
表示除了admin組以外的任何非匿名連接視為guest用戶連接,admin仍舊視為真實用戶連接。
nice []
說明:如果為中的用戶連接的話,則調整ftpd進程的nice值為中指定的值。
keepalive
說明:是否在會話過程中保持數據通道的激活狀態。
timeout accept
timeout connect
timeout data
timeout idle
timeout maxidle
timeout RFC931
說明:設置各種超時。
accept設置ftpd服務等待被動數據通道連接請求的超時。(缺省為120秒)
connect設置ftpd服務標准數據通道連接請求的超時。(缺省為120秒)
data設置ftpd服務等待客戶端在數據通道上多長時間沒有動作為超時。(缺省為1200秒)
idle 設置ftpd服務等待客戶端用戶在命令通道上多長時間沒有動作為超時。(缺省為900秒)
maxidle 設置用戶可以在客戶端設置的更長的空閒時間的上限。(缺省為10秒)
RFC931 設置一個RFC931協議會話的最長時間。為零則取消對該協議的支持。
tcpwindows []
說明:設置tcp 窗口的大小。一般linux系統缺省值為6。如果網絡連接情況較好可以增大該值,否則,應減小之。
我們接著來看ftpaccess的其他配置。
file-limit [] []
說明:用來限制在給定類中的用戶可以傳輸的文件數目。可分為進、出、合計三類。如果沒有指定類,則改選項將應用於所有沒有傳輸文件限制的類。可選參數raw用來限制總的流量。
byte-limit [] []
說明:說明:用來限制在給定類中的用戶可以傳輸的數據流量。可分為進、出、合計三類。如果沒有指定類,則改選項將應用於所有沒有傳輸文件限制的類。可選參數raw用來限制總的流量。
limit-time {*|anonymous|guest}
說明:用於限制一個ftp會話的總時間。缺省值為無限,真實用戶不受限制。
guestserver []
說明:控制那一部主機用來提供anonymous或guest訪問。如果沒有指定,則拒絕所有anonymous或guest訪問。
limit
說明:控制在一定的時間內,可以訪問ftp的指定),當達到最大限制數時,顯示的內容。