www.ProFTPD.de

ProFTPD => ProFTPD - Deutsch => Thema gestartet von: Kleinbreuer am 18. August 2004, 11:35:30



Titel: Mod_quotatab will nicht richtig
Beitrag von: Kleinbreuer am 18. August 2004, 11:35:30
Hallo,

irgentwie will mein mod_quotatab nicht so richtig wie ich es will

Es werden einfach keine Updates an der quotatallies durchgeführt, auch im Mysql Log finde ich keine Updates oder Inserts, hier mal ein paar Sachen:

SQL Logfile:

Zitat

Aug 18 12:15:04 mod_sql/4.10[31774]: connection 'default' count is now 1
Aug 18 12:15:04 mod_sql/4.10[31774]: exiting    mysql cmd_close
Aug 18 12:15:04 mod_sql/4.10[31774]: exiting    mysql cmd_select
Aug 18 12:15:04 mod_sql/4.10[31774]: <<< _process_named_query
Aug 18 12:15:04 mod_sql/4.10[31774]: <<< info_master
Aug 18 12:15:04 mod_sql/4.10[31774]: >>> sql_lookup
Aug 18 12:15:04 mod_sql/4.10[31774]: >>> _process_named_query
Aug 18 12:15:04 mod_sql/4.10[31774]: : entering         mysql cmd_select
Aug 18 12:15:04 mod_sql/4.10[31774]: entering   mysql cmd_open
Aug 18 12:15:04 mod_sql/4.10[31774]: connection 'default' count is now 2
Aug 18 12:15:04 mod_sql/4.10[31774]: exiting    mysql cmd_open
Aug 18 12:15:04 mod_sql/4.10[31774]: query "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 = 'demo' AND quota_type = 'user'"
Aug 18 12:15:04 mod_sql/4.10[31774]: entering   mysql cmd_close
Aug 18 12:15:04 mod_sql/4.10[31774]: connection 'default' count is now 1
Aug 18 12:15:04 mod_sql/4.10[31774]: exiting    mysql cmd_close
Aug 18 12:15:04 mod_sql/4.10[31774]: exiting    mysql cmd_select
Aug 18 12:15:04 mod_sql/4.10[31774]: <<< _process_named_query
Aug 18 12:15:04 mod_sql/4.10[31774]: <<< sql_lookup
Aug 18 12:15:04 mod_sql/4.10[31774]: >>> sql_lookup
Aug 18 12:15:04 mod_sql/4.10[31774]: >>> _process_named_query
Aug 18 12:15:04 mod_sql/4.10[31774]: : entering         mysql cmd_select
Aug 18 12:15:04 mod_sql/4.10[31774]: entering   mysql cmd_open
Aug 18 12:15:04 mod_sql/4.10[31774]: connection 'default' count is now 2
Aug 18 12:15:04 mod_sql/4.10[31774]: exiting    mysql cmd_open
Aug 18 12:15:04 mod_sql/4.10[31774]: query "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 = 'demo' AND quota_type = 'user'"
Aug 18 12:15:04 mod_sql/4.10[31774]: entering   mysql cmd_close
Aug 18 12:15:04 mod_sql/4.10[31774]: connection 'default' count is now 1
Aug 18 12:15:04 mod_sql/4.10[31774]: exiting    mysql cmd_close
Aug 18 12:15:04 mod_sql/4.10[31774]: exiting    mysql cmd_select
Aug 18 12:15:04 mod_sql/4.10[31774]: <<< _process_named_query
Aug 18 12:15:04 mod_sql/4.10[31774]: <<< sql_lookup
Aug 18 12:15:04 mod_sql/4.10[31774]: >>> log_master
Aug 18 12:15:04 mod_sql/4.10[31774]: >>> _process_named_query
Aug 18 12:15:04 mod_sql/4.10[31774]: entering   mysql cmd_escapestring
Aug 18 12:15:04 mod_sql/4.10[31774]: exiting    mysql cmd_escapestring
Aug 18 12:15:04 mod_sql/4.10[31774]: entering   mysql cmd_update
Aug 18 12:15:04 mod_sql/4.10[31774]: entering   mysql cmd_open
Aug 18 12:15:04 mod_sql/4.10[31774]: connection 'default' count is now 2


proftpd -d6 -n
Zitat

