• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 用wu-ftpd架設FTP服務器(1)

    發表于:2007-06-13來源:作者:點擊數: 標簽:
    一、前言 當我們架設的網站需要提供下載功能時,除了使用http的方式連接外,也可以另外提供ftp服務供用戶直接連線下載。事實上,ftp是個存在已久的服務,它的設計是用來傳輸兩臺電腦之間的數據,以避免太多的遠端執行。如果要傳送的文件比較大時,若以http的
    一、前言 

    當我們架設的網站需要提供下載功能時,除了使用http的方式連接外,也可以另外提供ftp服務供用戶直接連線下載。事實上,ftp是個存在已久的服務,它的設計是用來傳輸兩臺電腦之間的數據,以避免太多的遠端執行。如果要傳送的文件比較大時,若以http的方式連線傳輸會占用一些網站的資源(例如可連線的人數),這時就要用到ftp了。ftp是一個以TCP/IP為基礎的應用程序,所以一般的ftp服務程序都會以內嵌于.netd的執行方式。 

    ftp分為兩個部分,一個是服務器端的程序,一個是用戶端的。在Unix上的ftp服務程序非常多,不同的操作系統所內建的版本也都不一樣,常見的有wu-ftpd、proftpd、Troll ftpd、ncftpd和Bero ftpd等等。其中最常用的最受歡迎的的是wu-ftpd,它是當初由華盛頓大學wuarchive.wustl.edu開發出來的,是一個以效率以及穩定性為考量的程序,它提供了原始碼以及開放學術單位免費使用。 

    二、安裝與設定 

    wu-ftpd的安裝非常容易,大多數版本的Linux中都包含了wu-ftpd的rpm軟件包,你可以在安裝Linux時指定裝入。如果你想自行編譯源代碼,也可以到ftp://ftp.wu-ftpd.org下載最新版本的源代碼包。 

    安裝好以后,可以用ckconfig命令來檢查是否已經正確安裝。在/etc/passwd中可以指定ftp用戶的登入目錄。 

    wu-ftpd主要有以下6個配置文件: 

    ftpaclearcase/" target="_blank" >ccess(主要配置文件,控制存取權限) 

    ftpconvertions(配置文件壓縮/解壓縮轉換) 

    ftpgroups(設定ftp自己定義的群組) 

    ftphosts(設定個別的用戶權限) 

    ftpservers(設定不同IP/Domain Name以對應到不同的虛擬主機) 

    ftpusers(設定哪些帳號不能用ftp連線) 

    下面我們來一一介紹。 

    ⒈/etc/ftpaccess(wu-ftpd的主要配置文件) 

    class--定義群組,用法如下: 

    class<種類><用戶地址>[<用戶地址>……] 

    由class定義的群組用戶才可以連線進來,可以使用多層式的class來規范哪些群組的用戶能夠從哪些地方上來。這里有三個重要的種類, real、anonymous個guest。real如果沒有列在定義中,那么這臺機器中任何真實的一般用戶都無法用自己的帳號連上來。 anonymous如果沒有在定義,就表示不讓沒有帳號的的人連上來。如果有定義guest,那么guest群組的人就可以上來。另外<用戶地址 >是指ftp上來的用戶會用到的IP地址,則可自行設定。以下是一些例子: 

    class all real,guest,anonymous * 

    定義了一個名為all的class,包含三種人,所有IP的連線用戶(也就是所有人都包括了) 

    class local real localhost loopback 

    local這個class說,只有real的用戶可以從本機機器連上來 

    class remote guest,anonymous * 

    remote這個class包含了從任何地方上來的guest和anonymous用戶,但是real用戶不算 

    class rmtuser real !*.example.com 

    rmtuser這個class包含了從外面來的(除了example.com)真實用戶 

    autogroup--自動對應群組,用法如下: 

    autogroup[……] 

    當你定義好的那些同屬于一個class的用戶,一旦連線上來就會被對應到一個相應的群組下面,這樣你就可以用Unix的文件權限對某一群人做限制。 

    deny--拒絕某些地址連線,用法如下: 

    deny<拒絕連線的地址><信息文件> 

    禁止某些機器連線,并顯示<信息文件>。例如: 

    deny 210.62.146.*:255.255.255.254 /etc/reject.msg 

    guestgroup--設定訪客群 

    guestuser--設定訪客帳號 

    realgroup--設定真實群組 

    realuser--設定真實帳號 

    nice--設定給某些class多少優先權,用法如下: 

    nice 

    在Linux中,nice的值是-20(最優先)到19(最后處理),這里你可以指定負的值來提高某class的優先順序。 

    defumask--設定某class的umask,用法如下: 

    defumask[

    umask是建立文件時該文件的的權限掩碼 

    tcpwindow--設定tcpwindow的大小 

    keepalive--設定是否使用TCP SO_KEEPALIVE來控制斷線情形 

    timeout--設定連線超時,用法如下: 

    timeout accept<秒> 

    接受連線超時,預設120秒 

    timeout connect<秒> 

    連線建立超時,預設120秒 

    timeout data<秒> 

    數據傳送超時,預設1200秒 

    timeout idle<秒> 

    用戶發呆超時,預設900秒 

    file-limit--限制某class只能傳幾個文件,用法如下: 

    file-limit[][

    對某個class限制存取文件的數目,包含了in(上傳)、out(下載),total raw代表整個傳輸的結果,不光是數據文件。例如: 

    file-limit out 20 lvfour 

    限制lvfour這個class的用戶最多只能下載20個文件 

    byte-limit--限制某class只能傳幾個字節,用法跟file-limit相似 

    limit-time--限制一個連線只能持續多久,用法如下: 

    limit-time{*|anonymous|guest}<分鐘> 

    為了避免有人掛在站上不下來,可以用這個方法限制用戶的上線時間,例如: 

    limit-time guest 5 

    讓guest帳號的用戶只能用5分鐘 

    limit--限制某class能同時幾人上線,用法如下: 

    limit<連線數目><時間區段><額滿信息文件> 

    設定某個class在某一時間區段內最多能夠幾人同時上線,后面是當超過連線數目時要顯示的信息。例如: 

    limit all 32 Any /home/ftp/etc/toomanyuser.msg 

    限制所有連線在任何時間只能有32個用戶,超過則拒絕連線并顯示信息 

    limit levellone 5 Any2300-0600 /home/ftp/etc/toomanyuser.msg 

    限制levellone這個class的用戶在23:00到6:00這段時間內只能有5人連線 

    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是預設值,包含版本號以及hostname,brief只有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(管理者的E-mail) 

    %R(客戶端主機名稱) 

    %L(本機主機名稱) 

    %U(用戶名稱) 

    %M(與我相同class用戶允許多少人連線) 

    %N(與我相同class用戶目前有多少人連線) 

    %B(絕對磁盤限制大小,目前分區(單位blocks)) 

    %b(preferred磁盤限制大小,目前分區(單位blocks)) 

    %Q(目前已使用的blocks) 

    %I(最大可使用的inodes(+1)) 

    %i(Preferred inodes限制) 

    %q(目前使用的indoes) 

    %H(超量使用磁盤空間的時間限制) 

    %h(超量使用文件數目的時間限制) 

    readme--通知用戶哪些README文件已經更新 

    log commands--記錄用戶所使用過的命令,用法如下: 

    log commands<用戶種類> 

    log transfers--記錄用戶所傳輸的文件,用法如下: 

    log transfers<用戶種類><傳輸方向> 

    設定有哪些類型的用戶傳輸文件需要記錄,包含了inbound(用戶上傳)和outbound(用戶下載),例如: 

    log transfers anonymous,guest inbound,outbound 

    log security--記錄安全性,用法如下: 

    log security<用戶種類> 

    特別用于記錄某類用戶關于noretrive、notar等有關安全性的記錄 

    log syslog--記錄到系統的syslog文件 

    alias--設定目錄別名,用法如下: 

    alias<別名字符串><目錄> 

    cdpath--設定cd更換目錄搜索順序 

    compress,tar--設定是否自動壓縮,用法如下: 

    compress[……] 

    tar[……] 


    共2頁: 1 [2] 下一頁

    原文轉自:http://www.kjueaiud.com

    ...
    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>