綠色資源網(wǎng):您身邊最放心的安全下載站! 最新軟件|熱門排行|軟件分類|軟件專題|廠商大全

綠色資源網(wǎng)

技術(shù)教程
您的位置:首頁服務(wù)器類Ftp服務(wù)器 → Linux下FTP的配置與應(yīng)用

Linux下FTP的配置與應(yīng)用

我要評論 2009/04/20 02:09:29 來源:綠色資源網(wǎng) 編輯:佚名 [ ] 評論:0 點擊:383次

  FTP服務(wù)是Internet上的標準服務(wù)之一,用來在網(wǎng)絡(luò)上傳輸文件。在linux系統(tǒng)中,通常用wu-ftpd來實現(xiàn)該服務(wù)(www.wu-ftpd.org)。

  通常,wu-ftpd提供三種ftp登錄形式:

  1、anonymous ftp
  2、real ftp
  3、guest ftp

  anonymous ftp 應(yīng)用最廣泛的一種ftp,通常,用戶以anonymous為用戶名,以電子郵件地址為密碼進行登錄。

  real ftp 就是以真實的用戶名和密碼進行登錄,登錄以后,用戶可以訪問整個目錄結(jié)構(gòu)。通常認為,real ftp 能對系統(tǒng)安全構(gòu)成極大威脅,所以,除非萬不得以,應(yī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版本為例分幾個部分來講,相關(guān)文檔可見wu-ftpd手冊。

  1、訪問控制

  class [...]
  說明:該命令用于定義用戶類,定義用戶類的目的是為了方便對服務(wù)的控制。其中:

  為類名,為一字符串;

  可以以逗號分隔的"anonymous"、"guest"、"real"關(guān)鍵字之一,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 []
  說明:如果為中的用戶連接的話,則調(diào)整ftpd進程的nice值為中指定的值。

  keepalive
  說明:是否在會話過程中保持數(shù)據(jù)通道的激活狀態(tài)。

  timeout accept
  timeout connect
  timeout data
  timeout idle
  timeout maxidle
  timeout RFC931
  說明:設(shè)置各種超時。

  accept設(shè)置ftpd服務(wù)等待被動數(shù)據(jù)通道連接請求的超時。(缺省為120秒)
  connect設(shè)置ftpd服務(wù)標準數(shù)據(jù)通道連接請求的超時。(缺省為120秒)
  data設(shè)置ftpd服務(wù)等待客戶端在數(shù)據(jù)通道上多長時間沒有動作為超時。(缺省為1200秒)
  idle 設(shè)置ftpd服務(wù)等待客戶端用戶在命令通道上多長時間沒有動作為超時。(缺省為900秒)
  maxidle 設(shè)置用戶可以在客戶端設(shè)置的更長的空閑時間的上限。(缺省為10秒)
  RFC931 設(shè)置一個RFC931協(xié)議會話的最長時間。為零則取消對該協(xié)議的支持。

  tcpwindows []
  說明:設(shè)置tcp 窗口的大小。一般linux系統(tǒng)缺省值為6。如果網(wǎng)絡(luò)連接情況較好可以增大該值,否則,應(yīng)減小之。

  我們接著來看ftpaccess的其他配置。

  file-limit [] []
  說明:用來限制在給定類中的用戶可以傳輸?shù)奈募?shù)目??煞譃檫M、出、合計三類。如果沒有指定類,則改選項將應(yīng)用于所有沒有傳輸文件限制的類??蛇x參數(shù)raw用來限制總的流量。

  byte-limit [] []
  說明:說明:用來限制在給定類中的用戶可以傳輸?shù)臄?shù)據(jù)流量。可分為進、出、合計三類。如果沒有指定類,則改選項將應(yīng)用于所有沒有傳輸文件限制的類??蛇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命令進入需要密碼的特權(quán)用戶組中。

  在這里要引用到/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服務(wù)程序的版本,為缺省設(shè)置。
  breif 只向用戶顯示主機名。
  terse 僅僅顯示“FTP server ready"
  text 可以指定你所想顯示的任何信息。
  從安全角度出發(fā),建議用terse.

  banner
  說明:在用戶鍵入用戶名和密碼前向用戶顯示的信息。
  為想要顯示的文件的完整路徑名。
  如:banner /home/ftp/etc/.banner

  hostname
  說明:定義在greeting時,向用戶顯示的主機名。

  email
  說明:定義網(wǎng)絡(luò)管理員的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

關(guān)鍵詞:Linux,FTP

閱讀本文后您有什么感想? 已有 人給出評價!

  • 1 歡迎喜歡
  • 1 白癡
  • 1 拜托
  • 1 哇
  • 1 加油
  • 1 鄙視