localhost (192.168.0.78[192.168.0.78]) - QuotaEngine
localhost (192.168.0.78[192.168.0.78]) - QuotaShowQuotas
localhost (192.168.0.78[192.168.0.78]) - QuotaLimitTable
localhost (192.168.0.78[192.168.0.78]) - QuotaTallyTable
localhost (192.168.0.78[192.168.0.78]) - SQLNamedQuery_get-quota-limit
localhost (192.168.0.78[192.168.0.78]) - SQLNamedQuery_get-quota-tally
localhost (192.168.0.78[192.168.0.78]) - SQLNamedQuery_update-quota-tally
localhost (192.168.0.78[192.168.0.78]) - SQLNamedQuery_insert-quota-tally
localhost (192.168.0.78[192.168.0.78]) - DefaultRoot
localhost (192.168.0.78[192.168.0.78]) - CURRENT-CLIENTS
localhost (192.168.0.78[192.168.0.78]) - USER
localhost (192.168.0.78[192.168.0.78]) - USER demo: Login successful.
localhost (192.168.0.78[192.168.0.78]) - opening TransferLog '/var/log/proftpd.xferlog'
localhost (192.168.0.78[192.168.0.78]) - in dir_check_full(): path = '/var/www/localhost/htdocs/demo', fullpath = '/var/www/localhost/htdocs/demo'.
localhost (192.168.0.78[192.168.0.78]) - dispatching POST_CMD command 'PASS (hidden)' to mod_sql
localhost (192.168.0.78[192.168.0.78]) - dispatching POST_CMD command 'PASS (hidden)' to mod_cap
localhost (192.168.0.78[192.168.0.78]) - mod_cap/1.0: capabilities '= cap_chown,cap_net_bind_service+ep'
localhost (192.168.0.78[192.168.0.78]) - dispatching POST_CMD command 'PASS (hidden)' to mod_quotatab
localhost (192.168.0.78[192.168.0.78]) - dispatching POST_CMD command 'PASS (hidden)' to mod_readme
localhost (192.168.0.78[192.168.0.78]) - dispatching POST_CMD command 'PASS (hidden)' to mod_ratio
localhost (192.168.0.78[192.168.0.78]) - dispatching POST_CMD command 'PASS (hidden)' to mod_log
localhost (192.168.0.78[192.168.0.78]) - dispatching POST_CMD command 'PASS (hidden)' to mod_ls
localhost (192.168.0.78[192.168.0.78]) - dispatching POST_CMD command 'PASS (hidden)' to mod_auth
localhost (192.168.0.78[192.168.0.78]) - dispatching LOG_CMD command 'PASS (hidden)' to mod_sql
localhost (192.168.0.78[192.168.0.78]) - dispatching LOG_CMD command 'PASS (hidden)' to mod_log
localhost (192.168.0.78[192.168.0.78]) - dispatching LOG_CMD command 'PASS (hidden)' to mod_ratio
localhost (192.168.0.78[192.168.0.78]) - dispatching PRE_CMD command 'PORT 192,168,0,78,7,47' to mod_tls
localhost (192.168.0.78[192.168.0.78]) - dispatching PRE_CMD command 'PORT 192,168,0,78,7,47' to mod_core
localhost (192.168.0.78[192.168.0.78]) - dispatching PRE_CMD command 'PORT 192,168,0,78,7,47' to mod_core
localhost (192.168.0.78[192.168.0.78]) - dispatching CMD command 'PORT 192,168,0,78,7,47' to mod_core
localhost (192.168.0.78[192.168.0.78]) - dispatching POST_CMD command 'PORT 192,168,0,78,7,47' to mod_sql
localhost (192.168.0.78[192.168.0.78]) - dispatching LOG_CMD command 'PORT 192,168,0,78,7,47' to mod_sql
localhost (192.168.0.78[192.168.0.78]) - dispatching LOG_CMD command 'PORT 192,168,0,78,7,47' to mod_log
localhost (192.168.0.78[192.168.0.78]) - dispatching PRE_CMD command 'RETR webcapture.exe' to mod_tls
localhost (192.168.0.78[192.168.0.78]) - dispatching PRE_CMD command 'RETR webcapture.exe' to mod_core
localhost (192.168.0.78[192.168.0.78]) - dispatching PRE_CMD command 'RETR webcapture.exe' to mod_core
localhost (192.168.0.78[192.168.0.78]) - dispatching PRE_CMD command 'RETR webcapture.exe' to mod_quotatab
localhost (192.168.0.78[192.168.0.78]) - dispatching PRE_CMD command 'RETR webcapture.exe' to mod_ratio
localhost (192.168.0.78[192.168.0.78]) - dispatching PRE_CMD command 'RETR webcapture.exe' to mod_xfer
localhost (192.168.0.78[192.168.0.78]) - dispatching CMD command 'RETR webcapture.exe' to mod_xfer
localhost (192.168.0.78[192.168.0.78]) - active data connection opened - local  : 192.168.0.102:20
localhost (192.168.0.78[192.168.0.78]) - active data connection opened - remote : 192.168.0.78:1839
localhost (192.168.0.78[192.168.0.78]) - dispatching POST_CMD command 'RETR webcapture.exe' to mod_sql
localhost (192.168.0.78[192.168.0.78]) - dispatching POST_CMD command 'RETR webcapture.exe' to mod_quotatab
localhost (192.168.0.78[192.168.0.78]) - dispatching POST_CMD command 'RETR webcapture.exe' to mod_sql
localhost (192.168.0.78[192.168.0.78]) - dispatching POST_CMD command 'RETR webcapture.exe' to mod_ratio
localhost (192.168.0.78[192.168.0.78]) - dispatching LOG_CMD command 'RETR webcapture.exe' to mod_sql
localhost (192.168.0.78[192.168.0.78]) - dispatching LOG_CMD command 'RETR webcapture.exe' to mod_log
localhost (192.168.0.78[192.168.0.78]) - dispatching LOG_CMD command 'RETR webcapture.exe' to mod_xfer
localhost (192.168.0.78[192.168.0.78]) - Transfer completed: 535552 bytes in 0.09 seconds


