Linux下FTP的配置與應用
FTP服務是Internet上的標準服務之一,用來在網(wǎng)絡上傳輸文件。在linux系統(tǒng)中,通常用wu-ftpd來實現(xiàn)該服務(www.wu-ftpd.org)。
通常,wu-ftpd提供三種ftp登錄形式:
1、anonymous ftp
2、real ftp
3、guest ftp
anonymous ftp 應用最廣泛的一種ftp,通常,用戶以anonymous為用戶名,以電子郵件地址為密碼進行登錄。
real ftp 就是以真實的用戶名和密碼進行登錄,登錄以后,用戶可以訪問整個目錄結構。通常認為,real ftp 能對系統(tǒng)安全構成極大威脅,所以,除非萬不得以,應盡量避免使用real ftp。
guest ftp 也是real ftp 的一種形式,不同之處在于,一個geust登錄后,他就不能訪問除宿主目錄以外的內(nèi)容。
在wu-ftpd中,是通過特定的配置文來控制ftp 訪問的,主要的配置文件有:
/etc/ftpaccess
/etc/ftpusers
/etc/ftphosts
/etc/ftpconversions
等等,下面我們就分別來講講這些配置文件。
ftpaccess是主要的ftp配置文件,在該文件內(nèi)你可以實現(xiàn)對ftp各方面的控制,由于控制命令名目繁多,我們將以wu-ftpd的2.6版本為例分幾個部分來講,相關文檔可見wu-ftpd手冊。
1、訪問控制
class [...]
說明:該命令用于定義用戶類,定義用戶類的目的是為了方便對服務的控制。其中:
為類名,為一字符串;
可以以逗號分隔的"anonymous"、"guest"、"real"關鍵字之一,real說明該用戶類中的用戶可以用真實的賬號來訪問ftp,anonymous說明該用戶類中的用戶使用匿名ftp,guest說明該用戶類中的用戶用guest賬號訪問ftp。
定義該用戶類源ip地址或域名,可以用以下定義方法:ip地址:子網(wǎng)掩碼,或address/cidr。這里也可以指定一個文件,該文件包含了該用戶類源ip地址的定義。之前還可以用驚嘆號表示除以外的地址類。
例子:
class anon anonymous *
class mng real 210.221.80.0/24
class user real !domainname.com
第一條定義了anon用戶類,為匿名用戶,可以是來自任何地方。
第二條定義了mng用戶類,為真實用戶,來自210.221.80網(wǎng)段。
第三條定義了user用戶類,為真實用戶,可以是除domainname.com以外的任何地址。
我們接著來看ftpaccess的其他配置。
deny
說明:拒絕源地址符合的訪問,同時顯示文件的內(nèi)容。也可以是某一文件,該文件包含了拒絕的ip地址類的定義??梢杂?!nameserverd來拒絕沒有注冊域名的客戶端請求。
如:
deny !nameserverd /home/ftp/etc/noname.msg
拒絕沒有注冊域名的客戶端請求,并且顯示noname.msg的內(nèi)容。
guestgroup [...]
guestuser [...]
realgroup [...]
realuser [...]
說明:如果客戶端為中的真實用戶(real user)則該客戶端被當作guest用戶處理;如果客戶端為真實用戶則該客戶端也被當作guest用戶處理;realgroup和realuser把非匿名連接視為真實用戶連接。和也可以用用戶id和組id代替。
比如:guestuser *
realgroup admin
表示除了admin組以外的任何非匿名連接視為guest用戶連接,admin仍舊視為真實用戶連接。
nice []
說明:如果為中的用戶連接的話,則調整ftpd進程的nice值為中指定的值。
keepalive
說明:是否在會話過程中保持數(shù)據(jù)通道的激活狀態(tài)。
timeout accept
timeout connect
timeout data
timeout idle
timeout maxidle
timeout RFC931
說明:設置各種超時。
accept設置ftpd服務等待被動數(shù)據(jù)通道連接請求的超時。(缺省為120秒)
connect設置ftpd服務標準數(shù)據(jù)通道連接請求的超時。(缺省為120秒)
data設置ftpd服務等待客戶端在數(shù)據(jù)通道上多長時間沒有動作為超時。(缺省為1200秒)
idle 設置ftpd服務等待客戶端用戶在命令通道上多長時間沒有動作為超時。(缺省為900秒)
maxidle 設置用戶可以在客戶端設置的更長的空閑時間的上限。(缺省為10秒)
RFC931 設置一個RFC931協(xié)議會話的最長時間。為零則取消對該協(xié)議的支持。
tcpwindows []
說明:設置tcp 窗口的大小。一般linux系統(tǒng)缺省值為6。如果網(wǎng)絡連接情況較好可以增大該值,否則,應減小之。
我們接著來看ftpaccess的其他配置。
file-limit [] []
說明:用來限制在給定類中的用戶可以傳輸?shù)奈募?shù)目。可分為進、出、合計三類。如果沒有指定類,則改選項將應用于所有沒有傳輸文件限制的類。可選參數(shù)raw用來限制總的流量。
byte-limit [] []
說明:說明:用來限制在給定類中的用戶可以傳輸?shù)臄?shù)據(jù)流量??煞譃檫M、出、合計三類。如果沒有指定類,則改選項將應用于所有沒有傳輸文件限制的類??蛇x參數(shù)raw用來限制總的流量。
limit-time {*|anonymous|guest}
說明:用于限制一個ftp會話的總時間。缺省值為無限,真實用戶不受限制。
guestserver []
說明:控制那一部主機用來提供anonymous或guest訪問。如果沒有指定,則拒絕所有anonymous或guest訪問。
limit
說明:控制在一定的時間內(nèi),可以訪問ftp的指定),當達到最大限制數(shù)時,顯示的內(nèi)容。
格式有些復雜:星期天到星期六分別為Su、Mo、Tu、We、Th、Fr、Sa,時間采用軍用格式,在小時和分鐘間沒有冒號,范圍用破折號指定。
如:
limit anon 20 MoTuWe,Th0800-1730 /home/ftp/etc/topmsg
表示在星期一、星期二、星期三的全天,星期四的上午八點到下午五點半這段時間內(nèi),對anon類的用戶登錄數(shù)目限制為20,達到這一限制時顯示topmsg的內(nèi)容。
noretrieve [absolut|relative][class=]...[-]
說明:拒絕傳送某些文件。你可以指定該文件的絕對路徑,也可以只給出文件名。如果只給出文件名,則將拒絕傳送所有符合該文件名的文件。
如:
noretrieve /etc/group passwd anon
將拒絕向anon類傳送etc目錄下的group文件及任何目錄下的passwd文件。
allow-retrieve [absolut|relative] [class=]...[-]
說明:定義允許傳送的文件,即使被noretrieve拒絕。
loginfails
說明:當?shù)卿浭〉拇螖?shù)達到時,顯示“repeated login failures"并終止ftp會話。
private
說明:是否允許用戶利用SITE GROUP和SITE GPASS命令進入需要密碼的特權用戶組中。
在這里要引用到/etc/ftpgroups文件,該文件的格式為:
access_groupname:encrypted_passard:real_group
access_groupname為用來引用特殊組的名字,encrypted_passard是該組的密碼, real_group為/etc/group中實際被引用的組。
2、顯示信息控制
指當用戶連接到ftp或做出某些特定行為(如改變目錄)時,向用戶顯示的特定信息。
greeting full|breif|terse
greeting text
說明:定義再用戶登錄前向用戶顯示的信息。
full 向用戶顯示主機名和ftp服務程序的版本,為缺省設置。
breif 只向用戶顯示主機名。
terse 僅僅顯示“FTP server ready"
text 可以指定你所想顯示的任何信息。
從安全角度出發(fā),建議用terse.
banner
說明:在用戶鍵入用戶名和密碼前向用戶顯示的信息。
為想要顯示的文件的完整路徑名。
如:banner /home/ftp/etc/.banner
hostname
說明:定義在greeting時,向用戶顯示的主機名。
email
說明:定義網(wǎng)絡管理員的email地址。
message { {...}}
說明:當用戶登錄或更改目錄時,向用戶顯示所定義的文件的內(nèi)容。
可以是LOGIN,說明當用戶登錄成功時向用戶顯示信息。
也可以是CWD=,即當用戶更改目錄到時顯示信息。
為了避免迷惑用戶,該信息將只顯示一次。
當anonymous用戶觸發(fā)message時,必須相對于ftp主目錄。
在該文件中可以包含一些特殊的參數(shù)(完整參數(shù)請參考手冊):
%T 本地時間
%F 目錄的可用空間
%C 當前的工作目錄
%E 管理員的email地址
%R 遠程主機名
%L 本地主機名
%U 用戶登錄時的用戶名
%M 在該用戶類中最大的允許登錄數(shù)
%N 該用戶類的再線人數(shù)
readme {}
說明:基本用法和功能同message.
3、日志控制
log commands
說明:對特定的typelist的任何命令都進行日志。
typelist可以是real、anonymous、guest 中的一種。
log transfers
說明:對特定的typelist的文件傳輸進行日志。
typelist同上,direction可以是inbound或oubound兩種。
如:
log transfers real inbound,outbound
對r
關鍵詞:Linux,FTP
閱讀本文后您有什么感想? 已有 人給出評價!
- 1
- 1
- 1
- 1
- 1
- 1