手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网站运营>建站经验>列表

ProFTP配置文档

来源:互联网 作者:west263.com 时间:2008-04-16
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!


首先,还是编辑proftpd文档

#磁盘限额部分
QuotaDirectoryTally on

#磁盘限额单位 b"|"Kb"|"Mb"|"Gb"
QuotaDisplayUnits "Kb"

QuotaEngine on

#磁盘限额日志记录
QuotaLog "您的LOG路径"

# 打开磁盘限额信息,当登陆FTP帐户后,使用命令 "quote SITE QUOTA" 后可显示当前用户的磁盘限额
QuotaShowQuotas on

#以下是SQL调用语句,不用修改直接拷贝过去

SQLNamedQuery get-quota-limit SELECT "name, quota_type, per_session, limit_type, bytes_in_avail, \
bytes_out_avail, bytes_xfer_avail, files_in_avail, files_out_avail, files_xfer_avail FROM quotalimits \
WHERE name = '%' AND quota_type = '%'"

SQLNamedQuery get-quota-tally SELECT "name, quota_type, bytes_in_used, bytes_out_used, \
bytes_xfer_used, files_in_used, files_out_used, files_xfer_used FROM quotatallies \
WHERE name = '%' AND quota_type = '%'"

SQLNamedQuery update-quota-tally UPDATE "bytes_in_used = bytes_in_used %, \
bytes_out_used = bytes_out_used %, bytes_xfer_used = bytes_xfer_used %, \
files_in_used = files_in_used %, files_out_used = files_out_used %, \
files_xfer_used = files_xfer_used % \
WHERE name = '%' AND quota_type = '%'" quotatallies

SQLNamedQuery insert-quota-tally INSERT "%, %, %, %, %, %, %, %" quotatallies

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

然后建立mysql 数据表
CREATE TABLE quotalimits (
name VARCHAR(30),
quota_type ENUM("user", "group", "class", "all") NOT NULL,
per_session ENUM("false", "true") NOT NULL,
limit_type ENUM("soft", "hard") NOT NULL,
bytes_in_avail FLOAT NOT NULL,
bytes_out_avail FLOAT NOT NULL,
bytes_xfer_avail FLOAT NOT NULL,
files_in_avail INT UNSIGNED NOT NULL,
files_out_avail INT UNSIGNED NOT NULL,
files_xfer_avail INT UNSIGNED NOT NULL
);

CREATE TABLE quotatallies (
name VARCHAR(30) NOT NULL,
quota_type ENUM("user", "group", "class", "all") NOT NULL,
bytes_in_used FLOAT NOT NULL,
bytes_out_used FLOAT NOT NULL,
bytes_xfer_used FLOAT NOT NULL,
files_in_used INT UNSIGNED NOT NULL,
files_out_used INT UNSIGNED NOT NULL,
files_xfer_used INT UNSIGNED NOT NULL
);

说明一下,quotatallies表无需作修改,他记录了用户当前的磁盘使用情况,由程式自动记录
要注意的是quotalimits 表中一些字段的含意
quota_type 磁盘限额的鉴别,能够配置单各用户,也能够配置一各组中的全部用户,还能够配置全部用户
bytes_in_avail 上传最大字节数,就是FTP用户空间容量 (配置个字段的时候是以byte(字节)为单位,假如要限额在10M,那就是10240000,下面也相同)
bytes_out_avail 下载最大字节数,需要注意的是,这个字段中记录的是用户总共能从服务器上下载多少数据,数据是累计的。
bytes_xfer_avail 总共可传输的文档的最大字节数(上传和下载流量)需要注意的是,这个字段中记录的是用户总共能传输文档的最大字节数,数据是累计的。
files_in_avail INT 总共能上传文档的数目
files_out_avail INT 能从服务器上下载文档的总数目
files_xfer_avail INT 总共可传输文档的数目(上传和下载)

好了,开始使用磁盘限额,我们要将上面建立的user1帐号给予10M空间,最多能上传500个文档到服务器上,文档传输流量为20M,只能传输10个文档。只要在MYSQL中
插入
INSERT INTO `quotalimits` ( `name` , `quota_type` , `per_session` , `limit_type` , `bytes_in_avail` , `bytes_out_avail` , `bytes_xfer_avail` , `files_in_avail` , `files_out_avail` , `files_xfer_avail` )
VALUES ('user1', 'user', 'false', 'soft', '10240000', '0', '2048000', '500', '0', '10');
就能够了,无需配置的部分用0代替就能够了
现在运行proftpd,登陆到user1 ,使用quote SITE QUOTA 就会显示user1用户的磁盘使用情况

ftp> quote SITE QUOTA
200-The current quota for this session are [current/limit]:
Name: user1
Quota Type: User
Per Session: False
Limit Type: Soft
Uploaded Kb: 0.00/10000.00
Downloaded Kb: unlimited
Transferred Kb: 0.00/2000.00
Uploaded files: 0/500
Downloaded files: unlimited
Transferred files: 0/10
200 Please contact root@localhost if these entries are inaccurate

OK,安装完毕

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!