免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 10186 | 回复: 12
打印 上一主题 下一主题

[FTP] 连接proftp服务器错误“服务器连接被重置” [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-12-04 13:11 |只看该作者 |倒序浏览
求救于斑竹了,先谢谢了!!!

连接proftp服务器是“服务器连接被重置”
我的proftpd.conf

  1. ServerName                      "ftp Server of sevenboys"
  2. ServerType                      Standalone
  3. ServerAdmin                     shuzhifeng@gmail.com
  4. UseReverseDNS off
  5. IdentLookups  off
  6. # Hide as much as possible to outside users
  7. ServerIdent                     on "Welcome to the www.sevenboys.net website. Please login..."
  8. DeferWelcome                    on

  9. DefaultServer                   on

  10. # Allow FTP resuming.
  11. # Remember to set to off if you have an incoming ftp for upload.
  12. AllowStoreRestart               on

  13. # Port 21 is the standard FTP port.
  14. Port                            21

  15. # Umask 022 is a good standard umask to prevent new dirs and files
  16. # from being group and world writable.
  17. Umask                           022

  18. # To prevent DoS attacks, set the maximum number of child processes
  19. # to 30.  If you need to allow more than 30 concurrent connections
  20. # at once, simply increase this value.  Note that this ONLY works
  21. # in standalone mode, in inetd mode you should use an inetd server
  22. # that allows you to limit maximum number of processes per service
  23. # (such as xinetd).
  24. MaxInstances                    30

  25. # Set the user and group under which the server will run.
  26. User                            nobody
  27. Group                           nogroup

  28. # To cause every FTP user to be "jailed" (chrooted) into their home
  29. # directory, uncomment this line.
  30. DefaultRoot ~

  31. # Normally, we want files to be overwriteable.

  32.   AllowOverwrite                on



  33. # User quotas
  34. # ===========
  35. QuotaEngine on
  36. QuotaDirectoryTally on
  37. QuotaDisplayUnits Mb
  38. QuotaShowQuotas on
  39. QuotaLog "/usr/local/proftpd/var/log/quota.log"





  40. # The passwords in MySQL are encrypted using CRYPT
  41. SQLAuthTypes            Plaintext Crypt
  42. SQLAuthenticate         users* groups*

  43. # used to connect to the database
  44. # databasename@host database_user user_password
  45. SQLConnectInfo  proftpd@localhost proftpd 123456

  46. # Here we tell ProFTPd the names of the database columns in the "usertable"
  47. # we want it to interact with. Match the names with those in the db
  48. SQLUserInfo     ftpuser userid passwd uid gid homedir shell

  49. # Here we tell ProFTPd the names of the database columns in the "grouptable"
  50. # we want it to interact with. Again the names match with those in the db
  51. SQLGroupInfo    ftpgroup groupname gid members

  52. # set min UID and GID - otherwise these are 999 each
  53. SQLMinID        500

  54. # create a user's home directory on demand if it doesn't exist
  55. SQLHomedirOnDemand on

  56. # Update count every time user logs in
  57. SQLLog PASS updatecount
  58. SQLNamedQuery updatecount UPDATE "count=count+1, accessed=now() WHERE userid='%u'" ftpuser

  59. # Update modified everytime user uploads or deletes a file
  60. SQLLog  STOR,DELE modified
  61. SQLNamedQuery modified UPDATE "modified=now() WHERE userid='%u'" ftpuser

  62. # User quotas
  63. # ===========
  64. #QuotaEngine on
  65. #QuotaDirectoryTally on
  66. #QuotaDisplayUnits Mb
  67. #QuotaShowQuotas on
  68. #QuotaLog "/usr/local/proftpd/var/log/quota.log"

  69. SQLNamedQuery get-quota-limit SELECT "name, quota_type, per_session, limit_type, bytes_in_avail, bytes_out_avail, bytes_xfer_\
  70. avail, files_in_avail, files_out_avail, files_xfer_avail FROM ftpquotalimits WHERE name = '%{0}' AND quota_type = '%{1}'"

  71. SQLNamedQuery get-quota-tally SELECT "name, quota_type, bytes_in_used, bytes_out_used, bytes_xfer_used, files_in_used, files_\
  72. out_used, files_xfer_used FROM ftpquotatallies WHERE name = '%{0}' AND quota_type = '%{1}'"

  73. SQLNamedQuery update-quota-tally UPDATE "bytes_in_used = bytes_in_used + %{0}, bytes_out_used = bytes_out_used + %{1}, bytes_\
  74. xfer_used = bytes_xfer_used + %{2}, files_in_used = files_in_used + %{3}, files_out_used = files_out_used + %{4}, files_xfer_\
  75. used = files_xfer_used + %{5} WHERE name = '%{6}' AND quota_type = '%{7}'" ftpquotatallies

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

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



  79. RootLogin off
  80. RequireValidShell off
复制代码

我用如下命令检测的结果
/usr/local/proftpd/sbin/proftpd -nd9

  1. localhost.localdomain (221.194.30.48[221.194.30.48]) - ROOT PRIVS at main.c:1011
  2. localhost.localdomain (221.194.30.48[221.194.30.48]) - SETUP PRIVS at main.c:1016
  3. localhost.localdomain (221.194.30.48[221.194.30.48]) - FTP session requested from unknown class
  4. localhost.localdomain (221.194.30.48[221.194.30.48]) - performing module session initializations
  5. localhost.localdomain (221.194.30.48[221.194.30.48]) - ROOT PRIVS at mod_quotatab.c:367
  6. localhost.localdomain (221.194.30.48[221.194.30.48]) - RELINQUISH PRIVS at mod_quotatab.c:369
  7. localhost.localdomain (221.194.30.48[221.194.30.48]) - ROOT PRIVS at mod_quotatab.c:1961
  8. localhost.localdomain (221.194.30.48[221.194.30.48]) - RELINQUISH PRIVS at mod_quotatab.c:1968
  9. localhost.localdomain (221.194.30.48[221.194.30.48]) - ROOT PRIVS at mod_quotatab.c:1977
  10. localhost.localdomain (221.194.30.48[221.194.30.48]) - RELINQUISH PRIVS at mod_quotatab.c:1984
  11. localhost.localdomain - FS: using system lstat()
  12. localhost.localdomain - FS: using system lstat()
  13. localhost.localdomain (221.194.30.48[221.194.30.48]) - FTP session closed.
  14. localhost.localdomain - FS: using system lstat()
  15. localhost.localdomain - ROOT PRIVS at main.c:1162
  16. localhost.localdomain - RELINQUISH PRIVS at main.c:1166
  17. localhost.localdomain (221.194.30.48[221.194.30.48]) - ROOT PRIVS at main.c:1011
  18. localhost.localdomain (221.194.30.48[221.194.30.48]) - SETUP PRIVS at main.c:1016
  19. localhost.localdomain (221.194.30.48[221.194.30.48]) - FTP session requested from unknown class
  20. localhost.localdomain (221.194.30.48[221.194.30.48]) - performing module session initializations
  21. localhost.localdomain (221.194.30.48[221.194.30.48]) - ROOT PRIVS at mod_quotatab.c:367
  22. localhost.localdomain (221.194.30.48[221.194.30.48]) - RELINQUISH PRIVS at mod_quotatab.c:369
  23. localhost.localdomain (221.194.30.48[221.194.30.48]) - ROOT PRIVS at mod_quotatab.c:1961
  24. localhost.localdomain (221.194.30.48[221.194.30.48]) - RELINQUISH PRIVS at mod_quotatab.c:1968
  25. localhost.localdomain (221.194.30.48[221.194.30.48]) - ROOT PRIVS at mod_quotatab.c:1977
  26. localhost.localdomain (221.194.30.48[221.194.30.48]) - RELINQUISH PRIVS at mod_quotatab.c:1984
  27. localhost.localdomain - FS: using system lstat()
  28. localhost.localdomain - FS: using system lstat()
  29. localhost.localdomain (221.194.30.48[221.194.30.48]) - FTP session closed.
  30. localhost.localdomain - FS: using system lstat()
复制代码


同时用netstat -nat的检查结果如下

  1. [root@service rpm]# netstat -nat
  2. Active Internet connections (servers and established)
  3. Proto Recv-Q Send-Q Local Address           Foreign Address         State      
  4. tcp        0      0 0.0.0.0:32768           0.0.0.0:*               LISTEN      
  5. tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      
  6. tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      
  7. tcp        0      0 0.0.0.0:6000            0.0.0.0:*               LISTEN      
  8. tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN      
  9. tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      
  10. tcp        0      0 0.0.0.0:631             0.0.0.0:*               LISTEN      
  11. tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      
  12. tcp        0      0 127.0.0.1:631           127.0.0.1:32808         ESTABLISHED
  13. tcp        0     48 221.194.30.36:22        221.194.30.48:62619     ESTABLISHED
  14. tcp        0      0 221.194.30.36:22        221.194.30.60:2266      ESTABLISHED
  15. tcp        0      0 221.194.30.36:22        221.194.30.48:61915     ESTABLISHED
  16. tcp        0      0 127.0.0.1:32808         127.0.0.1:631           ESTABLISHED
复制代码

论坛徽章:
0
2 [报告]
发表于 2005-12-04 20:41 |只看该作者

debug 信息如下,帮忙看一下,谢谢了

debug 信息如下,帮忙看一下,谢谢了

  1. - parsing '/usr/local/proftpd/etc/proftpd.conf' configuration
  2. - FS: using system open()
  3. - FS: using system read()
  4. - FS: using system read()
  5. - dispatching auth request "getpwnam" to module mod_sql
  6. - dispatching auth request "getpwnam" to module mod_auth_file
  7. - dispatching auth request "getpwnam" to module mod_auth_unix
  8. - dispatching auth request "getgrnam" to module mod_sql
  9. - dispatching auth request "getgrnam" to module mod_auth_file
  10. - dispatching auth request "getgrnam" to module mod_auth_unix
  11. - FS: using system read()
  12. - FS: using system read()
  13. - FS: using system read()
  14. - FS: using system read()
  15. - FS: using system close()
  16. localhost.localdomain -
  17. localhost.localdomain - Config for sever of sevenboys on ftp:
  18. localhost.localdomain - IdentLookups
  19. localhost.localdomain - ServerIdent
  20. localhost.localdomain - DeferWelcome
  21. localhost.localdomain - DefaultServer
  22. localhost.localdomain - AllowStoreRestart
  23. localhost.localdomain - Umask
  24. localhost.localdomain - UserID
  25. localhost.localdomain - UserName
  26. localhost.localdomain - GroupID
  27. localhost.localdomain - GroupName
  28. localhost.localdomain - DefaultRoot
  29. localhost.localdomain - AllowOverwrite
  30. localhost.localdomain - QuotaEngine
  31. localhost.localdomain - QuotaDirectoryTally
  32. localhost.localdomain - QuotaDisplayUnits
  33. localhost.localdomain - QuotaShowQuotas
  34. localhost.localdomain - QuotaLog
  35. localhost.localdomain - SQLAuthTypes
  36. localhost.localdomain - SQLAuthenticate
  37. localhost.localdomain - SQLConnectInfo
  38. localhost.localdomain - SQLUserTable
  39. localhost.localdomain - SQLUsernameField
  40. localhost.localdomain - SQLPasswordField
  41. localhost.localdomain - SQLUidField
  42. localhost.localdomain - SQLGidField
  43. localhost.localdomain - SQLHomedirField
  44. localhost.localdomain - SQLShellField
  45. localhost.localdomain - SQLGroupTable
  46. localhost.localdomain - SQLGroupnameField
  47. localhost.localdomain - SQLGroupGIDField
  48. localhost.localdomain - SQLGroupMembersField
  49. localhost.localdomain - SQLMinID
  50. localhost.localdomain - SQLHomedirOnDemand
  51. localhost.localdomain - SQLLog_PASS
  52. localhost.localdomain - SQLNamedQuery_updatecount
  53. localhost.localdomain - SQLLog_STOR
  54. localhost.localdomain - SQLLog_DELE
  55. localhost.localdomain - SQLNamedQuery_modified
  56. localhost.localdomain - SQLNamedQuery_get-quota-limit
  57. localhost.localdomain - SQLNamedQuery_get-quota-tally
  58. localhost.localdomain - SQLNamedQuery_update-quota-tally
  59. localhost.localdomain - SQLNamedQuery_insert-quota-tally
  60. localhost.localdomain - QuotaLimitTable
  61. localhost.localdomain - QuotaTallyTable
  62. localhost.localdomain - RootLogin
  63. localhost.localdomain - RequireValidShell
  64. localhost.localdomain - dispatching auth request "getgroups" to module mod_sql
  65. localhost.localdomain - dispatching auth request "getgroups" to module mod_auth_file
  66. localhost.localdomain - dispatching auth request "getgroups" to module mod_auth_unix
  67. localhost.localdomain - SETUP PRIVS at main.c:2704
  68. localhost.localdomain - ROOT PRIVS at main.c:1956
  69. localhost.localdomain - RELINQUISH PRIVS at main.c:1962
  70. localhost.localdomain - ROOT PRIVS at main.c:2323
  71. localhost.localdomain - opening scoreboard '/usr/local/proftpd/var/proftpd/proftpd.scoreboard'
  72. localhost.localdomain - RELINQUISH PRIVS at main.c:2347
  73. localhost.localdomain - ROOT PRIVS at inet.c:452
  74. localhost.localdomain - RELINQUISH PRIVS at inet.c:510
  75. localhost.localdomain - ProFTPD 1.2.9 (stable) (built 日 12月 4 06:25:55 CST 2005) standalone mode STARTUP
  76. localhost.localdomain - ROOT PRIVS at main.c:2171
  77. localhost.localdomain - RELINQUISH PRIVS at main.c:2177
  78. localhost.localdomain - FS: using system lstat()
  79. localhost.localdomain - ROOT PRIVS at main.c:1150
  80. localhost.localdomain - RELINQUISH PRIVS at main.c:1154
  81. localhost.localdomain (221.194.30.48[221.194.30.48]) - ident lookup disabled
  82. localhost.localdomain (221.194.30.48[221.194.30.48]) - ROOT PRIVS at main.c:977
  83. localhost.localdomain (221.194.30.48[221.194.30.48]) - SETUP PRIVS at main.c:982
  84. localhost.localdomain (221.194.30.48[221.194.30.48]) - performing module session initializations
  85. localhost.localdomain (221.194.30.48[221.194.30.48]) - ROOT PRIVS at mod_quotatab.c:366
  86. localhost.localdomain (221.194.30.48[221.194.30.48]) - RELINQUISH PRIVS at mod_quotatab.c:368
  87. localhost.localdomain (221.194.30.48[221.194.30.48]) - ROOT PRIVS at mod_quotatab.c:1922
  88. localhost.localdomain (221.194.30.48[221.194.30.48]) - RELINQUISH PRIVS at mod_quotatab.c:1929
  89. localhost.localdomain (221.194.30.48[221.194.30.48]) - ROOT PRIVS at mod_quotatab.c:1938
  90. localhost.localdomain (221.194.30.48[221.194.30.48]) - RELINQUISH PRIVS at mod_quotatab.c:1945
  91. localhost.localdomain (221.194.30.48[221.194.30.48]) - error deleting scoreboard entry: Invalid argument
  92. localhost.localdomain (221.194.30.48[221.194.30.48]) - FTP session closed.
  93. localhost.localdomain - FS: using system lstat()
  94. localhost.localdomain - FS: using system lstat()
  95. localhost.localdomain - scrubbing scoreboard
  96. localhost.localdomain - ROOT PRIVS at mod_core.c:194
  97. localhost.localdomain - RELINQUISH PRIVS at mod_core.c:201
  98. localhost.localdomain - ROOT PRIVS at mod_core.c:223
  99. localhost.localdomain - RELINQUISH PRIVS at mod_core.c:251
  100. localhost.localdomain - FS: using system lstat()
  101. localhost.localdomain - scrubbing scoreboard
  102. localhost.localdomain - ROOT PRIVS at mod_core.c:194
  103. localhost.localdomain - RELINQUISH PRIVS at mod_core.c:201
  104. localhost.localdomain - ROOT PRIVS at mod_core.c:223
  105. localhost.localdomain - RELINQUISH PRIVS at mod_core.c:251
  106. localhost.localdomain - FS: using system lstat()
  107. localhost.localdomain - scrubbing scoreboard
  108. localhost.localdomain - ROOT PRIVS at mod_core.c:194
  109. localhost.localdomain - RELINQUISH PRIVS at mod_core.c:201
  110. localhost.localdomain - ROOT PRIVS at mod_core.c:223
  111. localhost.localdomain - RELINQUISH PRIVS at mod_core.c:251
  112. localhost.localdomain - FS: using system lstat()
  113. localhost.localdomain - ROOT PRIVS at main.c:1150
  114. localhost.localdomain - RELINQUISH PRIVS at main.c:1154
  115. localhost.localdomain (221.194.30.48[221.194.30.48]) - ident lookup disabled
  116. localhost.localdomain (221.194.30.48[221.194.30.48]) - ROOT PRIVS at main.c:977
  117. localhost.localdomain (221.194.30.48[221.194.30.48]) - SETUP PRIVS at main.c:982
  118. localhost.localdomain (221.194.30.48[221.194.30.48]) - performing module session initializations
  119. localhost.localdomain (221.194.30.48[221.194.30.48]) - ROOT PRIVS at mod_quotatab.c:366
  120. localhost.localdomain (221.194.30.48[221.194.30.48]) - RELINQUISH PRIVS at mod_quotatab.c:368
  121. localhost.localdomain (221.194.30.48[221.194.30.48]) - ROOT PRIVS at mod_quotatab.c:1922
  122. localhost.localdomain (221.194.30.48[221.194.30.48]) - RELINQUISH PRIVS at mod_quotatab.c:1929
  123. localhost.localdomain (221.194.30.48[221.194.30.48]) - ROOT PRIVS at mod_quotatab.c:1938
  124. localhost.localdomain (221.194.30.48[221.194.30.48]) - RELINQUISH PRIVS at mod_quotatab.c:1945
  125. localhost.localdomain - FS: using system lstat()
  126. localhost.localdomain - FS: using system lstat()
  127. localhost.localdomain (221.194.30.48[221.194.30.48]) - error deleting scoreboard entry: Invalid argument
  128. localhost.localdomain (221.194.30.48[221.194.30.48]) - FTP session closed.
  129. localhost.localdomain - FS: using system lstat()
  130. localhost.localdomain - scrubbing scoreboard
  131. localhost.localdomain - ROOT PRIVS at mod_core.c:194
  132. localhost.localdomain - RELINQUISH PRIVS at mod_core.c:201
  133. localhost.localdomain - ROOT PRIVS at mod_core.c:223
  134. localhost.localdomain - RELINQUISH PRIVS at mod_core.c:251
  135. localhost.localdomain - FS: using system lstat()
  136. localhost.localdomain - scrubbing scoreboard
  137. localhost.localdomain - ROOT PRIVS at mod_core.c:194
  138. localhost.localdomain - RELINQUISH PRIVS at mod_core.c:201
  139. localhost.localdomain - ROOT PRIVS at mod_core.c:223
  140. localhost.localdomain - RELINQUISH PRIVS at mod_core.c:251
  141. localhost.localdomain - FS: using system lstat()
  142. localhost.localdomain - scrubbing scoreboard
  143. localhost.localdomain - ROOT PRIVS at mod_core.c:194
  144. localhost.localdomain - RELINQUISH PRIVS at mod_core.c:201
  145. localhost.localdomain - ROOT PRIVS at mod_core.c:223
  146. localhost.localdomain - RELINQUISH PRIVS at mod_core.c:251
  147. localhost.localdomain - FS: using system lstat()
  148. localhost.localdomain - scrubbing scoreboard
  149. localhost.localdomain - ROOT PRIVS at mod_core.c:194
  150. localhost.localdomain - RELINQUISH PRIVS at mod_core.c:201
  151. localhost.localdomain - ROOT PRIVS at mod_core.c:223
  152. localhost.localdomain - RELINQUISH PRIVS at mod_core.c:251
  153. localhost.localdomain - FS: using system lstat()
  154. localhost.localdomain - scrubbing scoreboard
  155. localhost.localdomain - ROOT PRIVS at mod_core.c:194
  156. localhost.localdomain - RELINQUISH PRIVS at mod_core.c:201
  157. localhost.localdomain - ROOT PRIVS at mod_core.c:223
  158. localhost.localdomain - RELINQUISH PRIVS at mod_core.c:251
  159. localhost.localdomain - FS: using system lstat()
  160. localhost.localdomain - scrubbing scoreboard
  161. localhost.localdomain - ROOT PRIVS at mod_core.c:194
  162. localhost.localdomain - RELINQUISH PRIVS at mod_core.c:201
  163. localhost.localdomain - ROOT PRIVS at mod_core.c:223
  164. localhost.localdomain - RELINQUISH PRIVS at mod_core.c:251
  165. localhost.localdomain - FS: using system lstat()

复制代码

论坛徽章:
0
3 [报告]
发表于 2005-12-04 21:15 |只看该作者

proftp模块信息


  1. [root@service sbin]# ./proftpd -l
  2. Compiled-in modules:
  3.   mod_core.c
  4.   mod_xfer.c
  5.   mod_auth_unix.c
  6.   mod_auth_file.c
  7.   mod_auth.c
  8.   mod_ls.c
  9.   mod_log.c
  10.   mod_site.c
  11.   mod_auth_pam.c
  12.   mod_sql.c
  13.   mod_sql_mysql.c
  14.   mod_quotatab.c
  15.   mod_quotatab_sql.c
  16.   mod_cap.c
复制代码

论坛徽章:
0
4 [报告]
发表于 2005-12-05 09:57 |只看该作者
先不用mod_sql,用最基本的配置,可以连接吗?

按照这个说的

Question: Why do I see "error deleting scoreboard entry: Invalid argument"?
Answer: This log message almost always denotes use of mod_sql, and a problem in the mod_sql configuration. To debug the problem, define an SQLLogFile (making sure the path is not in a world-writable directory), to which mod_sql will write debugging information.


设置SQLLogFile,看看有没有什么

论坛徽章:
0
5 [报告]
发表于 2005-12-05 14:01 |只看该作者

不用mod_sql没问题

不用mod_sql没问题
只要不加载数据库模块,就正常,包括本地用户也正常
不加载mod_模块配置如下


  1. # This is a basic ProFTPD configuration file (rename it to
  2. # 'proftpd.conf' for actual use.  It establishes a single server
  3. # and a single anonymous login.  It assumes that you have a user/group
  4. # "nobody" and "ftp" for normal operation and anon.

  5. ServerName                        "ProFTPD Default Installation"
  6. ServerType                        standalone
  7. DefaultServer                        on

  8. # Port 21 is the standard FTP port.
  9. Port                                21

  10. # Umask 022 is a good standard umask to prevent new dirs and files
  11. # from being group and world writable.
  12. Umask                                022

  13. # To prevent DoS attacks, set the maximum number of child processes
  14. # to 30.  If you need to allow more than 30 concurrent connections
  15. # at once, simply increase this value.  Note that this ONLY works
  16. # in standalone mode, in inetd mode you should use an inetd server
  17. # that allows you to limit maximum number of processes per service
  18. # (such as xinetd).
  19. MaxInstances                        30

  20. # Set the user and group under which the server will run.
  21. User                                nobody
  22. Group                                nogroup

  23. # To cause every FTP user to be "jailed" (chrooted) into their home
  24. # directory, uncomment this line.
  25. DefaultRoot ~

  26. # Normally, we want files to be overwriteable.
  27. AllowOverwrite                on

  28. # Bar use of SITE CHMOD by default
  29. <Limit SITE_CHMOD>
  30.   DenyAll
  31. </Limit>

  32. # A basic anonymous configuration, no upload directories.  If you do not
  33. # want anonymous users, simply delete this entire <Anonymous> section.
  34. <Anonymous ~ftp>
  35.   User                                ftp
  36.   Group                                ftp

  37.   # We want clients to be able to login with "anonymous" as well as "ftp"
  38.   UserAlias                        anonymous ftp

  39.   # Limit the maximum number of anonymous logins
  40.   MaxClients                        10

  41.   # We want 'welcome.msg' displayed at login, and '.message' displayed
  42.   # in each newly chdired directory.
  43.   DisplayLogin                        welcome.msg
  44.   DisplayFirstChdir                .message

  45.   # Limit WRITE everywhere in the anonymous chroot
  46.   <Limit WRITE>
  47.     DenyAll
  48.   </Limit>
  49. </Anonymous>

复制代码

加载数据库模块后的配置如下

  1. # this is a basic ProFTPD configuration file (rename it to  
  2. # 'proftpd.conf' for actual use. It establishes a single server  
  3. # and a single anonymous login. It assumes that you have a user/group  
  4. # "nobody" and "ftp" for normal operation and anon.  

  5. ServerName &! quotublic FTP Server"  
  6. ServerType standalone
  7. DefaultServer on  

  8. # Port 21 is the standard FTP port.  
  9. Port 21  
  10. # Umask 022 is a good standard umask to prevent new dirs and files  
  11. # from being group and world writable.  
  12. Umask 022  

  13. # To prevent DoS attacks, set the maximum number of child processes  
  14. # to 30. If you need to allow more than 30 concurrent connections  
  15. # at once, simply increase this value. Note that this ONLY works  
  16. # in standalone mode, in inetd mode you should use an inetd server  
  17. # that allows you to&! nbsp;limit maximum number of processes per&nb sp;service  
  18. # (such as xinetd)  
  19. MaxInstances 200

  20. # 设置如果shell为空时允许用户登录
  21. RequireValidShell off  
  22. # 用户登陆时不显示ftp服务器版本信息
  23. ServerIdent off  


  24. # Set the user and group that the server normally runs at.  
  25. User nobody
  26. Group nobody

  27. # Normally, we want files to be overwriteable.  
  28. <Directory /*>
  29. AllowOverwrite on  
  30. </Directory>

  31. #禁止匿名登陆
  32. # A basic anonymous configuration, no upload directories.  
  33. #<Anonymous /home/ftp>
  34. #User ftp  
  35. #Group ftp  
  36. # We want clients to be able to login with "anonymous" as well as "ftp"  
  37. #UserAlias anonymous ftp  
  38. # Limit the maximum number of anonymous logins  
  39. #MaxClients 10  
  40. # We ! ;want 'welcome.msg' displayed at login, and '.message' displayed  
  41. # in each newly chdired directory.  
  42. #DisplayLogin welcome.msg  
  43. #DisplayFirstChdir .message  
  44. # Limit WRITE everywhere in the anonymous chroot  
  45. #<Limit WRITE>
  46. #DenyAll  
  47. #</Limit>
  48. #</Anonymous>
  49.   
  50. <Global>
  51. AllowRetrieveRestart on
  52. AllowStoreRestart on
  53. MaxClients 20 "对不起,已达到当前客户端最大登陆数20人"
  54. MaxClientsPerHost 3 "您好!每个IP只允许3个进程同时登录!"
  55. AllowForeignAddress on
  56. </Global>
  57. UseReverseDNS off
  58. # 将用户限制在自己的主目录下
  59. DefaultRoot ~
  60. # 允许root登录
  61. RootLogin on
  62. #设置系统日志文件:
  63. SystemLog /var/log/proftpd/ftp.syslog
  64. #设置记录文件传输的日志文件:
  65. TransferLog /usr/log/proftpd/ftp.transferlog
  66. #设置断点继传
  67. AllowRetrieveRestart on
  68. #显示登录的信息
  69. DisplayLogin welcome.msg
  70. #限制用户速度
  71. TransferRate RETR 50 user test

  72. # 数据库联接的信息,proftpdb是数据库名,localhost是主机名,proftpd是连接数据库的用户名,
  73. #SQLConnectInfo     ftpusers@MySQL服务器名 username password
  74. #proftpdb是密码
  75. #(如果没有密码留空)
  76. SQLConnectInfo proftpdb@localhost shuzhifeng 09250551
  77. # 数据库认证的类型
  78. SQLAuthTypes Backend Plaintext
  79. # 数据库的鉴别
  80. SQLAuthenticate users* groups*
  81. # 指定用来做用户认证的表的有关信息。
  82. SQLUserInfo ftpuser userid passwd uid gid homedir shell
  83. SQLGroupInfo ftpgroup groupname gid members
  84. # 如果home目录不存在,则系统会根据它的home项新建一个目录
  85. SQLHomedirOnDemand on
  86. #这是目录所有者,我觉得这个很重要。所以我用nobody来做,在此我的nobody为99.
  87. SQLDefaultGID        99
  88. SQLDefaultUID        99

  89. SQLLog PASS updatecount
  90. SQLNamedQuery updatecount UPDATE "count=count+1,accessed=now() WHERE userid='%u'" ftpuser
  91. # Update modified everytime user uploads or deletes a file
  92. SQLLog STOR,DELE modified
  93. SQLNamedQuery modified UPDATE "modified=now() WHERE userid='%u'" ftpuser

  94. # 启用磁盘限额
  95. QuotaDirectoryTally on
  96. # 磁盘限额单位 b"|"Kb"|"Mb"|"Gb"
  97. QuotaDisplayUnits "Kb"
  98. #打开磁盘限额引擎
  99. QuotaEngine on
  100. # 磁盘限额日志记录
  101. QuotaLog "/var/log/quota.log"
  102. # 打开磁盘限额信息,当登陆FTP帐户后,使用命令 "quote SITE QUOTA" 后可显示当前用#户的磁盘限额
  103. QuotaShowQuotas on
  104. #以下为sql语句:
  105. 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 ftpquotalimits WHERE name = '%{0}'AND quota_type = '%{1}'"

  106. 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 ftpquotatallies WHERE name = '%{0}' AND quota_type = '%{1}'"

  107. 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}'" ftpquotatallies

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

  109. QuotaLimitTable sql:/get-quota-limit
  110. QuotaTallyTable sql:/get-quota-tally/update-quota-tally/insert-quota-tally
复制代码


./proftpd -nd9
错误信息如下

  1. - ROOT PRIVS at mod_quotatab.c:1977
  2. localhost.localdomain (221.194.30.48[221.194.30.48]) - RELINQUISH PRIVS at mod_quotatab.c:1984
  3. localhost.localdomain - FS: using system lstat()
  4. localhost.localdomain - FS: using system lstat()
  5. localhost.localdomain (221.194.30.48[221.194.30.48]) - FTP session closed.
  6. localhost.localdomain - FS: using system lstat()
复制代码

proftp在运行

论坛徽章:
0
6 [报告]
发表于 2005-12-05 14:39 |只看该作者
SQLLogFile设置了吗

论坛徽章:
0
7 [报告]
发表于 2005-12-05 14:51 |只看该作者

稍等,正在设置。。。。。

稍等,正在设置。。。。。

论坛徽章:
0
8 [报告]
发表于 2005-12-05 15:29 |只看该作者

我重新make的时候,出现mysql.h没有找到

我查看,/proftpd-1.2.10/contrib
mod_sql_mysql.c
有如下的全局变量,其中
#define _MOD_VERSION "mod_sql_mysql/4.04"
显示的版本号是4.04,我装的mysql版本是4.15
是否可以???

  1. #define _MOD_VERSION "mod_sql_mysql/4.04"

  2. #define _MYSQL_PORT "3306"

  3. #include <mysql.h>
  4. #include "conf.h"
  5. #include "../contrib/mod_sql.h"
复制代码

论坛徽章:
0
9 [报告]
发表于 2005-12-05 15:34 |只看该作者
这个应该没什么影响

论坛徽章:
0
10 [报告]
发表于 2005-12-05 15:38 |只看该作者

谢谢,那我就继续安装!

我刚才忘了装mysql的devel包,我刚装上,我再试一下!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP