Linux中国 Linux中国门户站!
设为主页 设为主页
收藏本站 收藏本站
 
当前位置 :首页 ->数据库应用 ->Mysql ->正文

MySQL验证的Quota磁盘限额安装手记

来源:赛迪网技术社区  作者:Webmaster 时间:2007-04-23 点击: [收藏] [投稿]










三、配置proftpd.conf

完成上面的安装,proftpd其实已经可以运行了,但是我们还需要根据自己的安装要求进行必要的配置,所以先备份默认的配置文件。

#cp /usr/local/etc/proftpd.conf /usr/local/etc/proftpd.conf.sample

1、重新编写proftpd.conf,下面是Michael的文件,大家完全照抄就基本可以了。

#基本配置
ServerName "Michael's Ftp Site" 
ServerType standalone 
DefaultServer on 
 
#设置用户登陆时不显示ftp服务器版本信息 
ServerIdent off 
 
#设置ftp服务使用的端口,可以修改
Port 21 
 
#设置ftp目录的权限
Umask 022 
 
#设置系统各种超时时间和重试次数
MaxLoginAttempts 3 
TimeoutLogin 120 
TimeoutIdle 600 
TimeoutNoTransfer 900 
TimeoutStalled 3600 
 
#允许最大的同时连接用户数
MaxClients 10
 
#允许每个用户主机最大并发连接数 
MaxClientsPerHost 3 
 
AllowOverwrite no 
AllowStoreRestart on 
UseReverseDNS off 
 
#如果shell为空时允许用户登录 
RequireValidShell off 
 
#将用户限制在自己的主目录下 ,这个设置很重要
DefaultRoot ~
 
#设置系统最大的进程数,防止dos攻击,默认是30
MaxInstances 10 
 
#设置系统用于运行proftpd服务的用户和用户组(需要后面自己创建) 
User FTPUSR 
Group FTPGRP 
 
#设置对全局的文件可以进行改写
<Directory /> 
    AllowOverwrite on 
</Directory> 
 
#设置系统运行日志和文件传输日志
SystemLog                       /var/log/proftpd.syslog  
TransferLog                     /var/log/proftpd.transferlog 
 
 
######################## 下面是匿名登陆部分的设置 #################
#匿名用户登陆后访问的目录为 ftp用户的主目录
<Anonymous ~ftp> 
User ftp 
Group ftpusers 
 
#设置anonymous用户为系统实际用户ftp的别名
UserAlias anonymous ftp 
 
#设置匿名用户同时在线最大用户数
#此用户数受限于前面的全局同时在线用户数
MaxClients 5
 
#设置welcome.msg文件作为用户登陆的提示信息文件
#.message文件作为用户每次进入的目录提示信息
DisplayLogin welcome.msg 
DisplayFirstChdir .message 
 
#设置一些特殊的权限,比如写文件和登陆限制等 (可以不用)
<Limit WRITE> 
    DenyAll 
</Limit> 
 
<Limit LOGIN>
    Order deny,allow
    Deny from 61.101.201.0/32 
    Allow from all
</Limit>
 
</Anonymous> 
######################## 完成匿名登陆的设置 #################
 
 
######################## 下面是磁盘限额Quota设置 ############
#启用磁盘限额 
QuotaDirectoryTally on 
 
SQLHomedirOnDemand on 
 
#磁盘限额单位 b"|"Kb"|"Mb"|"Gb" 
QuotaDisplayUnits "Mb" 
 
QuotaEngine on 
 
#磁盘限额日志记录 
QuotaLog "/var/log/proftpd.quotalog" 
 
#打开磁盘限额信息 "quote SITE QUOTA"命令 
QuotaShowQuotas on 
####################### 完成磁盘配额设置 ####################
 
 
####################### 下面是MySQL数据库部分设置 ###########
#数据库联接的信息
#FTP是数据库名,localhost是MySQL主机名,3306是mysql服务的端口号
#Michael是连接数据库的用户名,testpwd是密码(如果没有密码留空) 
SQLConnectInfo FTP@localhost:3306 Michael testpwd 
 
#数据库认证的类型 
SQLAuthTypes Backend Plaintext 
 
#指定用来做用户认证的表的有关信息。(将在后面创建) 
SQLUserInfo FTPUSERS userid passwd uid gid homedir shell 
SQLGroupInfo FTPGRPS groupname gid members 
 
#数据库认证 
SQLAuthenticate users groups usersetfast groupsetfast 
 
#proftpd进行的mysql调用语句,别修改任何地方。
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 = '%{0}' AND quota_type = '%{1}'" 
 
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 = '%{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}'" 
quotatallies 
 
SQLNamedQuery insert-quota-tally INSERT "%{0}, %{1}, %{2}, %{3}, %{4}, %{5}, %{6}, %{7}" quotatallies 
 
QuotaLimitTable sql:/get-quota-limit 
QuotaTallyTable sql:/get-quota-tally/update-quota-tally/insert-quota-
tally

至此,完成了proftpd.conf配置文件的编写。

 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<



上一篇:MySQL (C API)VC实例及代码下载   下一篇:MYSQL数据的导出导入与版本的转换

文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论
更多相关文章
Power by linux-cn.com 粤ICP备05006655号