Hi,
ich habe proftpd mit mysql und quota eingerichtet.
MySQL Authentifizierung funktioniert Problemlos.
[snip=usertable]
+-----------+---------------+-------+-------+--------------------------------+------------+---------------------+--------------+
| username | passwd | uid | gid | homedir | shell | lastconnect | connectcount |
+-----------+---------------+-------+-------+--------------------------------+------------+---------------------+--------------+
| christian | /oBchLqkXBebg | 10000 | 10000 | /var/www/domain.tld/web | /bin/false | 2005-07-13 10:33:51 | 12 |
| robert | /oEXqGSbywQdw | 10000 | 10000 | /var/www/domain.tld/web | /bin/false | 2005-07-13 08:59:44 | 1 |
+-----------+---------------+-------+-------+--------------------------------+------------+---------------------+--------------+
[/snip=usertable]
[snip=grouptable]
+-----------+-------+------------------+
| groupname | gid | members |
+-----------+-------+------------------+
| gruppe1 | 10000 | christian,robert |
+-----------+-------+------------------+
[/snip=grouptable]
Quota für einen User funktioniert auch Problemlos.
Was nicht funktioniert ist Quota für eine Gruppe.
[snip=QuotaLog]
Jul 13 10:33:51 mod_quotatab/1.2.13[23362]: no quota entry found, turning QuotaEngine off
[/snip=QuotaLog]
[snip=quotalimits]
+-----------+------------+-------------+------------+----------------+-----------------+------------------+----------------+-----------------+------------------+
| 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 |
+-----------+------------+-------------+------------+----------------+-----------------+------------------+----------------+-----------------+------------------+
| gruppe1 | group | false | hard | 10000 | 10000 | 10000 | 0 | 0 | 0 |
+-----------+------------+-------------+------------+----------------+-----------------+------------------+----------------+-----------------+------------------+
[/snip=quotalimits]
Hier noch meine proftpd.conf
ServerName "FTP"
ServerType standalone
DeferWelcome off
MultilineRFC2228 on
DefaultServer on
ShowSymlinks on
TimeoutNoTransfer 600
TimeoutStalled 600
TimeoutIdle 1200
DisplayLogin welcome.msg
DisplayFirstChdir .message
ListOptions "-l"
DenyFilter \*.*/
# Port 21 is the standard FTP port.
Port 21
PassivePorts 49152 65534
MaxInstances 30
# Set the user and group that the server normally runs at.
User nobody
Group nogroup
# Umask 022 is a good standard umask to prevent new files and dirs
# (second parm) from being group and world writable.
Umask 022 022
# Normally, we want files to be overwriteable.
AllowOverwrite on
# Delay engine reduces impact of the so-called Timing Attack described in
# http://security.lss.hr/index.php?page=details&ID=LSS-2004-10-02
# It is on by default.
#DelayEngine off
AuthPAM off
AuthOrder mod_sql.c
#
# 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 Crypt Plaintext
SQLAuthenticate users
SQLConnectInfo webadmin@localhost webadmin xxx
SQLLogFile /var/log/proftpd_sql.log
SQLDefaultGID 65534
SQLDefaultUID 65534
SQLMinUserGID 100
SQLMinUserUID 500
SQLUserInfo ftp_users username passwd uid gid homedir shell
SQLGroupInfo ftp_groups groupname gid members
#
# aktive SQL Kommandos, ab hier passiert etwas :-)
#
SQLLog PASS counter
SQLNamedQuery counter UPDATE "lastconnect=now(), connectcount=connectcount+1 WHERE username='%u'" ftp_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
#
# QuotaLock on
QuotaLog /var/log/proftpd_quota.log
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
Ich find dafür absolut keine Erklärung.
Jemand ne Idee woran es liegt?