Portál AbcLinuxu, 10. května 2025 08:08

Dotaz: Dovecot - přepíše nastavení?

22.6.2009 13:32 Tomáš Dočkal
Dovecot - přepíše nastavení?
Přečteno: 706×
Odpovědět | Admin

Dobrý den,

v /etc/dovecot/dovecot.conf mám v sekci plugin následující: quota = maildir:storage=512000. To je fajn, protože když v Thunderbirdu zkontrojuji INBOX složku, tak mám nastavenu kvótu na 512000.

ALE

v /etc/dovecot/dovecot-sql.conf mám nastaveno user query, který odkazuje na virtuální uživatele a jejich kvóty. Předpokládal jsem, i jsem se někde dočetl, že tím by se měla přepsat ta direktiva v /etc/dovecot/dovecot.conf. Ale to se mi neděje, protože kvóta je pořád na hodnotě z /etc/dovecot/dovecot.conf.

Chápu to dobře? Pokud ano, kde mohu mít chybu?

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

23.6.2009 11:18 olo
Rozbalit Rozbalit vše Re: Dovecot - přepíše nastavení?
Odpovědět | | Sbalit | Link | Blokovat | Admin

hod sem dovecot -n

23.6.2009 11:35 Tomáš Dočkal
Rozbalit Rozbalit vše Re: Dovecot - přepíše nastavení?

Tady je:

# 1.0.15: /etc/dovecot/dovecot.conf
log_timestamp: %Y-%m-%d %H:%M:%S
ssl_cert_file: /etc/ssl/certs/server.crt
ssl_key_file: /etc/ssl/private/server.key
disable_plaintext_auth: no
login_dir: /var/run/dovecot/login
login_executable: /usr/lib/dovecot/imap-login
mail_privileged_group: mail
mail_location: maildir:/home/vmail/domains/%d/%n/mail
mail_plugins: quota imap_quota
auth default:
  mechanisms: plain login
  passdb:
    driver: sql
    args: /etc/dovecot/dovecot-sql.conf
  userdb:
    driver: static
    args: uid=5000 gid=5000 home=/home/vmail/domains/%d/%n/mail   allow_all_users=yes
  userdb:
    driver: sql
    args: /etc/dovecot/dovecot-sql.conf
  socket:
    type: listen
    client:
      path: /var/spool/postfix/private/auth
      mode: 432
      user: postfix
      group: postfix
    master:
      path: /var/run/dovecot/auth-master
      mode: 384
      user: vmail
plugin:
  quota: maildir:storage=509000

 

A pro jistotu jeste dovecot-sql.conf:

driver = mysql

connect = host=127.0.0.1 dbname=mailserver user=mailuser password=mailuser2007

default_pass_scheme = PLAIN-MD5

password_query = SELECT email AS user, password FROM virtual_users WHERE email = '%u' AND active = '1'

user_query = SELECT '/home/vmail/domains/%d/%n/mail' AS home, 'maildir:/home/vmail/domains/%d/%n/mail' AS mail, 5000 AS uid, 5000 AS gid, CONCAT('maildir:storage=', quota) AS quota FROM virtual_users WHERE email = '%u'

 

V tabulce virtual_users mam INT(11) quota s hodnotou napr. 200000 ale porad je brana ta z dovecot.conf a to 509000. Nemam ale tuseni, kde mam chybu.

23.6.2009 11:51 (_x_)
Rozbalit Rozbalit vše Re: Dovecot - přepíše nastavení?

Ja pouzivam tuto funkcni konfiguraci (dovecot 1.1.16). Myslim, ze se prechodem z 1.0.x na 1.1.x mnohe mohlo zmenit, ale treba pomuze.

plugin {
  quota = maildir
  quota_rule = *:backend=524288S
  quota_rule2 = Trash:storage=10%%
  quota_rule3 = Spam:storage=20%%
}

user_query = SELECT concat('/mnt/mail/domains/', maildir) AS home, concat('*:backend=', mailbox.quota, 'S') AS quota_rule, 5000 AS uid, 5000 AS gid FROM mailbox WHERE username = '%u' AND active = '1';
password_query = SELECT username AS user, password FROM mailbox WHERE username='%u' AND active = '1';

 

23.6.2009 13:59 Tomáš Dočkal
Rozbalit Rozbalit vše Re: Dovecot - přepíše nastavení?

Dekuji za reakce, taky jsem se docetl, ze je rozdil mezi 1.0 a 1.1. Mam ale Dovecot 1.0. (viz. muj Dovecot -n) z Debian Lenny balicku. Nevim ale, jestli tam neni uz nejaky patch, ktery i u verze 1.0 aplikuje nastavovani quot, ktere je ve verzi 1.1. Jak ale poznam, jestli tam ten patch mam nebo ne? Jedine tak, ze prekopu konfiguraci podle 1.1?

23.6.2009 14:28 (_x_)
Rozbalit Rozbalit vše Re: Dovecot - přepíše nastavení?

Myslim si, ze takovy patch tam neni. Prijde mi divne, ze do lennyho nezahrnuli verzi 1.1.x. V dobe, kdy vysel uz byla tato rada dost dobre pouzitelna... Nicmene nemuze byt problem s "'S'" v:

concat('*:backend=', mailbox.quota, 'S')

Ja ho v konfiguraci mam, Vam tam chybi.

23.6.2009 14:52 Tomáš Dočkal
Rozbalit Rozbalit vše Re: Dovecot - přepíše nastavení?

