Hallo,
ich benutze proftpd in Verbindung mit MySQL.
Wenn sich die User einloggen und etwas hoch oder runterladen kommen nach wenigen Sekunden Fehlermeldungen wie diese:
"421 No Transfer Timeout (600 seconds): closing control connection."
oder
"maximum connections per site reached"
je nach client.
Woran kann das liegen?
Meine Konfigurations-Datei von proftpd:
# This is a basic ProFTPD configuration file (rename it to
# 'proftpd.conf' for actual use. It establishes a single server
# and a single anonymous login. It assumes that you have a user/group
# "nobody" and "ftp" for normal operation and anon.
ServerName "server"
ServerType standalone
DeferWelcome off
ShowSymlinks on
MultilineRFC2228 on
DefaultServer on
ShowSymlinks on
AllowOverwrite on
TimeoutNoTransfer 600
TimeoutStalled 600
TimeoutIdle 1200
#============= EDIT
ServerIdent on "FTP Server ready."
#=============
DisplayLogin welcome.msg
DisplayFirstChdir .message
ListOptions "-la"
DenyFilter \*.*/
# Uncomment this if you are using NIS or LDAP to retrieve passwords:
#PersistentPasswd off
# Port 21 is the standard FTP port.
Port 21
# To prevent DoS attacks, set the maximum number of child processes
# to 30. If you need to allow more than 30 concurrent connections
# at once, simply increase this value. Note that this ONLY works
# in standalone mode, in inetd mode you should use an inetd server
# that allows you to limit maximum number of processes per service
# (such as xinetd)
MaxInstances 30
# Set the user and group that the server normally runs at.
User nobody
Group nogroup
# Normally, we want files to be overwriteable.
<Directory /*>
# Umask 022 is a good standard umask to prevent new files and dirs
# (second parm) from being group and world writable.
Umask 022 022
AllowOverwrite on
</Directory>
TransferLog /var/log/proftpd_transfer.log
# alle logins
ExtendedLog /var/log/ftp_auth.log AUTH auth
# file/dir Zugriff
ExtendedLog /var/log/ftp_access.log WRITE,READ write
# ======== DEBUG:
#ExtendedLog /var/log/ftp_paranoid.log ALL default
# ======== speedup
UseReverseDNS off
IdentLookups off
DefaultRoot ~
RequireValidShell off
SQLAuthTypes Plaintext
SQLAuthenticate users* groups*
# db@host user pass
SQLConnectInfo vhcs@localhost proftpd proftpd
SQLUserInfo ftp_accounts username password uid gid CONCAT(homedir,"/") shell #login_enabled
SQLGroupInfo ftp_groups groupname gid members
SQLUserWhereClause "login_enabled = 'Y'"
SQLLog PASS login
SQLNamedQuery login UPDATE "last_login=now(), login_count=login_count+1 WHERE username='%u'" ftp_accounts
SQLLog RETR download
SQLNamedQuery download UPDATE "down_count=down_count+1, down_bytes=down_bytes+%b WHERE username='%u'" ftp_accounts
SQLLog STOR upload
SQLNamedQuery upload UPDATE "up_count=up_count+1, up_bytes=up_bytes+%b WHERE username='%u'" ftp_accounts
Vielen Dank im Voraus
Mfg
Flobre