<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    backup2007

    導(dǎo)航

    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    統(tǒng)計(jì)

    公告

    @import url(http://www.tkk7.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);


    常用鏈接

    留言簿(1)

    隨筆分類(lèi)

    隨筆檔案

    文章分類(lèi)

    文章檔案

    搜索

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    proftp學(xué)習(xí)筆記-配置全功略

    獻(xiàn)給大家的新年禮物哦 國(guó)內(nèi)關(guān)于proftp設(shè)置的文檔實(shí)在太少,只能看著官方文檔慢慢學(xué)習(xí),特把學(xué)習(xí)經(jīng)驗(yàn)分享給大家,祝大家新年快樂(lè):)

    原文地址:http://www.5ilinux.com/blog/archives/000082.html
    轉(zhuǎn)載請(qǐng)注明出處和署名,并請(qǐng)保持一致


    proftp學(xué)習(xí)筆記(一)
    這幾天,公司終于放假了,終于可以安下心來(lái)好好學(xué)些proftp+mysql+quota。

    安裝proftp之前,必須先做一個(gè)工作,假如你的mysql是自己編譯的,那就必須先修改/etc/ld.so.conf,否則后面運(yùn)行proftp會(huì)報(bào)錯(cuò)。
    vi /etc/ld.so.conf

    添加下面一行:


    代碼:
    /usr/local/mysql/lib/mysql


    注意大家如果mysql的安裝路徑于我不一樣,則填寫(xiě)相應(yīng)的路徑,有關(guān)mysql的編譯安裝請(qǐng)參考《Linux+Apache+Mysql+PHP典型配置》。

    1。下載相關(guān)軟件

    代碼:
    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的磁盤(pán)限額的模塊
    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改成你的系統(tǒng)中此文件所在的路徑,如/usr/local/mysql/include/mysql/mysql.h
    編譯:

    代碼:
    ./configure "
    --prefix=/usr/local/proftpd "
    --with-modules=mod_sql:mod_sql_mysql:mod_quotatab"
    :mod_quotatab_sql "
    --with-includes=/usr/local/mysql/include/mysql "
    --with-libraries=/usr/local/mysql/lib/mysql
    make
    make install


    ok, 現(xiàn)在我們可以來(lái)啟動(dòng)proftp了,只要

    代碼:
    /usr/local/proftpd/sbin/proftpd

    用你的ftp客戶端試驗(yàn)以下,應(yīng)該可以正常登陸,包括匿名和linux用戶名可以。

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

    代碼:
    vi /usr/local/proftpd/etc/proftpd.conf

    添加以下兩行

    代碼:
    AllowRetrieveRestart on
    AllowStoreRestart on


    重新啟動(dòng)以下proftp,就可以正常續(xù)傳文件了。

    創(chuàng)建proftpd腳本

    只要在proftp的源代碼目錄

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


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

    代碼:
    chmod 755 /etc/rc.d/init.d/proftpd

    ok

    以后就可以用這個(gè)教本來(lái)啟動(dòng),停止,重啟proftp

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

    ===================================

    原文地址:http://www.5ilinux.com/blog/archives/000085.html
    轉(zhuǎn)載請(qǐng)注明出處和署名,并請(qǐng)保持一致

    proftp學(xué)習(xí)筆記(二)
    上次我們講了proftp的基本安裝,由于我們后面有關(guān)于mysql和quota的設(shè)置,所以編譯的時(shí)候把相應(yīng)的模塊都編譯進(jìn)去了,如果你不需要mysql和磁盤(pán)限額的功能,完全可以不需要這么編譯。

    這里要講一個(gè)非常實(shí)用的命令,

    代碼:
    /usr/local/proftpd/sbin/ftpshut

    這個(gè)命令還是比較實(shí)用的,因?yàn)槟憧赡苄枰粩嗟恼{(diào)整你的服務(wù)器,而這個(gè)命令就非常靈活,可以在不停止proftpd進(jìn)程的前提下,定時(shí)停止ftp連接,這里將會(huì)詳細(xì)說(shuō)它是怎么使用的。


    代碼:
    ftpshut [ -l min ] [ -d min ] time [ warning-message ... ]



    -l min: 在ftp關(guān)閉服務(wù)之前的幾分鐘內(nèi),嘗試建立新的ftp連接均不被接受
    -d min: 在ftp關(guān)閉服務(wù)之前的幾分鐘內(nèi),已經(jīng)建立的ftp連接將被中止
    time: 在多少時(shí)間后,服務(wù)器將關(guān)閉ftp服務(wù),格式有兩種
    +number 經(jīng)過(guò)number分鐘后關(guān)閉
    MMHH 在今天MM:HH服務(wù)器將關(guān)閉

    注意,這里我們用這個(gè)命令是把ftp服務(wù)給停了,但實(shí)際的proftpd進(jìn)程還沒(méi)停止,所以一般調(diào)試ftp會(huì)使用到這個(gè)命令。

    舉例:
    再經(jīng)過(guò)30分鐘后,F(xiàn)TP服務(wù)將關(guān)閉,在這之前的20分鐘不可接受任何新的ftp連接,已經(jīng)建立的在服務(wù)關(guān)閉前10分鐘強(qiáng)制斷線,并在客戶端顯示“FTP Server Will shutdown at time”


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


    其實(shí)ftpshut就是產(chǎn)生/etc/shutmsg ,你只要?jiǎng)h除這個(gè)文件ftp又可以重新服務(wù),或者
    直接


    代碼:
    ftpshut -R


    好了,開(kāi)始講一些proftpd的基本配置吧,其實(shí)大家如果熟悉apache的配置的話,你會(huì)發(fā)現(xiàn)proftpd的設(shè)置基本都是類(lèi)似的,它的配置基本格式是

    代碼:
    #全局設(shè)置
    設(shè)置項(xiàng)目1 參數(shù)1
    設(shè)置項(xiàng)目2 參數(shù)2

    #某個(gè)目錄的設(shè)置
    <Directory "路徑名">
    ...
    ...
    </Directory>

    #關(guān)于匿名用戶的設(shè)置
    <Anonymous "匿名登陸的目錄">
    ...
    ...
    <Limit 限制動(dòng)作>
    ...
    ...
    </Limit>
    </Anonymous>



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

    代碼:
    CMD:Change Working Directory 改變目錄
    MKD:MaKe Directory 建立目錄的權(quán)限
    RNFR: ReName FRom 更改目錄名的權(quán)限
    DELE:DELEte 刪除文件的權(quán)限
    RMD:ReMove Directory 刪除目錄的權(quán)限
    RETR:RETRieve 從服務(wù)端下載到客戶端的權(quán)限
    STOR:STORe 從客戶端上傳到服務(wù)端的權(quán)限
    READ:可讀的權(quán)限,不包括列目錄的權(quán)限,相當(dāng)于RETR,STAT等
    WRITE:寫(xiě)文件或者目錄的權(quán)限,包括MKD和RMD
    DIRS:是否允許列目錄,相當(dāng)于LIST,NLST等權(quán)限,還是比較實(shí)用的
    ALL:所有權(quán)限
    LOGIN:是否允許登陸的權(quán)限



    針對(duì)上面這個(gè)Limit所應(yīng)用的對(duì)象,又包括以下范圍
    代碼:
    AllowUser 針對(duì)某個(gè)用戶允許的Limit
    DenyUser 針對(duì)某個(gè)用戶禁止的Limit
    AllowGroup 針對(duì)某個(gè)用戶組允許的Limit
    DenyGroup 針對(duì)某個(gè)用戶組禁止的Limit
    AllowAll 針對(duì)所有用戶組允許的Limit
    DenyAll 針對(duì)所有用戶禁止的Limit



    關(guān)于限制速率的參數(shù)為:
    代碼:
    TransferRate STOR|RETR 速度(Kbytes/s) user 使用者


    下面我們以例子來(lái)解說(shuō)proftp的配置,這樣大家可能更加容易理解。

    1。ftp服務(wù)器支持?jǐn)帱c(diǎn)續(xù)傳,且最大支持同時(shí)10人在線,每個(gè)ip只允許一個(gè)連接;
    2。允許ftpusers用戶組只能訪問(wèn)自己的目錄,而不能訪問(wèn)上級(jí)或者其他目錄;
    3。用戶登陸服務(wù)器時(shí)不顯示ftp服務(wù)器版本信息,以增加安全性;
    4。建立一個(gè)kaoyan的ftp帳戶,屬于ftpusers組,kaoyan用戶只允許下載,沒(méi)有可寫(xiě)的權(quán)限。下載速率限制在50Kbytes/s。
    5。建立一個(gè)upload用戶,也屬于ftpusers組,同kaoyan用戶的宿主目錄一樣,允許upload用戶上傳文件和創(chuàng)建目錄的權(quán)限,但不允許下載,并且不允許刪除目錄和文件的權(quán)限,上傳的速率控制在100Kbytes/s

    先是前期的用戶和組添加以及目錄的權(quán)限設(shè)置

    代碼:
    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組的用戶訪問(wèn),可以設(shè)置成770都行。
    設(shè)置/usr/local/proftpd/etc/proftpd.conf

    注意#表示注釋?zhuān)瑢?duì)設(shè)置沒(méi)影響,可以不寫(xiě)

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

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



    我這里實(shí)現(xiàn)的方式還可以通過(guò)


    代碼:
    <Anonymous ~kaoyan>

    ...

    ...

    </Anonymous>

    <><Anonymous ~upload>

    ...

    ...

    </Anonymous>


    而且更加靈活,具體用那種方式,看大家了,我只是給大家入個(gè)門(mén)而已

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

    ======================================

    原文地址:http://www.5ilinux.com/blog/archives/000088.html
    轉(zhuǎn)載請(qǐng)注明出處和署名,并請(qǐng)保持一致

    proftp學(xué)習(xí)筆記(三)
    前面的兩個(gè)筆記,我想大家對(duì)proftp的設(shè)置應(yīng)該有些認(rèn)識(shí),是不是跟apache的配置差不多吧。我想配置過(guò)Serv_U服務(wù)器的,再稍微看一下proftp的配置規(guī)則,應(yīng)該能馬上能配置出一個(gè)強(qiáng)大的proftp服務(wù)器。

    這里我們?cè)僦v一些proftp的其他參數(shù)配置:

    MaxHostsPerUser 1 "對(duì)不起,每個(gè)帳戶最多允許來(lái)源ip為1個(gè)"
    #MaxHostsPerUser 對(duì)防止ftp帳號(hào)還是比較有用的。

    MaxClientsPerUser 1 "對(duì)不起,每個(gè)帳戶在每個(gè)客戶端最多可以同時(shí)登陸1次"
    #這個(gè)參數(shù)可以防止多線程軟件下載對(duì)服務(wù)器的破壞

    MaxClientsPerHost 1 "對(duì)不起,同一個(gè)客戶端只能最多1個(gè)帳號(hào)可以登陸"
    #比如ftp服務(wù)端有好多帳戶你都有,但也只能用1個(gè)帳號(hào)登陸

    呵呵,這三個(gè)Max參數(shù)比較容易搞暈,大家可要搞清他們的含義哦:)

    WtmpLog on
    #是否要把ftp記錄在日志中,如果不想可以設(shè)置成off屏蔽掉log日志。

    TimeoutIdle 600
    #客戶端idel時(shí)間設(shè)置,默認(rèn)就是600秒

    DisplayLogin welcome.msg
    #設(shè)置ftp登陸歡迎信息文件

    關(guān)于歡迎文件的設(shè)置包含如下參數(shù)


    代碼:
    %T 目前的時(shí)間

    %F 所在硬盤(pán)剩下的容量

    %C 目前所在的目錄

    %R Client 端的主機(jī)名稱(chēng)

    %L Server 端的主機(jī)名稱(chēng)

    %U 使用者帳戶名稱(chēng)

    %M 最大允許連接人數(shù)

    %N 目前的服務(wù)器連接人數(shù)

    %E FTP服務(wù)器管理員的 email

    %i 本次上傳的文件數(shù)量

    %o 本次下載的文件數(shù)量

    %t 本次上傳+下載的文件數(shù)量


    知道這些參數(shù),我們就可以寫(xiě)出一個(gè)友好的歡迎語(yǔ)

    vi /home/kaoyan/welcome.msg

    代碼:
    歡迎您%U, 這是Frank的測(cè)試FTP服務(wù)器;
    目前時(shí)間是:%T;
    本服務(wù)器最多允許%M個(gè)用戶連接數(shù);
    目前服務(wù)器上已有%N個(gè)用戶連接數(shù);
    目前你所在的目錄是%C;
    目錄所在的硬盤(pán)還剩下%F字節(jié)。


    讓proftp支持現(xiàn)在流行的FXP傳輸方式,默認(rèn)是不支持的。
    只要在服務(wù)端設(shè)置


    代碼:
    AllowForeignAddress on

    PassivePorts 49152 65534 #端口也可自己指定喜歡的


    千萬(wàn)別忘了在客戶端也要設(shè)置成支持FXP哦,否則想我試驗(yàn)了好幾次,一直以為服務(wù)器沒(méi)設(shè)置好,其實(shí)就是客戶端沒(méi)設(shè)置,呵呵。


    如何讓root能登陸,默認(rèn)proftp是不支持root登陸,我們可以設(shè)置讓root也能登陸ftp,不過(guò)我在這里還是建議大家最好不要讓root能登陸ftp,設(shè)置如下

    代碼:
    RootLogin on
    同時(shí)要修改 /etc/ftpusers  在root前加#注釋掉
    如何禁止某個(gè)地址訪問(wèn)ftp
    比如禁止10.1.1網(wǎng)段的機(jī)器訪問(wèn)ftp,可以這么設(shè)置


    代碼:
    <Limit LOGIN>
    Order deny,allow
    Deny from 10.1.1.
    Allow from all
    </Limit>



    虛擬ftp的建立,一般用于一臺(tái)ftp服務(wù)器有好多ip地址,或者ftp用不同的端口,基本設(shè)置語(yǔ)法是:

    比如我們要做一個(gè)端口是5555的ftp服務(wù)器:

    代碼:
    <VirtualHost 210.51.0.124>
    ServerName "Frank FTP Server"
    Port 5555
    ...
    <Directory 目錄>
    ...
    <Limit 動(dòng)作>
    ...
    </Limit>
    ...
    </Directory>
    </VirtualHost>


    至于虛擬主機(jī)中的其他設(shè)置跟我以前講的基本差不多

    上傳/下載比率設(shè)置,我想用過(guò)Serv_U的朋友一定知道這個(gè)功能的使用,我們這里讓proftp也實(shí)現(xiàn)這個(gè)功能。
    要實(shí)現(xiàn)功能注意編譯的時(shí)候加入ratio模塊,否則proftp默認(rèn)是不支持,假設(shè)有個(gè)帳戶ftp1的ftp目錄在/home/kaoyan ,然后我們?cè)O(shè)置ftp1的上傳/下載比率是1:2(即上傳1M,就可以下載2M)

    代碼:
    touch /home/kaoyan/ratio.dat
    touch /home/kaoyan/ratio.tmp
    chmod -R 666 /home/kaoyan

    在proftpd.conf設(shè)置如下


    代碼:
    Ratios on
    SaveRatios on
    RatioFile /home/kaoyan/ratio.dat
    RatioTempFile /home/kaoyan/ratio.tmp


    在相應(yīng)的設(shè)置項(xiàng)里添加

    代碼:
    UserRatio ftp1 0 0 2 1000
    #UserRatio "使用者帳戶" fileratio filequota byteratio bytequota
    #  fileratio :以文件為基礎(chǔ)的比率,通常不限制,故為 0
    #  filequota :預(yù)設(shè)置能下載多少文件,不限制時(shí)為 0
    #  byteratio :就是上傳/下載的比例,如果數(shù)字為2,表示1:2
    #  bytequota :預(yù)設(shè)置能下載多少 KBytes 的文件
    #上面設(shè)置的就是1:2的比率,默認(rèn)只允許下載1M的文件


    ok,重啟一下,以后ftp1就可以啟用上傳/下載比率了

    =======================================

    原文地址:http://www.5ilinux.com/blog/archives/000091.html
    轉(zhuǎn)載請(qǐng)注明出處和署名,并請(qǐng)保持一致


    proftp學(xué)習(xí)筆記(四)
    今天我們講proftp+mysql+quota的應(yīng)用,我想大家最期待的就是這個(gè)了吧

    1.首先我們建立相應(yīng)的用戶和用戶組

    代碼:
    groupadd -g 5500 ftpgroup
    adduser -u 5500 -s /bin/false -d /bin/null -c "proftpd user" -g ftpgroup ftpuser

    2.操作數(shù)據(jù)庫(kù)

    代碼:
    mysql mysql -uroot -ppassword
    create database ftpdb
    grant select, update on ftpdb.* to proftpd@localhost identified by 'password'
    use ftpdb


    CREATE TABLE `ftpgroup` (
    `groupname` varchar(16) NOT NULL default '',
    `gid` smallint(6) NOT NULL default '5500',
    `members` varchar(16) NOT NULL default '',
    KEY `groupname` (`groupname`)
    ) TYPE=MyISAM COMMENT='ProFTP group table';

    INSERT INTO `ftpgroup` VALUES ('ftpgroup', 5500, 'ftpuser');

    CREATE TABLE `ftpquotalimits` (
    `name` varchar(30) default NULL,
    `quota_type` enum('user','group','class','all') NOT NULL default 'user',
    `per_session` enum('false','true') NOT NULL default 'false',
    `limit_type` enum('soft','hard') NOT NULL default 'soft',
    `bytes_in_avail` float NOT NULL default '0',
    `bytes_out_avail` float NOT NULL default '0',
    `bytes_xfer_avail` float NOT NULL default '0',
    `files_in_avail` int(10) unsigned NOT NULL default '0',
    `files_out_avail` int(10) unsigned NOT NULL default '0',
    `files_xfer_avail` int(10) unsigned NOT NULL default '0'
    ) TYPE=MyISAM;

    CREATE TABLE `ftpquotatallies` (
    `name` varchar(30) NOT NULL default '',
    `quota_type` enum('user','group','class','all') NOT NULL default 'user',
    `bytes_in_used` float NOT NULL default '0',
    `bytes_out_used` float NOT NULL default '0',
    `bytes_xfer_used` float NOT NULL default '0',
    `files_in_used` int(10) unsigned NOT NULL default '0',
    `files_out_used` int(10) unsigned NOT NULL default '0',
    `files_xfer_used` int(10) unsigned NOT NULL default '0'
    ) TYPE=MyISAM;

    CREATE TABLE `ftpuser` (
    `id` int(10) unsigned NOT NULL auto_increment,
    `userid` varchar(32) NOT NULL default '',
    `passwd` varchar(32) NOT NULL default '',
    `uid` smallint(6) NOT NULL default '5500',
    `gid` smallint(6) NOT NULL default '5500',
    `homedir` varchar(255) NOT NULL default '',
    `shell` varchar(16) NOT NULL default '/sbin/nologin',
    `count` int(11) NOT NULL default '0',
    `accessed` datetime NOT NULL default '0000-00-00 00:00:00',
    `modified` datetime NOT NULL default '0000-00-00 00:00:00',
    PRIMARY KEY (`id`)
    ) TYPE=MyISAM COMMENT='ProFTP user table';



    注意這里大家根據(jù)實(shí)際情況填寫(xiě)自己數(shù)據(jù)庫(kù)的用戶名和密碼,如果大家對(duì)數(shù)據(jù)庫(kù)操作不熟悉的話,不妨可以用phpmyadmin來(lái)操作。

    3.配置proftp文件

    代碼:
    ServerName "Frank's FTP Server" ServerType standalone DefaultServer on
    Port 21

    Umask 022

    MaxInstances 30
    MaxLoginAttempts 3

    User nobody
    Group nobody

    MaxHostsPerUser 1 "Sorry, you may not connect more than one time."
    MaxClientsPerUser 2 "Only one such user at a time."
    MaxClientsPerHost 3 "Sorry, you may not connect more than one time."

    RootLogin off
    RequireValidShell off
    TimeoutStalled 10
    MaxClients 10
    AllowForeignAddress on
    AllowStoreRestart on
    ServerIdent off
    DefaultRoot ~ ftpgroup

    SQLAuthTypes Backend Plaintext
    #Backend表示用戶認(rèn)證方式為MySQL數(shù)據(jù)庫(kù)的認(rèn)證方式
    #Plaintext表示明文認(rèn)證方式,排在最前面的為最先使用的方式
    SQLAuthenticate users* groups*

    # databasename@host database_user user_password
    SQLConnectInfo ftpdb@localhost proftpd password
    SQLUserInfo ftpuser userid passwd uid gid homedir shell
    SQLGroupInfo ftpgroup groupname gid members
    SQLHomedirOnDemand on
    #如果用戶主目錄不存在,則系統(tǒng)會(huì)根據(jù)此用戶在用戶數(shù)據(jù)表中的homedir字段的值新建一個(gè)目錄
    # Update count every time user logs in
    SQLLog PASS updatecount
    SQLNamedQuery updatecount UPDATE "count=count+1,accessed=now() WHERE userid='%u'" ftpuser
    # Update modified everytime user uploads or deletes a file
    SQLLog STOR,DELE modified
    SQLNamedQuery modified UPDATE "modified=now() WHERE userid='%u'" ftpuser

    QuotaEngine on
    QuotaDirectoryTally on
    QuotaDisplayUnits Mb
    QuotaShowQuotas on
    QuotaLog "/var/log/quota"
    SQLNamedQuery get-quota-limit SELECT "name, quota_type, per_session, limit_type, bytes_in_avail, bytes_out_avai
    l, bytes_xfer_avail, files_in_avail, files_out_avail, files_xfer_avail FROM ftpquotalimits WHERE name = '%{0}'
    AND quota_type = '%{1}'"

    SQLNamedQuery get-quota-tally SELECT "name, quota_type, bytes_in_used, bytes_out_used, bytes_xfer_used, files_i
    n_used, files_out_used, files_xfer_used FROM ftpquotatallies WHERE name = '%{0}' AND quota_type = '%{1}'"

    SQLNamedQuery update-quota-tally UPDATE "bytes_in_used = bytes_in_used + %{0}, bytes_out_used = bytes_out_used
    + %{1}, bytes_xfer_used = bytes_xfer_used + %{2}, files_in_used = files_in_used + %{3}, files_out_used = files_
    out_used + %{4}, files_xfer_used = files_xfer_used + %{5} WHERE name = '%{6}' AND quota_type = '%{7}'" ftpquota
    tallies

    SQLNamedQuery insert-quota-tally INSERT "%{0}, %{1}, %{2}, %{3}, %{4}, %{5}, %{6}, %{7}" ftpquotatallies

    QuotaLimitTable sql:/get-quota-limit
    QuotaTallyTable sql:/get-quota-tally/update-quota-tally/insert-quota-tally




    ok,就這么簡(jiǎn)單,重啟一下proftp服務(wù)就已經(jīng)能使用proftp+mysql+quota的功能

    我們可以在數(shù)據(jù)庫(kù)ftpuser添加一個(gè)虛擬用戶,

    代碼:
    INSERT INTO `ftpuser` VALUES (1, 'test', 'ftppasswd', 5500, 5500, '/home/test', '/sbin/nologin');

    大家可以在phpmyadmin里直接操作添加一個(gè)用戶,相信不用我教大家怎么添加吧:)

    如果你想設(shè)置quota,只要在ftpquotalimits表里設(shè)置一下就行了,這個(gè)表里的各個(gè)參數(shù)分別代表:

    代碼:
    quotalimits表
    name: - 用戶帳號(hào)
    quota type: - user, group, class, all (we use user)
    per_session: - true or false (we use true)
    limit_type: - 硬限制 or 軟限制 (我們一般用硬限制)
    bytes_in_avail: - 允許上傳的字節(jié)數(shù)
    bytes_out_avail: - 允許下載的字節(jié)數(shù)
    bytes_xfer_avail: - 允許傳輸?shù)淖止?jié)數(shù)(包括上傳/下載)
    files_in_avail: - 允許上傳的文件數(shù)
    files_out_avail: - 允許下載的文件數(shù)
    files_xfer_avail: - 允許傳輸?shù)奈募?shù)(包括上傳/下載)



    老實(shí)說(shuō)用mysql和quota模塊來(lái)驗(yàn)證用戶和設(shè)置磁盤(pán)限額,但我總覺(jué)得還是不夠完善,因?yàn)樵谶@個(gè)方法中,數(shù)據(jù)庫(kù)表里還沒(méi)有相應(yīng)的權(quán)限的字段,所以說(shuō)相 應(yīng)用戶的權(quán)限還是得用實(shí)際得用戶即mysql對(duì)應(yīng)得uid和gid來(lái)控制權(quán)限,那天要是mysql數(shù)據(jù)庫(kù)也能完全控制權(quán)限就好了。


    這個(gè)春節(jié)一直在學(xué)習(xí)proftp,終于可以松口氣了,希望我的學(xué)習(xí)筆記可以對(duì)一些想學(xué)習(xí)proftp的朋友有所幫助,請(qǐng)多交流

    posted on 2007-09-23 18:41 backup2007 閱讀(314) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): 日常應(yīng)用CentOS Study

    主站蜘蛛池模板: 九一在线完整视频免费观看| 午夜免费不卡毛片完整版| 亚洲国产成人久久一区二区三区| 国产亚洲一区二区精品| 国产99视频免费精品是看6| 91免费播放人人爽人人快乐| 中文字幕乱码免费看电影| 特级av毛片免费观看| 亚洲日本VA午夜在线电影| 亚洲精品一区二区三区四区乱码| 亚洲性日韩精品国产一区二区| 日韩在线天堂免费观看| 全免费毛片在线播放| 91九色老熟女免费资源站| 免费黄网站在线看| a级日本高清免费看| 中文字幕免费在线看电影大全 | 亚洲欧美日韩国产成人| 亚洲免费一级视频| 亚洲高清不卡视频| 老司机亚洲精品影院| 亚洲成人动漫在线| 亚洲av伊人久久综合密臀性色| 在线观看亚洲天天一三视| 亚洲片国产一区一级在线观看| 亚洲AⅤ无码一区二区三区在线| 国产免费怕怕免费视频观看| 免费高清小黄站在线观看| 好吊妞在线成人免费| 成人毛片免费观看视频大全| 国产精品成人免费一区二区| 手机在线看永久av片免费| 亚洲中文无码永久免费| 日本精品人妻无码免费大全| 最近中文字幕无免费视频| 一个人免费观看www视频在线| 免费电影在线观看网站| 好吊妞在线成人免费| 四虎AV永久在线精品免费观看| 免费播放特黄特色毛片| 最新精品亚洲成a人在线观看|