[Postfixbuch-users] OT: dovecot quota funktioniert nicht
Wieland Chmielewski
wieland.chmielewski at weihenstephan.org
Mi Apr 7 23:02:48 CEST 2010
Am 07.04.2010 21:00 schrieb Peer Heinlein:
> Am Mittwoch, 7. April 2010 18:42:14 schrieb Oliver Pürsten:
>
>
>> Man beachte gegenüber vorher die fehlenden vielen ":", diese waren
>> der eigentliche Grund wieso das ganze nicht geht.
>
> Also.
>
> Ich habe Euch ja lieb. Wirklich. Total.
>
> Aber *DARAN* liegt es nun wirklich nicht.
>
> Sorry, das kannste mir nun echt nicht verkaufen. Im Gegenteil: Ich wage
> zu behaupten, daß Dein jetziges passwd-File so überhaupt nicht geht.
>
> (Also Dovecot wird es akzeptieren, ja, aber durch die fehlenden Felder
> ist Deine Quota-Einstellung halt irgendwo an Feldposition 3 als userid
> gelandet, die Du eh irgendwo static zugewiesen hast. Funktioniert nicht
> -- macht aber auch keinen Ärger.)
>
> Quotas in der userdb sind eigentlich echt keine große Nummer.
>
> Trag doch einfach mal folgendes in die userdb ein:
>
> test3 at freezz.de:
> {SSHA}0xPyMV1VQElNImS6iskEvMSRNHOnOiqO::::::userdb_quota_rule=*:storage=5120
>
> Und dann eben je nach Größe Deiner Quota am Ende storage oder eben
> bytes.
>
> Das ganze ist doch absolut 1:1 das, was wir bei Euch in der Firma in dem
> MySQL-CONCAT-String zusammengebaut haben. Spick da doch mal rein. Das
> ist doch alles das gleiche (muß es ja auch!).
>
>
> Also das, was in der dovecot.conf als "quota_rule=*:bytes=12345" steht,
> wird nun zu "userdb_xxxxxxxxxx". Ganz easy und entspannt.
>
Nein, so funktioniert das nicht.
Das, was in dovecot.conf für quota_rule eingetragen ist, wird auf alle
Konten angewandt. Der entsprechende Eintrag userdb_xxxxxxxxxx wird
ignoriert. Das gilt, solange man userdb static { args = uid=vmail
gid=vmail home=/var/vmail/%u } verwendet, und das war ja der
Ausgangspunkt im ersten Beitrag von Oliver.
Es ist allerdings möglich, Peer, daß Du Dir ein Hintertürchen
offengehalten hast.
In allen Beispielkonfigurationen, die ich gesehen habe, ist immer von
der passdb-Datei die Rede, in der Einträge wie in Deinem Beispiel
stehen. Du aber schreibst "userdb" (ohne einen Zusatz).
Wenn man in dovecot.conf "userdb static { ... }" durch "userdb
passwd-file { args = <Pfad zur passdb-Datei> }" ersetzt und in der
passdb-Datei die fehlenden Einträge für "uid", "gid" und "home" ergänzt,
dann funktioniert die individuelle Quotensteuerung. Allerdings nicht mit
"vmail" und "/var/vmail/%u", man muß schon den numerischen Wert und den
Pfad mit dem ausgeschriebenen Benutzernamen eintragen.
Peer, Dein Hinweis auf die Lösung mit MySQL unterschlägt wahrscheinlich
die Tatsache, daß dabei in der Abfrage auch nach "quota_rule" gesucht
wird. Da Du das in der Firma gemacht hast, ist das nur meine Vermutung.
Diese Abfrage fehlt aber bei der Variante userdb static { args =
uid=vmail gid=vmail home=/var/vmail/%u }. Der Wert der durch den Eintrag
in dovecot.conf vorbesetzten Variablen quota bzw. quota_rule wird nicht
mehr überschrieben.
Man könnte in der Argumentenliste zwar eine Variable mit dem Namen quota
bzw. quota_rule eintragen. Aber wie soll man der einen individuellen,
sinnvollen Wert zuweisen. Timo Sirainen hat in irgendeinem Beitrag mal
"quota=%p" als Möglichkeit erwähnt, aber das natürlich sofort wieder als
Scherz abqualifiziert.
Gruß
Wieland
Mehr Informationen über die Mailingliste Postfixbuch-users