Hi, sorry to bother you.. any idea ? how to give more space to a specific user ? And where to place the line, in order to overide the general rule ?
I suspect that to increase the space for the specific user AZT000, that should be : quota_rule=azt000:storage=160gb.. but where
Thanks and regards,
Le 06/10/2021 à 15:49, Stephane Magnier a écrit :
not exactly..
Usernames are : azt000, azt001, azt002, etc..... All of them have their mailbox in /var/spool2/mail/azt000, /var/spool2/mail/azt001 )
Everybody will get 30Gb by default Except the user *azt000*, who will have 160Gb
So, I understand, that the general rule is this
plugin { quota = maildir:User quota quota_rule = *:storage=30GB quota_rule2 = Trash:storage=+100MB quota_rule3 = Spam:storage=+20%% }
Now, I suppose , to specify the user *azt000 and only this one*, to get a quota of 160Gb, I should write something like: *quota_rule=azt000:storage=+160Gb *correct ?* * but where !
- If I had this sentence into_the plugin_ ( as it was before ) , it's not considered. Every body stays with the general 30Gb allocated in my example
- My understanding is, according to the link you sent to me, I have to write this specific condition :***quota_rule=azt000:storage=+160Gb* _Outside_ the plugin.. I've made different tests and all of them are not working.. The Dovecot doesn't start
I also tried this
userdb { driver = passwd args = /etc/dovecot/quota-overrides quota_rule=azt000:storage=+160Gb result_success=continue-ok }
I would like to keep 30gb for any user AZTxxx, But for some specific users ( like AZT000), I wish to adapt the quota limit
sorry to bother with that. I hope not to be too much pain in the neck..:-) Thanks !! * * Le 06/10/2021 à 14:51, Aki Tuomi a écrit :
No. The syntax is not correct.
https://doc.dovecot.org/configuration_manual/quota/#quota-rules
this says that the rule is:
quota_rule = <mailbox name>:<limit configuration>
so unless you want 160GB quota for mailbox folder
azt000
(not username), you want to use * here.Aki
On 06/10/2021 15:36 Stephane Magniersteph.mag220@netcourrier.com wrote:
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 Magniersteph.mag220@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 Magniersteph.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 Magniersteph.mag220@netcourrier.com wrote: >>>> >>>> >>>> >>>>
>>>> >>>> Le 06/10/2021 à 06:51, Aki Tuomi a écrit : >>>> >>>> >>>> >>>> >>>>>> On 06/10/2021 07:30 Stephane Magniersteph.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 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>: 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. >>> >>> Trydoveadm user azt000
to if your userdb is providing these rules. >>> >>> Aki >>> >>> >>>