LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1342|回复: 16

关于Proftpd+Mysql+磁盘限额的问题

[复制链接]
发表于 2004-7-24 16:34:15 | 显示全部楼层 |阅读模式
我想,这不是我第一个提出这样的问题,我在论坛找过一遍,很多人都有这个问题,也都有答复,但是还是未能解决我的问题,我测试使用的操作系统版本是Redhat9和Trustix 2.1,Proftpd版本是:proftpd-1.2.9.tar.gz,Mysql系统自带,proftpd-mod-quotatab为:1.2.11版本。

我的问题是,当我不给quotalimits表添加在ftpuser里存在的用户限制记录时,能够正常登录,当然,就没有磁盘限额功能,一旦我向quotalimits添加ftpuser里存在的用户的限制记录后,就无法登录了,各个日志信息如下:

quota.log信息:
Jul 24 15:52:33 mod_quotatab/1.2.11[3725]: found limit entry for user 'test'
Jul 24 15:52:33 mod_quotatab/1.2.11[3725]: creating new tally entry to match limit entry

ftp.log信息:
Jul 24 15:52:25 dreamemail.meibu.com proftpd[3725] dreamemail.meibu.com (localhost.localdomain[127.0.0.1]): FTP session opened.
Jul 24 15:52:33 dreamemail.meibu.com proftpd[3725] dreamemail.meibu.com (localhost.localdomain[127.0.0.1]): USER test: Login successful.
Jul 24 15:52:33 dreamemail.meibu.com proftpd[3725] dreamemail.meibu.com (localhost.localdomain[127.0.0.1]): FTP session closed.


登录时信息:
[root@dreamemail etc]# ftp
ftp> open localhost
Connected to localhost (127.0.0.1).
220 dreamemail.meibu.com FTP server ready
Name (localhost:root): test
331 Password required for test.
Password:
421 Service not available, remote server has closed connection
Login failed.
No control connection for command: No such file or directory

真是很奇怪,登录验证都成功了,为什么会立即关闭session。请兄弟们指导指导!哎,已经搞了半个多月了,没有任何进展。晕啊!
 楼主| 发表于 2004-7-24 17:31:02 | 显示全部楼层
我顶
 楼主| 发表于 2004-7-25 08:37:45 | 显示全部楼层
等待中。。。
发表于 2004-7-25 09:54:35 | 显示全部楼层
这东西就是不好搞。建议你用 pure-ftpd-1.0.20_1 轻松支持虚拟用户、磁盘配额等功能。还支持 AUTH TLS

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2004-7-25 09:57:35 | 显示全部楼层
我只花了 2 个小时,就基本清楚它的整个配置了。pure-ftpd-1.0.20_1 就是好

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2004-7-26 13:35:37 | 显示全部楼层
有没有相关的配置文档
发表于 2004-7-26 14:15:34 | 显示全部楼层
./proftpd -d -n9
启动看看什么情况
发表于 2004-7-26 19:02:21 | 显示全部楼层
  1. #
  2. # Table structure for table 'ftpgroup'
  3. #

  4. CREATE TABLE ftpgroup (
  5.   groupname varchar(16) NOT NULL default '',
  6.   gid smallint(6) NOT NULL default '5500',
  7.   members varchar(16) NOT NULL default '',
  8.   KEY groupname (groupname)
  9. ) TYPE=MyISAM;



  10. #
  11. # Dumping data for table 'ftpgroup'
  12. #

  13. INSERT INTO ftpgroup VALUES("ftpgroup", "5500", "ftpuser");


  14. #
  15. # Table structure for table 'ftpquotalimits'
  16. #

  17. CREATE TABLE ftpquotalimits (
  18.   name varchar(30) default NULL,
  19.   quota_type enum('user','group','class','all') NOT NULL default 'user',
  20.   per_session enum('false','true') NOT NULL default 'false',
  21.   limit_type enum('soft','hard') NOT NULL default 'soft',
  22.   bytes_in_avail float NOT NULL default '0',
  23.   bytes_out_avail float NOT NULL default '0',
  24.   bytes_xfer_avail float NOT NULL default '0',
  25.   files_in_avail int(10) unsigned NOT NULL default '0',
  26.   files_out_avail int(10) unsigned NOT NULL default '0',
  27.   files_xfer_avail int(10) unsigned NOT NULL default '0'
  28. ) TYPE=MyISAM;



  29. #
  30. # Dumping data for table 'ftpquotalimits'
  31. #

  32. INSERT INTO ftpquotalimits VALUES("ftpuser", "user", "true", "hard", "1e+06", "1e+06", "1e+06", "3", "3", "3");


  33. #
  34. # Table structure for table 'ftpquotatallies'
  35. #

  36. CREATE TABLE ftpquotatallies (
  37.   name varchar(30) NOT NULL default '',
  38.   quota_type enum('user','group','class','all') NOT NULL default 'user',
  39.   bytes_in_used float NOT NULL default '0',
  40.   bytes_out_used float NOT NULL default '0',
  41.   bytes_xfer_used float NOT NULL default '0',
  42.   files_in_used int(10) unsigned NOT NULL default '0',
  43.   files_out_used int(10) unsigned NOT NULL default '0',
  44.   files_xfer_used int(10) unsigned NOT NULL default '0'
  45. ) TYPE=MyISAM;



  46. #
  47. # Dumping data for table 'ftpquotatallies'
  48. #

  49. INSERT INTO ftpquotatallies VALUES("ftpuser", "user", "1e+06", "1e+06", "1e+06", "3", "3", "3");


  50. #
  51. # Table structure for table 'ftpuser'
  52. #

  53. CREATE TABLE ftpuser (
  54.   id int(10) unsigned NOT NULL auto_increment,
  55.   userid varchar(32) NOT NULL default '',
  56.   passwd varchar(32) NOT NULL default '',
  57.   uid smallint(6) NOT NULL default '5500',
  58.   gid smallint(6) NOT NULL default '5500',
  59.   homedir varchar(255) NOT NULL default '',
  60.   shell varchar(16) NOT NULL default '/sbin/nologin',
  61.   count int(11) NOT NULL default '0',
  62.   accessed datetime NOT NULL default '0000-00-00 00:00:00',
  63.   modified datetime NOT NULL default '0000-00-00 00:00:00',
  64.   PRIMARY KEY  (id)
  65. ) TYPE=MyISAM;



  66. #
  67. # Dumping data for table 'ftpuser'
  68. #

  69. INSERT INTO ftpuser VALUES("1", "ftpuser", "ftppasswd", "5501", "5500", "/tony/ftp", "/sbin/nologin", "4", "2004-07-17 18:09:47", "2004-07-17 18:11:20");
  70.   
