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