hmm ok also ftp - clients hab ich glaub genug ausprobiert um zu sagen das es nich am client liegt
ok dan hier mal die config :
# Universelles Muster einer proftpd.conf
#
# Diese Konfigurationsdatei ist fuer den Standard-ProFTPD
# als auch mit eincompilierten mySQL- und TLS-Support.
# Einzelne Direktiven oder ganze Bereiche wurden durch ein
# Kommentarzeichen ("#") deaktivert und sind bei Bedarf
# wieder einfach zu reaktivieren.
#
# Dies ist nur ein Muster und entsprechend anzupassen -
# eine Garantie gleich jedwelcher Art ist ausgeschlossen.
#
# 2006 Volker Gass
ServerType standalone
PidFile /var/run/proftpd.pid
MaxInstances 30
MaxConnectionRate 4
SocketBindTight off
UseReverseDNS off
Port xxxx
RootRevoke on
DefaultServer on
MultilineRFC2228 on
<IfModule mod_delay.c>
DelayEngine off
DelayTable /var/run/proftpd/proftpd.delay
</IfModule>
<IfModule mod_tls.c>
TLSProtocol SSLv23
</IfModule>
# Log-Formate definieren
SystemLog NONE
LogFormat default "%h %l %u %t \"%r\" %s %b"
LogFormat auth "%v [%P] %h %t \"%r\" %s"
LogFormat write "%h %l %u %t \"%r\" %s %b"
# --------------------------------------------
# globale Settings
# --------------------------------------------
<Global>
User nobody
Group nobody
# --------------------------------------------
# Login
# --------------------------------------------
ServerIdent on "FTP server ready."
DeferWelcome on
DisplayConnect /etc/proftpd.msg
IdentLookups off
UseFtpUsers off
RequireValidShell off
TimeoutLogin 60
MaxLoginAttempts 3
MaxClientsPerHost 3
# --------------------------------------------
# Authentifikation: Standard
# --------------------------------------------
<IfModule !mod_sql.c>
AuthOrder mod_auth_unix.c
<Limit LOGIN>
DenyGroup !ftpuser
</Limit>
</IfModule>
# --------------------------------------------
# Authentifikation per SQL
# --------------------------------------------
<IfModule mod_sql.c>
AuthOrder mod_sql.c
SQLConnectInfo xxx@xxx xxx xxx
SQLUserInfo usertable userid passwd uid gid homedir shell
SQLAuthTypes Backend
SQLAuthenticate users*
SQLGroupInfo grouptable groupname gid members
#SQLUserWhereClause "disabled=0 and (NOW()<=expiration or
SQLMinUserUID 1024
SQLMinUserGID 555
SQLNegativeCache on
</IfModule>
#
# aktive SQL Kommandos, ab hier passiert etwas :-)
#
# Log the user logging in
SQLLog PASS counter
SQLNamedQuery counter UPDATE "lastlogin=now(), count=count+1 WHERE userid='%u'" usertable
# logout log
SQLLog EXIT time_logout
SQLNamedQuery time_logout UPDATE "lastlogout=now() WHERE userid='%u'" usertable
# display last login time when PASS command is given
SQLNamedQuery login_time SELECT "lastlogin from usertable where userid='%u'"
SQLShowInfo PASS "230" "Last login was: %{login_time}"
# xfer Log in mysql
SQLLog RETR,STOR transfer1
SQLNamedQuery transfer1 INSERT "'%u', '%f', '%b', '%h', '%a', '%m', '%T', now(), 'c', NULL" xfer_stat
SQLLOG ERR_RETR,ERR_STOR transfer2
SQLNamedQuery transfer2 INSERT "'%u', '%f', '%b', '%h', '%a', '%m', '%T', now(), 'i', NULL" xfer_stat
# --------------------------------------------
# TLS Standards
# --------------------------------------------
<IfModule mod_tls.c>
TLSEngine off
TLSTimeoutHandshake 60
TLSRequired off
TLSVerifyClient off
TLSOptions NoCertRequest
TLSLog /var/log/proftpd/tls.log
# TLSCACertificateFile /etc/ssl/certs/CA.cert # CA-Cert optional
</IfModule>
# --------------------------------------------
# Post-Login, Timeouts
# --------------------------------------------
PassivePorts 49152 65534
DisplayLogin welcome.msg
DisplayFirstChdir .message
AllowOverride off
TimeoutIdle 600 # Inaktivitaet
TimeoutNoTransfer 3600 # keine Datenuebertragung (Listing, File, ...)
TimeoutStalled 300 # haengende Datenuebertragung
TimeoutSession 7200 # Gesamtdauer einer Session
# --------------------------------------------
# Session
# --------------------------------------------
DefaultRoot ~
DenyFilter \*.*/
ListOptions "-An +R" strict
UseGlobbing off
ShowSymlinks on
TimesGMT on
# --------------------------------------------
# Up- & Download
# --------------------------------------------
AllowOverwrite on
AllowRetrieveRestart on
HiddenStores on
DeleteAbortedStores on
AllowStoreRestart off # widerspricht sonst "DeleteAbortedStores"
# --------------------------------------------
# Datei & Verzeichnis
# --------------------------------------------
Umask 0755
### hierher alle <Directory>-Bloecke
# --------------------------------------------
# Logging
# --------------------------------------------
WtmpLog off
TransferLog /var/log/proftpd/xferlog
# Record all logins
ExtendedLog /var/log/proftpd/auth.log AUTH auth
# Logging file/dir access
ExtendedLog /var/log/proftpd/access.log WRITE,READ write
# Paranoia logging level....
ExtendedLog /var/log/proftpd/paranoid.log ALL default
# fuer Debug: alle modMySQL Kommentare (Datenmenge immens!)
SQLLogFile /var/log/proftpd/sql.log
</Global>
# --------------------------------------------
# Standard-Server
# --------------------------------------------
DefaultAddress xxx
ServerName xxx
ServerAdmin xxx@xxx.xxx
# MasqueradeAddress meinserver.dyndns.org
<IfModule mod_tls.c>
TLSEngine on
TLSRSACertificateFile /etc/ssl/certs/meinserver.tld.cert
TLSRSACertificateKeyFile /etc/ssl/certs/meinserver.tld.key
</IfModule>
# --------------------------------------------
# Virtuelle Hosts...
# --------------------------------------------
<VirtualHost 192.168.1.101>
ServerName server2.meinserver.tld
ServerAdmin hostmaster@meinserver.tld
<IfModule mod_tls.c>
TLSEngine on
TLSRSACertificateFile /etc/ssl/certs/server2.meinserver.tld.cert
TLSRSACertificateKeyFile /etc/ssl/certs/server2.meinserver.tld.key
</IfModule>
</VirtualHost>
# User quotas
# ===========
QuotaEngine on
QuotaDirectoryTally on
QuotaDisplayUnits Mb
QuotaShowQuotas on
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}'"
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}'"
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
SQLNamedQuery insert-quota-tally INSERT "%{0}, %{1}, %{2}, %{3}, %{4}, %{5}, %{6}, %{7}" ftpquotatallies
QuotaLimitTable sql:/get-quota-limit
QuotaTallyTable sql:/get-quota-tally/update-quota-tally/insert-quota-tally