Die Tabellen sind die Standarttabellen...

Ich weiß echt nicht mehr weiter, sonst läuft per Mod_sql alles wunderbar....


Titel: Re: Mod_quotatab will nicht richtig
Beitrag von: stonki am 19. August 2004, 14:21:42
wie sieht denn Deine Config aus ?


Titel: Mod_quotatab will nicht richtig
Beitrag von: Kleinbreuer am 22. August 2004, 15:17:45
Zitat

# 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          "Proftpd FTP Server"
ServerType          standalone
DefaultServer       on
RequireValidShell   off
#AuthPAM             off
#AuthPAMConfig       ftp
SystemLog                /var/log/proftpd
#SyslogLevel             debug


# Port 21 is the standard FTP port.
Port            21

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

# 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 under which the server will run.
User            nobody
Group            nogroup

RootLogin Off

# Normally, we want files to be overwriteable.
<Directory />
  AllowOverwrite      on
</Directory>

# A basic anonymous configuration, no upload directories.
<Global>
    DefaultRoot /
</Global>

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

SQLLogFile /var/log/proftpd.sql.log

SQLAuthenticate users
SQLUserInfo custom:/login
SQLAuthTypes Plaintext
SQLConnectInfo ......
SQLMinUserGID 100
SQLMinUserUID 500

MaxClientsPerUser 1 "Sorry, only one user login at same time possible"

SQLNamedQuery login FREEFORM "SELECT * FROM user WHERE online = 1 and username = ''%U"

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



#DefaultRoot   ~


Ich komm da echt net mehr weiter :([/quote]


Titel: Mod_quotatab will nicht richtig
Beitrag von: stonki am 22. August 2004, 18:12:52
wie sieht deine SQL Tabelle fuer die Quotas aus ?


Titel: Mod_quotatab will nicht richtig
Beitrag von: Kleinbreuer am 27. August 2004, 17:50:34
Zitat
Datenbank usr_web0_1 auf localhost
# phpMyAdmin SQL Dump
# version 2.5.7-pl1
# http://www.phpmyadmin.net
#
# Host: localhost
# Erstellungszeit: 27. August 2004 um 16:50
# Server Version: 3.23.49
# PHP-Version: 4.1.2
#
# Datenbank: `usr_web0_1`
#

# --------------------------------------------------------

#
# Tabellenstruktur für Tabelle `quotalimits`
#

CREATE TABLE `quotalimits` (
  `name` varchar(30) default NULL,
  `quota_type` enum('user','group','class','all') NOT NULL default 'user',
  `per_session` enum('false','true') NOT NULL default 'false',
  `limit_type` enum('soft','hard') NOT NULL default 'soft',
  `bytes_in_avail` float NOT NULL default '0',
  `bytes_out_avail` float NOT NULL default '0',
  `bytes_xfer_avail` float NOT NULL default '0',
  `files_in_avail` int(10) unsigned NOT NULL default '0',
  `files_out_avail` int(10) unsigned NOT NULL default '0',
  `files_xfer_avail` int(10) unsigned NOT NULL default '0'
) TYPE=MyISAM;

#
# Daten für Tabelle `quotalimits`
#

INSERT INTO `quotalimits` VALUES ('demo', 'user', 'true', 'hard', '1.57286e+07', '1.57286e+07', '1.11573e+09', 1000, 1000, 1000);

# --------------------------------------------------------

#
# Tabellenstruktur für Tabelle `quotatallies`
#

CREATE TABLE `quotatallies` (
  `name` varchar(30) NOT NULL default '',
  `quota_type` enum('user','group','class','all') NOT NULL default 'user',
  `bytes_in_used` float NOT NULL default '0',
  `bytes_out_used` float NOT NULL default '0',
  `bytes_xfer_used` float NOT NULL default '0',
  `files_in_used` int(10) unsigned NOT NULL default '0',
  `files_out_used` int(10) unsigned NOT NULL default '0',
  `files_xfer_used` int(10) unsigned NOT NULL default '0'
) TYPE=MyISAM;

#
# Daten für Tabelle `quotatallies`
#

INSERT INTO `quotatallies` VALUES ('demo', 'user', '0', '0', '0', 0, 0, 0);
   


@Stonki: Schonmal danke für die Hilfe.....