中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 数据库开发 > Mysql
MySQL验证的Quota磁盘限额安装手记 (2)
作者:Michael  时间:2006-10-10 14:38 出处:ccidnet.com 责编:月夜寒箫
              摘要:MySQL验证的Quota磁盘限额安装手记 (2)

三、配置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配置文件的编写。

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有