复制代码


  1.   ########################################
  2. DefaultRoot ~
  3. SQLAuthTypes Plaintext Crypt
  4. SQLAuthenticate users* groups*
  5. SQLConnectInfo ftpdb@192.168.0.2 root
  6. SQLUserInfo ftpuser userid passwd uid gid homedir shell
  7. SQLGroupInfo ftpgroup groupname gid members
  8. SQLMinID 500
  9. SQLHomedirOnDemand on
  10. SQLLog PASS updatecount
  11. SQLNamedQuery updatecount UPDATE "count=count+1, accessed=now() WHERE userid='%u'" ftpuser
  12. SQLLog STOR,DELE modified
  13. SQLNamedQuery modified UPDATE "modified=now() WHERE userid='%u'" ftpuser

  14. # User quotas
  15. # ===========
  16. QuotaEngine on
  17. QuotaDirectoryTally on
  18. QuotaDisplayUnits Mb
  19.   QuotaShowQuotas on

  20. SQLNamedQuery get-quota-limit SELECT "name, quota_type, per_session, limit_type, bytes_in_avail, bytes_out_avail, bytes_xfer_$
  21. SQLNamedQuery get-quota-tally SELECT "name, quota_type, bytes_in_used, bytes_out_used, bytes_xfer_used, files_in_used, files_$
  22. SQLNamedQuery update-quota-tally UPDATE "bytes_in_used = bytes_in_used + %{0}, bytes_out_used = bytes_out_used + %{1}, bytes_$
  23. SQLNamedQuery insert-quota-tally INSERT "%{0}, %{1}, %{2}, %{3}, %{4}, %{5}, %{6}, %{7}" ftpquotatallies
  24. QuotaLimitTable sql:/get-quota-limit
  25. QuotaTallyTable sql:/get-quota-tally/update-quota-tally/insert-quota-tally

  26. DeferWelcome on
  27. RootLogin off
  28. RequireValidShell off
  29. ########################################
复制代码
发表于 2004-7-27 15:19:25 | 显示全部楼层
没什么必要用到 mysql 这么复杂吧?
你的用户是多少?1K?1W?10W?还是100?,甚至,更多?
 楼主| 发表于 2004-7-27 22:12:32 | 显示全部楼层
之所以用到Mysql,是因为学校的实际需要。我向建立一个自动建站的虚拟主机系统。
谢谢各位兄弟,我这就试试!什么情况明天再反馈给大家!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表