www.ProFTPD.de

ProFTPD => ProFTPD - Deutsch => Thema gestartet von: ckoepp am 15. August 2006, 19:39:11



Titel: mod_quotatab_sql Problem
Beitrag von: ckoepp am 15. August 2006, 19:39:11
Guten Abend zusammen,

ich hoffe mir kann jemand helfen. So wirklich viele Leute kennen sich mit mod_quotatab ja nicht aus wie ich feststellen musste.
Hoffe ich bin hier richtig.

Habe das Modul installiert und die Tabellen (laut Modul-Doku) angelegt und gefüllt. MySQL Abfragen funktionieren wunderbar (Benutzertabelle liegt in der Datenbank sowie ein Teil des Logs).

Doch das Quota-Modul bewegt sich kein Stück. Es tut sich einfach nichts. Selbst im sq-log von proftpd (lasse alles mitloggen gerade) steht nichts. Alles wird super aufgelistet: die Abfrage für das Userpasswort, die Gruppenzugehörigkeit, der Zeitpunkt des letzten Zugriffes, und und und
Aber Quota taucht nicht auf. Keine Abfrage auf die Tabelle die ich extra dafür angelegt habe - nix...

Folgende Config habe ich:
Code:
<IfModule mod_quotatab_sql.c>
  QuotaLock /var/run/ftpd/tally.lock
  QuotaLimitTable sql:/get-quota-limit
  QuotaTallyTable sql:/get-quota-tally/update-quota-tally/insert-quota-tally
</IfModule>

(...)

# quota
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 ftp_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 ftp_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}'" ftp_quotatallies

SQLNamedQuery insert-quota-tally INSERT "%{0}, %{1}, %{2}, %{3}, %{4}, %{5}, %{6}, %{7}" ftp_quotatallies

Habe keine Ahnung warum sich da nix tut. Vielleicht hat jemand das gleiche Problem gehabt oder jemand hat eine Ahnung woran es liegen könnte. Ich steh gerad auf dem Schlauch. Wenn wenigstens die Abfragen falsch wären :-(


Titel: Re: mod_quotatab_sql Problem
Beitrag von: ckoepp am 17. August 2006, 17:54:57
Gibts hier keinen der sich damit auskennt bzw. mod_quotatab_sql laufen hat?  :-[


Titel: Re: mod_quotatab_sql Problem
Beitrag von: VolGas am 17. August 2006, 21:02:43
Scheinbar wirklich keiner der sich damit auskennt oder antworten möchte.

Sorry,damit bleiben Dir nur die Seiten von TJ Saunders, des Entwicklers:

->Documentation (http://www.castaglia.org/proftpd/modules/mod_quotatab.html)
->Mini-HOWTO discussing ProFTPD quotas (http://www.castaglia.org/proftpd/doc/contrib/ProFTPD-mini-HOWTO-Quotas.html)

Vielleicht möchtest Du ja im Anschluß daran Deinen Wissens-Schatz mit allen teilen
und anderen damit hier zukünftig weiterhelfen...?

 ;)

mfg.
  VolGas


Titel: Re: mod_quotatab_sql Problem
Beitrag von: ckoepp am 18. August 2006, 01:27:42
In beides schon durchgegangen  :'(

Naja...das wird dann wohl wiedermal eine schlaflose Nacht heute.


Titel: Re: mod_quotatab_sql Problem
Beitrag von: ckoepp am 18. August 2006, 01:46:31
Ok, nun die Lösung war sehr simpel.

Musste das Ganze nur aktivieren
Code:
QuotaEngine on

Davon ist jedoch in keiner Anleitung was gestanden :-(
Standardmäsig aktiviert proftpd also kein quotatab.

Dann noch das lock-file anlegen unter /var/run, die Benutzerrechte hinzufügen und das Ding läuft.

Problem ist jetzt folgendes: die SQL Update Anweisungen sehen extrem komisch aus. Obwohl ich runtergeladen habe kommt sowas raus als mysql Abfrage
Code:
UPDATE <tabelle> SET bytes_in_used = bytes_in_used + 0.000000, bytes_out_used = bytes_out_used + 0.000000, bytes_xfer_used = bytes_xfer_used + 0.000000, files_in_used = files_in_used + 0, files_out_used = files_out_used + 0, files_xfer_used = files_xfer_used + 0
 WHERE name = '<username>' AND quota_type = 'user'

Denke die Variablen sind falsch im HowTo gesetzt bzw. haben sich seit dem geändert. Die Eintragung der Bytes geht nämlich im mysql-log doch auch...

Edit:
habs gelöst: https://www.debianforum.de/forum/viewtopic.php?p=442623