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

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

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    Linux下wu-ftpd的配置使用指南

    發布: 2007-7-04 12:06 | 作者: admin | 來源:  網友評論 | 查看: 15次 | 進入軟件測試論壇討論

    領測軟件測試網 Linux下wu-ftpd的配置使用指南

    Linux下一般最常用的ftp工具wu-ftpd.(以前)
    wu-ftpd的安裝非常容易,大多數版本的Linux中都包含了wu-ftpd的rpm軟件包,你可以在安裝Linux時指定裝入。如果你想自行編譯源代碼,也可以到ftp://ftp.wu-ftpd.org下載最新版本的源代碼包。
    安裝好以后,可以用ckconfig命令來檢查是否已經正確安裝。在/etc/passwd中可以指定ftp用戶的登入目錄。
    wu-ftpd主要有以下6個配置文件:
    ftpaccess(主要配置文件,控制存取權限)
    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<分鐘>
    為了避免有人掛在站上不下來,可以用這個方法限制用戶的上線時間,例如:
    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[……]
    定義哪些人可以執行壓縮以及tar
    shutdown--通知用戶要關站了
    shutdown<信息文件>
    如果信息文件存在的話,當這個文件指定的某時間以后,就會拒絕連線并切斷已有的連線,等時間一到就關機。這個信息文件的格式如下:
    <年><月><日><時><分><拒絕倒數><斷線倒數><文字>
    daemon address--指定只監聽某個IP地址,用法如下:
    daemon address
    當你有許多IP的時候,使用這個選項將會取消其它任何虛擬FTP主機的設定。不設定的話,監聽所有IP。
    virtual--設定虛擬FTP站臺
    wu-ftpd提供了虛擬主機的功能,也就是說,在同一臺機器上提供了不同FTP站臺,以主機名稱或IP來區分;當然你要用名稱的話,還需要跟DNS配合才行。virtual有很多個設定:
    virtual
    <路徑>
    可以是主機名或IP地址
    root指的是ftp的根目錄,banner是歡迎信息,logfile指的是這個虛擬站臺的log文件
    以下是一些例子:
    virtual virtual.com.bj root /home/ftp2
    virtual virtual.com.bj banner /etc/vftpbanner.2
    virtual virtual.com.bj logfile /etc/viftplog.2
    virtual
    <字母>
    用戶可以查到hostname跟管理者email,以下是一些例子:
    virtual 210.62.146.50 hostname virtual.site.com.bj
    virtual vritual.site.com.bj email ftpown@virtual.site.com.bj
    virtual
    allow<用戶>[<用戶>……]
    virtual
    deny<用戶>[<用戶>……]
    很明顯,以上兩個選項是設定是否允許連線的,以下是一些例子:
    virtual virtual.site.com.bj allow *
    virtual virtual.site.com.bj deny badman
    virtual
    private
    本虛擬站臺拒絕anonymous用戶
    defaultserver deny <用戶>[<用戶>……]
    defaultserver allow <用戶>[<用戶>……]
    當我們使用了虛擬主機,原先的deny,allow設定不知道要設哪個server,所以會無效,用defaultserver代表原來的主機
    defaultserver private
    主站臺拒絕anonymous用戶
    passive address--轉換IP數值
    passive address<外部IP>/cidr
    passive ports--passive的ports范圍
    passive ports
    pasv-allow--允許使用pasv
    pasv-allow[<地址>……]
    port-allow--允許使用port
    port-allow[<地址>……]
    mailserver--指定Upload通知的mail服務器
    incmail--指定anonymous upload的email通知地址
    virtual incmail--指定虛擬主機anonymous upload的email通知地址
    defaultserver incmail--指定預設主機anonymous upload的email通知地址
    mailfrom--通知的寄信人upload
    virtual mailfrom--虛擬主機upload通知的寄信人
    defaultserver mailfrom--預設主機upload通知的寄信人
    chmod--設定是否可以改變文件權限
    delete--設定是否可以刪除文件
    overwrite--覆蓋文件
    rename--重命名文件
    umask--允許設定umask
    passwd-check--設定anonymous FTP的密碼檢查程度,用法如下:
    passwd-check()
    設定對anonymous ftp用戶的密碼是否檢查,none表示不檢查,trivial為包含@的任意密碼,rfc822則表示密碼要遵循RFC822格式,enforce表示密碼檢查不過不允許進入,warn表示密碼檢查不過只出現警告信息。
    deny=email--拒絕特定的email當密碼
    path-filer--攝定哪些文件名不可使用
    path-filer<錯誤信息文件><允許字符><不允許字符>
    upload--設定upload權限
    upload[absloute/relative][class=]…[-]<設定的目錄> >[dirs/nodirs][d_mode]
    用來對我們要設定的目錄做權限設定:
    absoulte/relative使用絕對路徑或是相對路徑
    class=指定某個class
    root-dir指的是對哪些root-dir的人,也就是chroot后的登入目錄,應用這個規則
    設定的目錄指的就是我們要限制的目錄
    yes/no指得是能否在此目錄下開新文件
    owner,group指出是開出來的文件擁有者及群組
    Mode指的是文件權限
    dirs/nodirs指的是能否開新目錄
    d_mode設定建立新目錄時目錄的權限,如果不設定會根據mode來設定
    thoughput--控制下載速度
    thoughput<子目錄列表><文件><遠端地址列表>
    對遠端的地址,控制他抓某個子目錄下的某些文件時的速度,例如:
    thoughput /e/ftp * * oo - *
    thoughput /e/ftp /sw* * 1024 0.5 *
    thoughput /e/ftp sw* readme oo - *
    thoughput /e/ftp sw* * oo - *.foo.com
    以上的設定你是否能夠看出來呢?“oo”表示不限制bytes/sec,“-”或是“1.0”都是代表一倍。第一行的意思是說,在/e/ftp下面的文件不限制下載速度;第二行說,在/sw*下面的任何文件限速為1024bytes/sec*
    0.5=512bytes/sec;第三行又把readme文件的限速取消;最后一行則對*.foo.com開放全速。
    anonymous-root--對某class設定匿名用戶的根目錄
    anonymous-root[]
    guest-root--預設一個guest用戶根目錄
    guest-root[]
    其中用于指定uid的范圍
    deny-uid,deny-gid--拒絕某段UID(GID)范圍
    allow-uid,allow-gid--允許某段UID(GID)范圍
    restricted-uid,restricted-gid--限制用戶不能離開他的登錄目錄
    unrestricted-uid,unrestricted-gid--用戶可以離開他的登錄目錄
    dns refuse_mismatch--設定DNS查到名稱與用戶設定不符的動作
    dns refuse_mismatch<信息文件>[override]
    當用戶使用未注冊IP時,拒絕他的連線,override則是不理會錯誤而讓他連線,信息文件則是我們要給用戶看的。
    dns refuse_no_reverse--設定無反查記錄拒絕連線
    dns refuse_no_reverse<信息文件>[override]
    當用戶的IP反查無記錄時,拒絕他的連線
    dns resolveoptions--設定DNS解析選項
    dns resolveoptions[options]
    這里可以設定DNS解析選項
    ⒉/etc/ftphosts
    ftphosts文件其實跟ftpaccess里面的access,deny很像,它是特別用來設定某些ID的連線,它沒有class定義,所以必須是真實用戶。
    allow|deny<用戶><地址>[<地址>……]
    以下是一些例子:
    allow rose 140.0.0/8
    deny jack 140.123.0.0:255.255.0.0
    允許rose從140.*.*.*進來,拒絕jack從140.123.*.*上來
    ⒊/etc/ftpservers
    這個文件控制了當你有不同的IP/hostname的時候,進來的連線使用哪一個配置文件。例如:
    10.196.145.10 /etc/ftpd/ftpaccess.somedomain/
    10.196.145.200 /etc/ftpd/ftpaccess.someotherdomain/
    some.domain internal
    10.196.145.20 /etc/ftpd/config/faqs.org/
    ftp.some.domain /etc/ftpd/config/faqs.org/
    ⒋/etc/ftpusers
    在這個文件里記錄的用戶禁止使用FTP
    ⒌/etc/ftpgroups
    給SITE GROUP指令使用,線上切換group。SITE EXEC容易造成安全漏洞,一般我們都不開放。
    ⒍/etc/ftpconversions
    用來做tar、compress、gzip等動作指令配置文件,只要用預設即可,如果你不開放即時壓縮打包,也可以把內容清除

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品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>