[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