熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

Linux下架設FTP

2013-11-13 16:17:00  來源: Oracle 

  Linux下一般最常用的工具wuftpd
  wuftpd的安裝非常容易大多數版本的Linux中都包含了wuftpd的rpm軟件包你可以在安裝Linux時指定裝入如果你想自行編譯源代碼也可以到ftp://下載最新版本的源代碼包
  安裝好以後可以用ckconfig命令來檢查是否已經正確安裝在/etc/passwd中可以指定ftp用戶的登入目錄
  wuftpd主要有以下個配置文件
  ftpaccess(主要配置文件控制存取權限)
  ftpconvertions(配置文件壓縮/解壓縮轉換)
  ftpgroups(設定ftp自己定義的群組)
  ftphosts(設定個別的用戶權限)
  ftpservers(設定不同IP/Domain Name以對應到不同的虛擬主機)
  ftpusers(設定哪些帳號不能用ftp連線)
  下面我們來一一介紹
  ⒈/etc/ftpaccess(wuftpd的主要配置文件)
  class定義群組用法如下
  class<種類><用戶地址>[<用戶地址>……]
  由class定義的群組用戶才可以連線進來可以使用多層式的class來規范哪些群組的用戶能夠從哪些地方上來這裡有三個重要的種類realanonymous個guestreal如果沒有列在定義中那麼這台機器中任何真實的一般用戶都無法用自己的帳號連上來anonymous如果沒有在定義就表示不讓沒有帳號的的人連上來如果有定義guest那麼guest群組的人就可以上來另外<用戶地址>是指ftp上來的用戶會用到的IP地址則可自行設定以下是一些例子
  class all realguestanonymous *
  定義了一個名為all的class包含三種人所有IP的連線用戶(也就是所有人都包括了)
  class local real localhost loopback
  local這個class說只有real的用戶可以從本機機器連上來
  class remote guestanonymous *
  remote這個class包含了從任何地方上來的guest和anonymous用戶但是real用戶不算
  class rmtuser real !*
  rmtuser這個class包含了從外面來的(除了)真實用戶
  autogroup自動對應群組用法如下
  autogroup[……]
  當你定義好的那些同屬於一個class的用戶一旦連線上來就會被對應到一個相應的群組下面這樣你就可以用Unix的文件權限對某一群人做限制
  deny拒絕某些地址連線用法如下
  deny<拒絕連線的地址><信息文件>
  禁止某些機器連線並顯示<信息文件>例如
  deny *: /etc/rejectmsg
  guestgroup設定訪客群
  guestuser設定訪客帳號
  realgroup設定真實群組
  realuser設定真實帳號
  nice設定給某些class多少優先權用法如下
  nice
  在Linux中nice的值是(最優先)到(最後處理)這裡你可以指定負的值來提高某class的優先順序
  defumask設定某class的umask用法如下
  defumask[]
  umask是建立文件時該文件的的權限掩碼
  tcpwindow設定tcpwindow的大小
  keepalive設定是否使用TCP SO_KEEPALIVE來控制斷線情形
  timeout設定連線超時用法如下
  timeout accept<秒>
  接受連線超時預設
  timeout connect<秒>
  連線建立超時預設
  timeout data<秒>
  數據傳送超時預設
  timeout idle<秒>
  用戶發呆超時預設
  filelimit限制某class只能傳幾個文件用法如下
  filelimit[][]
  對某個class限制存取文件的數目包含了in(上傳)out(下載)total raw代表整個傳輸的結果不光是數據文件例如
  filelimit out lvfour
  限制lvfour這個class的用戶最多只能下載個文件
  bytelimit限制某class只能傳幾個字節用法跟filelimit相似
  limittime限制一個連線只能持續多久用法如下
  limittime{*|anonymous|guest}<分鐘>
  為了避免有人掛在站上不下來可以用這個方法限制用戶的上線時間例如
  limittime guest
  讓guest帳號的用戶只能用分鐘
  limit限制某class能同時幾人上線用法如下
  limit<連線數目><時間區段><額滿信息文件>
  設定某個class在某一時間區段內最多能夠幾人同時上線後面是當超過連線數目時要顯示的信息例如
  limit all Any /home/ftp/etc/toomanyusermsg
  限制所有連線在任何時間只能有個用戶超過則拒絕連線並顯示信息
  limit levellone Any /home/ftp/etc/toomanyusermsg
  限制levellone這個class的用戶在::這段時間內只能有人連線
  noretrieve設定哪些文件不可下載
  noretrieve[absolute/relative][class=]…[][<文件名>…]
  absolute或relative指文件是用絕對路徑還是相對路徑
  allow=retrieve設定哪些文件可以下載
  allow[absolute/relative][class=]…[][<文件名>…]
  loginfails設置登入錯誤可嘗試的次數
  當用戶連線時可能打錯ID或密碼這個設定可以讓他打錯幾次以後就斷線避免有人用窮舉法猜測密碼
  private設定線上是否可以執行SITE GROUP/SITE GPASS
  當開放SITE GROUP與SITE GPASS指令時可以用這兩個指令切換到/etc/ftpgroup的群組一般而言我們不會用到這個功能以避免安全漏洞
  greeting顯示Server的版本信息用法如下
  greeting
  當用戶登入畫面顯示的server信息full是預設值包含版本號以及hostnamebrief只有hostname而terse只有FTP server ready的信息
  barnner設定未進入Login畫面之前用戶看到的信息用法如下
  banner<文件路徑>
  這裡敘述了在用戶登入時在還沒打ID/Password之前要出現的信息文件路徑指的是相對於真實的路徑而不是相對於ftp的根目錄
  host設定ftp主機名
  email指定ftp管理者的email地址
  message信息文件的設定用法如下
  message<文件>{<何時>{……}}
  這裡的文件的路徑是相對於ftp的根目錄的何時是指當你做了什麼動作之後的反應有幾個選擇
  login(登入時)
  cwd=<目錄>(進入某目錄時)
  class 名稱是前面已經定義過的允許你的信息只對哪些人發出
  而信息文件的內容除了文字以外還可以使用以下一些事先定義好的代號
  %T(本機時間)
  %F(目前分區所剩余的空間)
  %C(目前所在的目錄)
  %E(管理者的Email)
  %R(客戶端主機名稱)
  %L(本機主機名稱)
  %U(用戶名稱)
  %M(與我相同class用戶允許多少人連線)
  %N(與我相同class用戶目前有多少人連線)
  %B(絕對磁盤限制大小目前分區(單位blocks))
  %b(preferred磁盤限制大小目前分區(單位blocks))
  %Q(目前已使用的blocks)
  %I(最大可使用的inodes(+))
  %i(Preferred inodes限制)
  %q(目前使用的indoes)
  %H(超量使用磁盤空間的時間限制)
  %h(超量使用文件數目的時間限制)
  readme通知用戶哪些README文件已經更新
  log commands記錄用戶所使用過的命令用法如下
  log commands<用戶種類>
  log transfers記錄用戶所傳輸的文件用法如下
  log transfers<用戶種類><傳輸方向>
  設定有哪些類型的用戶傳輸文件需要記錄包含了inbound(用戶上傳)和outbound(用戶下載)例如
  log transfers anonymousguest inboundoutbound
  log security記錄安全性用法如下
  log security<用戶種類>
  特別用於記錄某類用戶關於noretrivenotar等有關安全性的記錄
  log syslog記錄到系統的syslog文件
  alias設定目錄別名用法如下
  alias<別名字符串><目錄>
  cdpath設定cd更換目錄搜索順序
  compresstar設定是否自動壓縮用法如下
  compress[……]
  tar[……]
  定義哪些人可以執行壓縮以及tar
  shutdown通知用戶要關站了
  shutdown<信息文件>
  如果信息文件存在的話當這個文件指定的某時間以後就會拒絕連線並切斷已有的連線等時間一到就關機這個信息文件的格式如下
  <年><月><日><時><分><拒絕倒數><斷線倒數><文字>
  daemon address指定只監聽某個IP地址用法如下
  daemon address
  當你有許多IP的時候使用這個選項將會取消其它任何虛擬FTP主機的設定不設定的話監聽所有IP
  virtual設定虛擬FTP站台
  wuftpd提供了虛擬主機的功能也就是說在同一台機器上提供了不同FTP站台以主機名稱或IP來區分當然你要用名稱的話還需要跟DNS配合才行virtual有很多個設定
  virtual
  <路徑>
  可以是主機名或IP地址
  root指的是ftp的根目錄banner是歡迎信息logfile指的是這個虛擬站台的log文件
  以下是一些例子
  virtual bj root /home/ftp
  virtual bj banner /etc/vftpbanner
  virtual bj logfile /etc/viftplog
  virtual
  <字母>
  用戶可以查到hostname跟管理者email以下是一些例子
  virtual hostname bj
  virtual bj email ftpbj
  virtual
  all
From:http://tw.wingwit.com/Article/program/Oracle/201311/18081.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.