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.mag220@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.mag220@netcourrier.com wrote:
Le 06/10/2021 à 06:51, Aki Tuomi a écrit :
> On 06/10/2021 07:30 Stephane Magnier steph.mag220@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 = > ssl_cert = > 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 = it@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 = > 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 areplugin { 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>
: 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