OK, but is the syntax correct ?

Should it be : *azt000:quota_rule4=+160GB   ?
*Is that correct ?*

*Because I've made the test.. It didn't "shoot at me" while restarting the service, it apparently accept the syntax, but the result is still wrong..
It is still considering a limit of 30gb and not 160Gb
( the line : quota_rule = *:storage=30GB )

To sum up , I have

   plugin {
     quota = maildir:User quota
     quota_rule = *:storage=30GB
     quota_rule2 = Trash:storage=+100MB
     quota_rule3 = Spam:storage=+20%%
     azt000:quota_rule4=+160GB


      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
      quota_grace = 10%%

      # Quota plugin can also limit the maximum accepted mail size.
      quota_max_mail_size = 100M
   }

and

   userdb {
      driver = passwd
      args = /etc/dovecot/quota-overrides
      result_success=continue-ok
   }

but

   [root@mbox1 conf.d]# service dovecot restart
   Redirecting to /bin/systemctl restart dovecot.service
   [root@mbox1 conf.d]# doveadm quota  get -u azt000
   Quota name Type       Value Limit %
   User quota STORAGE 22268406
   31457280                                                      70
   User quota MESSAGE    29853 - 0
   [root@mbox1 conf.d]#



With 70% ; it's considering the 30Gb and not the 160Gb ( the AZT000 folder size is about 21Gb )


Le 06/10/2021 à 14:08, Aki Tuomi a écrit :
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 :  ? 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




Reply via email to