ServerName "SERVERNAME"

ServerType standalone

ServerAdmin admin@proftpd.de

 

ServerIdent on "ftp.xyz.de"

DeferWelcome on

DefaultServer on

 

Port 21

Umask 022

 

# Normally, we want files to be overwriteable.

<Directory />

AllowOverwrite on

</Directory>

 

#

# FXP Unterstuetzung

#

AllowForeignAddress on

 

# Maximal Werte setzen

MaxClientsPerHost 2 "Nicht mehr als %m Verbindungen"

MaxClients 8 "Leider sind schon %m Clients verbunden"

MaxLoginAttempts 3

MaxInstances 30

 

#

# Restart erlauben

#

AllowStoreRestart on

AllowRetrieveRestart on

 

#

# Jail all users into their virtual home dir

#

DefaultRoot ~

 

RequireValidShell off

 

#

# Logging options

#

TransferLog /var/log/proftpd.xferlog

 

# Some logging formats

#

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"

 

# Log file/dir access

ExtendedLog /var/log/proftpd.access_log WRITE,READ write

 

# Record all logins

ExtendedLog /var/log/proftpd.auth_log AUTH auth

 

# Paranoia logging level....

ExtendedLog /var/log/proftpd.paranoid_log ALL default

 

#------------------------mysql Modul: 4.x

#

# Zugangskontrolle

#

SQLAuthTypes Plaintext

SQLAuthenticate users

SQLConnectInfo DATENBANK @localhost USERNAME PASSWORT

SQLDefaultGID 65534

SQLDefaultUID 65534

SQLMinUserGID 100

SQLMinUserUID 500

SQLUserInfo users username password uid gid homedir shell

 

#

# aktive SQL Kommandos, ab hier passiert etwas :-)

#

SQLLog PASS counter

SQLNamedQuery counter UPDATE "letzter_zugriff=now(), count=count+1 WHERE username='%u'" users

 

# 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

 

#

# mod_quota tab

#

QuotaEngine on

QuotaShowQuotas on

QuotaLimitTable sql:/get-quota-limit

QuotaTallyTable sql:/get-quota-tally/update-quota-tally/insert-quota-tally

 

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