Ted jsem nainstaloval z lenny-backportu verzi 1.1.13 (Lenny mi z "klasickych" repozitaru opravdu novejsi verzi nenabidl). Nastavil jsem to podle Vas, ale zase se mi aplikuje jen quota, ktera je v dovecot.conf: quota_rule: *:backend=999999S. Pritom dotaz na tabulku virtual_users mi vyhodi quota_rule - *:backend=204800S.

Koukal jsem i na wiki.dovecot.org/Quota/1.1 a tam je nastaveni zase o neco jine.

Ach jo:-(

23.6.2009 15:08 (_x_)
Rozbalit Rozbalit vše Re: Dovecot - přepíše nastavení?

Tak to Vam asi uz neporadim. Vim jen, ze jsem sam ty quoty predelaval, kdyz ve FreeBSD presli z 1.0.x na 1.1.x ale to uz je nejaky cas (muj odhad tak rok). Jinak uz nevim, takto to mam a je to funkcni (quota se uplatnuje z db), db je vytvorena postfixadminem, pres ktereho se provadi sprava mailboxu.

23.6.2009 16:37 Tomáš Dočkal
Rozbalit Rozbalit vše Re: Dovecot - přepíše nastavení?

Ja mam databazi vytvorenou rucne. Myslite, ze ma nejaky velky vliv na funkci, jak je quota ulozena v tabulce? Mam tam INT(10). Jestli budete tak hodny, podivate se mi, jak to mate ulozeno vy?

23.6.2009 19:44 Tomáš Dočkal
Rozbalit Rozbalit vše Re: Dovecot - přepíše nastavení?

Tak už mi quoty funguji. Musel jsem v dovecot.conf zakomentovat celou sekci userdb static . Je to v poradku? Kdyz jsem studoval manual, tak jsem vycetl, ze prave tato sekce je jakoby defaultni a pokud je zodpovezen dotaz z MySQL, tak se obsah userdb static prepise. To se ale u me nedeje...

 

Nicmene se mi vyskytl jeste dalsi problem a to, ze kdyz je schranka plna, e-mail nedorazi (coz vitam) ale odesilatel se o tom vubec nedozvi. Predpokladam, ze o informaci se maji starat tyto direktivy v /etc/postfic/main.cf:

virtual_mailbox_limit_maps = mysql:/etc/postfix/mysql-virtual-mailbox-limit-maps.cf
virtual_mailbox_limit_override = yes
virtual_maildir_limit_message = "The user you are trying to reach is over quota."
virtual_overquota_bounce = yes
virtual_create_maildirsize = yes

 

24.6.2009 09:42 (_x_)
Rozbalit Rozbalit vše Re: Dovecot - přepíše nastavení?

Takova nastaveni v "main.cf" nemam. Co se tyce polozek "virtual_*", mam nastaveno toto:

virtual_alias_maps =
  proxy:mysql:$config_directory/sql/mysql_virtual_alias_maps.cf,
  pcre:$config_directory/maps/virtual_pcre
virtual_mailbox_domains =
  proxy:mysql:$config_directory/sql/mysql_virtual_domains_maps.cf
virtual_mailbox_maps =
  proxy:mysql:$config_directory/sql/mysql_virtual_mailbox_maps.cf
virtual_transport = dovecot
virtual_mailbox_base =
  /mnt/mail/domains
virtual_minimum_uid = 5000
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000

V "master.cf":

dovecot   unix  -       n       n       -       -       pipe
  flags=DRhu user=vmail:vmail argv=/usr/local/libexec/dovecot/deliver -d $recipient

  Mam za to, ze to, ze volby jako "virtual_maildir_limit_message" budou funkcni pouze v pripade, ze budete mit do postfixu zakompilovany VDA patch (http://vda.sourceforge.net/).
Kdyz uzivateli poslu email, ktery se prekroci pridelelna quota, odesilateli prijde zpet email:

Your message to <user@domain> was automatically rejected:
Quota exceeded (mailbox for user is full)

K tomu " userdb static", to v konfiguraci dovecotu take nemam, veskere polozky, ktere nemaji vztah k tomu co potrebuji jsem odmazal.
Posledni vec :) Polozka "quota" v db je typu "bigint(20)", coz je asi +- to co mate Vy a je to vychozi nastaveni, jak bylo definovano pri vytvareni db postfixadminem.

 

24.6.2009 18:51 Tomáš Dočkal
Rozbalit Rozbalit vše Re: Dovecot - přepíše nastavení?

Dekuji Vam, nastaveni mame tedy obdobne a hlavne funkcni:-)

Jen k tomu patchi v Postfixu - ten jsem si jiz pred tydnem "nainstaloval" ale bohuzel nastaveni porad nefunguje.

Je nejaka moznost jak overit, zda je patch spravne nainstalovany resp. funkcni?

24.6.2009 22:38 (_x_)
Rozbalit Rozbalit vše Re: Dovecot - přepíše nastavení?

Ten patch jsem nikdy nepouzival, nicmene na www se pise:

set the transport to VIRTUAL, or this patch not work!

IMHO to ale dost limituje nasazeni. Pokud pouzivate dovecot, tak je dobre ho pouzit i jako LDA (transport dovecot) a pak se da celkem dobre pracovat se Sieve filtry, tim spis, pokud se pouzije managesieve protokol. Nedavno jsem se dival, ze rozsireni do TB pro managesieve je celkem pouzitelne.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.