The rules must be consecutive, if your global config has
quota_rule1 quota_rule2 then the userdb must return quota_rule3. Or it will overwrite an existing rule. Aki > On 06/10/2021 13:07 Stephane Magnier <steph.mag...@netcourrier.com> wrote: > > > Hi, > > OK, I wrote this : > > > > userdb { > > driver = passwd > > args = /etc/dovecot/quota-overrides > > > > result_success=continue-ok > > > > # Override fields from passwd > > #override_fields = home=/home/virtual/%u > > } > > > > but sorry I don't understand the following line > > username::::::::::quota_ruleX=... where X is the next rule number. > > What should I write ?...... for instance : azt000:quota_rule1=+160GB ? > something like that ?? > > > > > Le 06/10/2021 à 10:13, Aki Tuomi a écrit : > > > That `*` there is actually mailbox mask. You have to return an additional > > quota_ruleN from your userdb for that user. > > > > You can do e.g. > > > > userdb { > > .. > > result_success=continue-ok} > > } > > > > userdb { > > driver = passwd > > args = /etc/dovecot/quota-overrides > > } > > > > and put in there > > > > username::::::::::quota_ruleX=... where X is the next rule number. > > > > the count of : might be wrong. > > > > Aki > > > > > > > On 06/10/2021 10:43 Stephane Magnier <steph.mag...@netcourrier.com> wrote: > > > > > > > > > Hi Again, > > > > > > Juste another one... > > > > > > The quota I've decided is 30Gb for everybody > > > I would like to add an exception for the user AZT000 so here is my test : > > > > > > I put 60 GB for AZT000, but apparently, this is not seen :-( No error > > > message > > > Is there a general syntax for a specific user ? > > > > > > NB: I tried : > > > quota_rule = azt000:storage=+60GB orquota_rule1 = azt000:storage=+60GB > > > same results > > > > > > > > > > > > > > > > plugin { > > > > quota = maildir:User quota > > > > quota_rule = *:storage=30GB > > > > quota_rule2 = Trash:storage=+100MB > > > > quota_rule3 = Spam:storage=+20%% > > > > # quota_rule = *:storage=70GB > > > > # quota_rule = *:storage=70GB > > > > quota_rule = azt000:storage=+60GB > > > > > > > > > > > Le 06/10/2021 à 08:09, Stephane Magnier a écrit : > > > > > > > > > > Great !! works fine.. > > > > > > > > I had in fact, twice the same déclaration of quotat and storage on the > > > > same file..... one of them was with an upper case "S" for Storage.. > > > > > > > > Thanks again > > > > > > > > > > > > Le 06/10/2021 à 07:50, Aki Tuomi a écrit : > > > > > > > > > > > > > > On 06/10/2021 08:38 Stephane Magnier <steph.mag...@netcourrier.com> > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Le 06/10/2021 à 06:51, Aki Tuomi a écrit : > > > > > > > > > > > > > > > > > > > > > > > > > > On 06/10/2021 07:30 Stephane Magnier > > > > > > > > <steph.mag...@netcourrier.com> wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Le 06/10/2021 à 06:10, Stephane Magnier a écrit : > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi, > > > > > > > > > I am just running Dovecot v 2.3.8 .. seems to work fine. > > > > > > > > > I just add the quota plugin.. and.. I cannot see any > > > > > > > > > differences.. I cannot see any information on Quota per > > > > > > > > > user.. No specific info on Log file :-( > > > > > > > > > > > > > > > > > > Any help please ? > > > > > > > > > > > > > > > > > > Tahnks for your help > > > > > > > > > > > > > > > > > > Here is my config : > > > > > > > > > > > > > > > > > > > > > > > > > > > # 2.3.8 (9df20d2db): /etc/dovecot/dovecot.conf > > > > > > > > > # Pigeonhole version 0.5.8 (b7b03ba2) > > > > > > > > > # OS: Linux 4.18.0-305.12.1.el8_4.x86_64 x86_64 CentOS Linux > > > > > > > > > release 8.4.2105 nfs4 > > > > > > > > > # Hostname: mbox1.intranet.office.itx > > > > > > > > > auth_cache_negative_ttl = 5 mins > > > > > > > > > auth_cache_ttl = 5 mins > > > > > > > > > auth_mechanisms = plain login > > > > > > > > > auth_username_format = %u > > > > > > > > > debug_log_path = /var/log/dovecot-debug.log > > > > > > > > > default_vsz_limit = 4 G > > > > > > > > > info_log_path = /var/log/dovecot-info.log > > > > > > > > > listen = * [::] > > > > > > > > > log_path = /var/log/dovecot.log > > > > > > > > > login_trusted_networks = 172.18.0.0/16 127.0.0.1 ::1 > > > > > > > > > mail_access_groups = dovecot > > > > > > > > > mail_fsync = always > > > > > > > > > mail_location = maildir:/var/spool2/mail/%u:LAYOUT=fs > > > > > > > > > mail_nfs_storage = yes > > > > > > > > > mail_plugins = " quota" > > > > > > > > > mail_privileged_group = mail > > > > > > > > > managesieve_notify_capability = mailto > > > > > > > > > managesieve_sieve_capability = fileinto reject envelope > > > > > > > > > encoded-character vacation subaddress > > > > > > > > > comparator-i;ascii-numeric relational regex imap4flags copy > > > > > > > > > include variables body enotify environment mailbox date ihave > > > > > > > > > mbox_very_dirty_syncs = yes > > > > > > > > > mbox_write_locks = fcntl > > > > > > > > > mmap_disable = yes > > > > > > > > > namespace inbox { > > > > > > > > > disabled = no > > > > > > > > > ignore_on_failure = no > > > > > > > > > inbox = yes > > > > > > > > > list = yes > > > > > > > > > location = > > > > > > > > > mailbox Archive { > > > > > > > > > auto = no > > > > > > > > > comment = " All my Accepted/NON SPAM" > > > > > > > > > special_use = \Archive > > > > > > > > > } > > > > > > > > > mailbox Drafts { > > > > > > > > > auto = subscribe > > > > > > > > > special_use = \Drafts > > > > > > > > > } > > > > > > > > > mailbox Junk { > > > > > > > > > auto = subscribe > > > > > > > > > autoexpunge = 90 days > > > > > > > > > special_use = \Junk > > > > > > > > > } > > > > > > > > > mailbox Sent { > > > > > > > > > auto = subscribe > > > > > > > > > special_use = \Sent > > > > > > > > > } > > > > > > > > > mailbox Trash { > > > > > > > > > auto = no > > > > > > > > > autoexpunge = 60 days > > > > > > > > > special_use = \Trash > > > > > > > > > } > > > > > > > > > mailbox virtual/All { > > > > > > > > > auto = no > > > > > > > > > special_use = \All > > > > > > > > > } > > > > > > > > > prefix = > > > > > > > > > subscriptions = yes > > > > > > > > > type = private > > > > > > > > > } > > > > > > > > > passdb { > > > > > > > > > driver = pam > > > > > > > > > } > > > > > > > > > plugin { > > > > > > > > > quota_grace = 10%% > > > > > > > > > quota_max_mail_size = 100M > > > > > > > > > quota_rule = *:storage=10000M > > > > > > > > > quota_rule2 = Trash:Storage=+100M > > > > > > > > > quota_rule3 = Spam:storage=+20%% > > > > > > > > > quota_status_nouser = DUNNO > > > > > > > > > quota_status_overquota = 552 5.2.2 Mailbox is full > > > > > > > > > quota_status_success = DUNNO > > > > > > > > > quota_warning = storage=95%% quota-warning 95 %u > > > > > > > > > quota_warning2 = storage=80%% quota-warning 80 %u > > > > > > > > > quota_warning3 = -storage=100%% quota-warning below %u > > > > > > > > > sieve = file:~/sieve;active=~/.dovecot.sieve > > > > > > > > > } > > > > > > > > > pop3_uidl_format = %v-%u > > > > > > > > > service auth { > > > > > > > > > unix_listener auth-master { > > > > > > > > > mode = 0666 > > > > > > > > > } > > > > > > > > > unix_listener auth-userdb { > > > > > > > > > mode = 0600 > > > > > > > > > user = mail > > > > > > > > > } > > > > > > > > > } > > > > > > > > > service dict { > > > > > > > > > unix_listener dict { > > > > > > > > > mode = 0600 > > > > > > > > > user = mail > > > > > > > > > } > > > > > > > > > } > > > > > > > > > service imap-login { > > > > > > > > > inet_listener imap { > > > > > > > > > port = 143 > > > > > > > > > } > > > > > > > > > inet_listener imaps { > > > > > > > > > port = 993 > > > > > > > > > ssl = yes > > > > > > > > > } > > > > > > > > > process_min_avail = 4 > > > > > > > > > service_count = 0 > > > > > > > > > } > > > > > > > > > service lmtp { > > > > > > > > > inet_listener lmtp { > > > > > > > > > port = 24 > > > > > > > > > } > > > > > > > > > unix_listener /var/run/lmtp { > > > > > > > > > group = mail > > > > > > > > > mode = 0660 > > > > > > > > > user = mail > > > > > > > > > } > > > > > > > > > } > > > > > > > > > service pop3-login { > > > > > > > > > inet_listener pop3 { > > > > > > > > > address = * > > > > > > > > > port = 110 > > > > > > > > > } > > > > > > > > > inet_listener pop3s { > > > > > > > > > port = 995 > > > > > > > > > ssl = yes > > > > > > > > > } > > > > > > > > > } > > > > > > > > > service quota-warning { > > > > > > > > > executable = script /usr/local/bin/quota-warning.sh > > > > > > > > > unix_listener quota-warning { > > > > > > > > > user = mail > > > > > > > > > } > > > > > > > > > user = dovecot > > > > > > > > > } > > > > > > > > > service submission { > > > > > > > > > process_limit = 250 > > > > > > > > > } > > > > > > > > > ssl = required > > > > > > > > > ssl_ca = </etc/mail/ssl/ssl1/xxxxxp_net.ca-bundle > > > > > > > > > ssl_cert = </etc/mail/ssl/ssl1/xxxxxx_net.crt > > > > > > > > > ssl_cipher_list = HIGH:!aNULL:!ADH:!DH:!RC4:!MD5:!RSA > > > > > > > > > ssl_dh = # hidden, use -P to show it > > > > > > > > > ssl_key = # hidden, use -P to show it > > > > > > > > > userdb { > > > > > > > > > driver = passwd > > > > > > > > > } > > > > > > > > > verbose_proctitle = yes > > > > > > > > > protocol lmtp { > > > > > > > > > mail_fsync = optimized > > > > > > > > > mail_plugins = autocreate quota acl fts fts_solr zlib > > > > > > > > > mail_log notify sieve > > > > > > > > > postmaster_address = i...@intranet.office.itx > > > > > > > > > } > > > > > > > > > protocol lda { > > > > > > > > > mail_fsync = optimized > > > > > > > > > mail_plugins = " quota sieve quota" > > > > > > > > > } > > > > > > > > > protocol imap { > > > > > > > > > mail_max_userip_connections = 80 > > > > > > > > > mail_plugins = " quota quota imap_quota" > > > > > > > > > ssl_cert = </etc/mail/ssl/ssl1/STAR_aztgrp_net.crt > > > > > > > > > ssl_key = # hidden, use -P to show it > > > > > > > > > } > > > > > > > > > protocol pop3 { > > > > > > > > > mail_max_userip_connections = 10 > > > > > > > > > mail_plugins = " quota" > > > > > > > > > } > > > > > > > > > protocol submission { > > > > > > > > > mail_max_userip_connections = 10 > > > > > > > > > mail_plugins = " quota" > > > > > > > > > } > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Just for info > > > > > > > > > > > > > > > > [root@mbox1 xenia]# doveadm quota get -A |grep "STORAGE" > > > > > > > > Nothing at all ?? weird > > > > > > > > [root@mbox1 xenia]# > > > > > > > > > > > > > > > > [root@mbox1 xenia]# doveadm quota get -u <user1> > > > > > > > > Quota name Type Value Limit % > > > > > > > > [root@mbox1 xenia]# > > > > > > > > => Absolutely nothing is displayed ???? > > > > > > > > > > > > > > > > > > > > > > > > normally, the size of the user1 email folder is about 21 Gb > > > > > > > > So..just modified the line :quota_rule = *:storage=100G > > > > > > > > But nothing has changed... > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > You are missing quota driver settings, the recommended settings > > > > > > > are > > > > > > > > > > > > > > plugin { > > > > > > > quota = count > > > > > > > quota_vsizes = yes > > > > > > > } > > > > > > > > > > > > > > Aki > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi Aki, > > > > > > Thanks for your reply.. > > > > > > > > > > > > I just tryed to ad it.. but this can't connect anymore . > > > > > > Here is my exact declaration "90-quota.conf" > > > > > > > > > > > > ( based on : https://doc.dovecot.org/configuration_manual/quota/ ) > > > > > > > > > > > > > > > > > > > > > > > > > plugin { > > > > > > > quota = count > > > > > > > quota_vsizes = yes > > > > > > > #quota = maildir:User quota > > > > > > > quota_rule = *:storage=100GB > > > > > > > # quota_rule2 = Trash:storage=+100MB > > > > > > > # quota_rule3 = Spam:storage=+20%% > > > > > > > # 20% of 100GB = 20GB > > > > > > > quota_status_success = DUNNO > > > > > > > quota_status_nouser = DUNNO > > > > > > > quota_status_overquota = "552 5.2.2 Mailbox is full" > > > > > > > quota_warning = storage=95%% quota-warning 95 %u > > > > > > > quota_warning2 = storage=80%% quota-warning 80 %u > > > > > > > quota_warning3 = -storage=100%% quota-warning below %u > > > > > > > > > > > > > > # LDA/LMTP allows saving the last mail to bring user from under > > > > > > > quota to > > > > > > > # over quota, if the quota doesn't grow too high. Default is to > > > > > > > allow as > > > > > > > # long as quota will stay under 10% above the limit. Also > > > > > > > allowed e.g. 10M. > > > > > > > quota_grace = 10%% > > > > > > > > > > > > > > # Quota plugin can also limit the maximum accepted mail size. > > > > > > > quota_max_mail_size = 100M > > > > > > > } > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > The error message I have now is : > > > > > > > > > > > > Oct 06 07:23:35 > > > > > > imap(azt000)<7381><3pAIWajNgdcgAUHQ/kJ8Aikr1PIAQmFL>: Error: Failed > > > > > > to initialize quota: Invalid quota root quota: Invalid rule > > > > > > Trash:Storage=+100M: Unknown rule limit name: Storage > > > > > > Oct 06 07:23:35 > > > > > > imap(azt000)<7382><jqwJWajNgtcgAUHQ/kJ8Aikr1PIAQmFL>: Error: Failed > > > > > > to initialize quota: Invalid quota root quota: Invalid rule > > > > > > Trash:Storage=+100M: Unknown rule limit name: Storage > > > > > > Oct 06 07:26:02 master: Warning: Killed with signal 15 (by > > > > > > pid=8420 uid=0 code=kill) > > > > > > Oct 06 07:26:10 imap(azt000)<8468><cDRLYqjNcsSsEgA3>: Error: > > > > > > Failed to initialize quota: Invalid quota root quota: Invalid rule > > > > > > Trash:Storage=+100M: Unknown rule limit name: Storage > > > > > > Oct 06 07:26:13 imap(azt000)<8469><mxN6YqjNdMSsEgA3>: Error: > > > > > > Failed to initialize quota: Invalid quota root quota: Invalid rule > > > > > > Trash:Storage=+100M: Unknown rule limit name: Storage > > > > > > > > > > > > Then you can see that I've removed the 2 lines > > > > > > # quota_rule2 = Trash:storage=+100MB > > > > > > # quota_rule3 = Spam:storage=+20%% > > > > > > > > > > > > but without any success > > > > > > > > > > > > Effectively.. what is the Word "Storage" for Dovecot ?? no idea > > > > > > ... I just wrote what I saw :-) > > > > > > > > > > > > For info : all the mailbox are placed on a NFS storage.. Don't > > > > > > know if this help to locate the problem.. > > > > > > Thanks and regards, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Did you try changing Storage => storage in your rule? It seems to be > > > > > coming either from userdb or your config. > > > > > > > > > > Try `doveadm user azt000` to if your userdb is providing these rules. > > > > > > > > > > Aki > > > > > > > > > > > >