PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Probleme mit quota + proftpd



Bendder
24.01.11, 18:31
Hallöchen,

ich habe ein kleines problem ich möchte einer Gruppe ein Quota zuweisen die notwendigen tabelle sind erstellt und es funktioniert fast komplett.

Erst mal ein ausschnitt der proftpd config


<IfModule mod_quotatab.c>
QuotaEngine on
QuotaShowQuotas on
QuotaDisplayUnits Mb

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

QuotaLock /var/run/proftpd/tally.lock
QuotaLimitTable sql:/get-quota-limit
QuotaTallyTable sql:/get-quota-tally/update-quota-tally/insert-quota-tally

SQLNamedQuery gettally SELECT "ROUND((bytes_in_used/1048576),2) FROM ftpquotatallies WHERE name='%u'"
SQLNamedQuery getlimit SELECT "ROUND((bytes_in_avail/1048576),2) FROM ftpquotalimits WHERE name='%u'"
SQLNamedQuery getfree SELECT "ROUND(((ftpquotalimits.bytes_in_avail-ftpquotatallies.bytes_in_used)/1048576),2) FROM ftpquotalimits,ftpquotatallies WHERE ftpquotalimits.name = '%u' AND ftpquotatallies.name = '%u'"

SQLShowInfo LIST "226" "UserQuota – Benutzt: %{gettally}MB von %{getlimit}MB. Sie haben noch %{getfree}MB verfügbaren Speicherplatz."
</IfModule>

Bei der Rückgabe habe ich folgendes Problem das ich bei (gettally, getlimit, getfree) immer den Usernamen bekomme ich aber die Usergruppe benötige da diese in der Spalte "name" der Quotatabelle steht.
Wenn ich für die Rückgabe des Quotas eine neue spalte erstelle wo der Username eingetragen ist und die variable (name2='%u') benutze funktioniert es aber ich müsste jeden User einzeln eintragen was sehr mühselig ist und auch der Übersicht her schadet wenn mehrere User einer Gruppe erstellt wurden.

Weiter oben im Code bei (get-quota-limit) usw. funktioniert es das die Usergruppe ausgelesen wird und die Daten aktualisiert.

So schlau wie ich war hatte ich versucht die variable (%u) zu ändern nur bekomme ich entweder den Fehler UNKOWN TAG oder die anfrage wird laut proftpd_mysql.log erst gar nicht gestartet.

googel konnte mich bisher auch nicht weiterhelfen.

hat jemand eine Idee ???

Greez

Bendder