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

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

  • <strong id="5koa6"></strong>
  • 轉proftpd設置

    發表于:2007-07-04來源:作者:點擊數: 標簽:
    http://www.5ilinux.com/blog/archives/000091.html 轉載地址 proftpd學習筆記(一) 這幾天,公司終于放假了,終于可以安下心來好好學些proftp+mysql+quota。 安裝proftp之前,必須先做一個工作,假如你的mysql是自己編譯的,那就必須先修改/etc/ld.so.conf

    http://www.5ilinux.com/blog/archives/000091.html

    轉載地址

    proftpd學習筆記(一)

    這幾天,公司終于放假了,終于可以安下心來好好學些proftp+mysql+quota。

    安裝proftp之前,必須先做一個工作,假如你的mysql是自己編譯的,那就必須先修改/etc/ld.so.conf,否則后面運行proftp會報錯。
    vi /etc/ld.so.conf

    添加下面一行:

    /usr/local/mysql/lib/mysql

    注意大家如果mysql的安裝路徑于我不一樣,則填寫相應的路徑,有關mysql的編譯安裝請參考《Linux+Apache+Mysql+PHP典型配置》。

    1。下載相關軟件

    wget ftp://ftp.proftpd.org/distrib/source/proftpd-1.2.9.tar.gz
    下載proftp的最新版本1.2.9
    wget http://www.castaglia.org/proftpd/modules/proftpd-mod-quotatab-1.2.11.tar.gz
    這是配合proftp的磁盤限額的模塊

    2。解壓編譯

    tar zvxf proftpd-1.2.9.tar.gz

    tar zvxf proftpd-mod-quotatab-1.2.11.tar.gz

    cp mod_quotatab/*.c proftpd-1.2.9/contrib/

    cp mod_quotatab/*.h proftpd-1.2.9/contrib/

    vi proftpd-1.2.9/contrib/mod_sql_mysql.c
    找到#include 這一行,將mysql.h改成你的系統中此文件所在的路徑,如/usr/local/mysql/include/mysql/mysql.h

    編譯:

    ./configure \
    --prefix=/usr/local/proftpd \
    --with-modules=mod_sql:mod_sql_mysql:mod_quotatab\
    :mod_quotatab_sql:mod_ratio \
    --with-includes=/usr/local/mysql/include/mysql \
    --with-libraries=/usr/local/mysql/lib/mysql
    make

    make install

    這里我們編譯的時候已經加進了mysql,quota,ratio等模塊的支持,我會在后面講他們的應用

    ok, 現在我們可以來啟動proftp了,只要

    /usr/local/proftpd/sbin/proftpd

    用你的ftp客戶端試驗以下,應該可以正常登陸,包括匿名和linux用戶名可以。

    其實默認的proftp滿足日常的服務器管理用還是綽綽有余的,有個地方還是要修改一下,就是默認proftp的配置文件不支持ftp續傳,所以我們只要

    vi /usr/local/proftpd/etc/proftpd.conf

    添加以下兩行

    AllowRetrieveRestart on
    AllowStoreRestart on

    重新啟動以下proftp,就可以正常續傳文件了。

    創建proftpd腳本

    只要在proftp的源代碼目錄

    cp proftpd-1.2.9/contrib/dist/rpm/proftpd.init.d /etc/rc.d/init.d/proftpd

    記得修改proftpd文件,一般要修改proftpd的實際路徑

    chmod 755 /etc/rc.d/init.d/proftpd

    ok

    以后就可以用這個教本來啟動,停止,重啟proftp

    呵呵,今天就講這些,明天講些proftp的一些基礎配置:)

    proftpd學習筆記(二)

    上次我們講了proftp的基本安裝,由于我們后面有關于mysql和quota的設置,所以編譯的時候把相應的模塊都編譯進去了,如果你不需要mysql和磁盤限額的功能,完全可以不需要這么編譯。

    這里要講一個非常實用的命令,

    /usr/local/proftpd/sbin/ftpshut

    這個命令還是比較實用的,因為你可能需要不斷的調整你的服務器,而這個命令就非常靈活,可以在不停止proftpd進程的前提下,定時停止ftp連接,這里將會詳細說它是怎么使用的。

    ftpshut [ -l min ] [ -d min ] time [ warning-message ... ]

    -l min: 在ftp關閉服務之前的幾分鐘內,嘗試建立新的ftp連接均不被接受
    -d min: 在ftp關閉服務之前的幾分鐘內,已經建立的ftp連接將被中止
    time: 在多少時間后,服務器將關閉ftp服務,格式有兩種
    +number 經過number分鐘后關閉
    MMHH 在今天MM:HH服務器將關閉

    注意,這里我們用這個命令是把ftp服務給停了,但實際的proftpd進程還沒停止,所以一般調試ftp會使用到這個命令。

    舉例:
    再經過30分鐘后,FTP服務將關閉,在這之前的20分鐘不可接受任何新的ftp連接,已經建立的在服務關閉前10分鐘強制斷線,并在客戶端顯示“FTP Server Will shutdown at time”

    ftpshut -l 20 -d 10 +30 "FTP Server Will shutdown at time"

    其實ftpshut就是產生/etc/shutmsg ,你只要刪除這個文件ftp又可以重新服務,或者
    直接

    ftpshut -R

    好了,開始講一些proftpd的基本配置吧,其實大家如果熟悉apache的配置的話,你會發現proftpd的設置基本都是類似的,它的配置基本格式是

    #全局設置
    設置項目1 參數1
    設置項目2 參數2

    #某個目錄的設置
    <Directory "路徑名">
    ...
    ...
    </Directory>

    #關于匿名用戶的設置
    <Anonymous "匿名登陸的目錄">
    ...
    ...
    <Limit 限制動作>
    ...
    ...
    </Limit>
    </Anonymous>

    我們用到的比較多的可能是Limit的使用,Limit大致有以下動作,基本能覆蓋全部的權限了,大家靈活使用就是了。

    CMD:Change Working Directory 改變目錄
    MKD:MaKe Directory 建立目錄的權限
    RNFR: ReName FRom 更改目錄名的權限
    DELE:DELEte 刪除文件的權限
    RMD:ReMove Directory 刪除目錄的權限
    RETR:RETRieve 從服務端下載到客戶端的權限
    STOR:STORe 從客戶端上傳到服務端的權限
    READ:可讀的權限,不包括列目錄的權限,相當于RETR,STAT等
    WRITE:寫文件或者目錄的權限,包括MKD和RMD
    DIRS:是否允許列目錄,相當于LIST,NLST等權限,還是比較實用的
    ALL:所有權限
    LOGIN:是否允許登陸的權限
    針對上面這個Limit所應用的對象,又包括以下范圍
    AllowUser 針對某個用戶允許的Limit
    DenyUser 針對某個用戶禁止的Limit
    AllowGroup 針對某個用戶組允許的Limit
    DenyGroup 針對某個用戶組禁止的Limit
    AllowAll 針對所有用戶組允許的Limit
    DenyAll 針對所有用戶禁止的Limit
    關于限制速率的參數為:
    TransferRate STOR|RETR 速度(Kbytes/s) user 使用者


    下面我們以例子來解說proftp的配置,這樣大家可能更加容易理解。

    1。ftp服務器支持斷點續傳,且最大支持同時10人在線,每個ip只允許一個連接;
    2。允許ftpusers用戶組只能訪問自己的目錄,而不能訪問上級或者其他目錄;
    3。用戶登陸服務器時不顯示ftp服務器版本信息,以增加安全性;
    4。建立一個kaoyan的ftp帳戶,屬于ftpusers組,kaoyan用戶只允許下載,沒有可寫的權限。下載速率限制在50Kbytes/s。
    5。建立一個upload用戶,也屬于ftpusers組,同kaoyan用戶的宿主目錄一樣,允許upload用戶上傳文件和創建目錄的權限,但不允許下載,并且不允許刪除目錄和文件的權限,上傳的速率控制在100Kbytes/s

    先是前期的用戶和組添加以及目錄的權限設置

    group add ftpusers
    useradd -d /home/kaoyan -g ftpusers -s /bin/fales kaoyan
    useradd -d /home/kaoyan -g ftpusers -s /bin/fales upload
    chown -R kaoyan:upload /home/kaoyan
    chmod -R 775 /home/kaoyan

    如果你只想ftpusers組的用戶訪問,可以設置成770都行。
    設置/usr/local/proftpd/etc/proftpd.conf

    注意#表示注釋,對設置沒影響,可以不寫

    ServerName "Frank's FTP Server"
    ServerType standalone
    DefaultServer on
    Port 21
    Umask 022
    MaxInstances 30 #最多有30個proftpd的PID
    User nobody
    Group nobody
    TimeoutStalled 10
    MaxClients 10 #最多允許10個用戶在線
    MaxClientsPerHost 1 "對不起,一個IP只允許一個連接"
    AllowStoreRestart on
    #允許斷點續傳(上傳),斷點續續(下載)是默認支持的,不用設置
    DisplayLogin welcome.msg #歡迎詞文件
    ServerIdent off #屏蔽服務器版本信息
    DefaultRoot ~ ftpusers #設置ftpusers組只能訪問自己的目錄

    <Directory />
    AllowOverwrite on
    </Directory>
    <Directory /home/kaoyan>
    <Limit WRITE> #不允許寫
    DenyUser kaoyan
    </Limit>
    <Limit RMD RNFR DELE RETR> #不允許刪除,改名,下載
    DenyUser upload
    </Limit>
    TransferRate RETR 50 user kaoyan
    TransferRate STOR 100 user upload
    </Directory>


    我這里實現的方式還可以通過

    <Anonymous ~kaoyan>

    ...

    ...

    </Anonymous>

    <><Anonymous ~upload>

    ...

    ...

    </Anonymous>

    而且更加靈活,具體用那種方式,看大家了,我只是給大家入個門而已

    好了,今天就講到這里,明天繼續講一些proftp的其他配置

    相關文章:
    proftpd學習筆記(一)
    proftpd學習筆記(三)
    proftpd學習筆記(四)

    frank發表 于January 21, 2004 01:22 PM | 回復(10) | 引用(0)

    原文轉自: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>