Per-user quota (passwd)

Evgeniy Korneechev ekorneechev at altlinux.org
Mon Sep 11 14:48:47 EEST 2017


Hi.
But there is one problem...

protocol lda {
  mail_plugins = " quota autocreate  sieve quota"
  plugin {
    quota = dict:user::file:/var/vmail/glu_vrem/%u/.quotausage
  }
}
protocol imap {
  mail_plugins = " quota autocreate autocreate imap_quota"
  plugin {
    autocreate = INBOX
    autocreate2 = Sent
    autocreate3 = Trash
    autocreate4 = Drafts
    autocreate5 = Junk
    autosubscribe = INBOX
    autosubscribe2 = Sent
    autosubscribe3 = Trash
    autosubscribe4 = Drafts
    autosubscribe5 = Junk
    quota = dict:user::file:/var/vmail/glu_vrem/%u/.quotausage
  }
}

> Users with non-standard quota in passwd-file:
>>>>>>> administrator:*:95400500:95400513:Administrator:/home/DOM/administrator:/bin/bash::userdb_quota_rule=*:bytes=10G
>>>>>>> userdb_mail=maildir:/var/vmail/glu_vrem/administrator/Maildir
>>>>>>> administrator at email.dom:*:95400500:95400513:Administrator:/home/DOM/administrator:/bin/bash::userdb_quota_rule=*:bytes=10G
>>>>>>> userdb_mail=maildir:/var/vmail/glu_vrem/administrator/Maildir
> 
> Others from passwd.



Files ".quotausage" are created in different directories:
/var/vmail/glu_vrem/administrator\DOM/.quotausage
/var/vmail/glu_vrem/administrator at email.dom/.quotausage
And must in the folder "/var/vmail/glu_vrem/administrator"

How fix it?


----- Исходное сообщение -----
> От: "Evgeniy Korneechev" <ekorneechev at altlinux.org>
> Кому: "Aki Tuomi" <aki.tuomi at dovecot.fi>
> Копия: "dovecot" <dovecot at dovecot.org>
> Отправленные: Пятница, 30 Июнь 2017 г 10:39:16
> Тема: Re: Per-user quota (passwd)

> Our solution:
> userdb {
>  args = /etc/imap.passwd
>  driver = passwd-file
>  override_fields = home=/var/vmail/glu_vrem/%u
> }
> userdb {
>  driver = passwd
>  override_fields = home=/var/vmail/glu_vrem/%u
> }
> 
> Users with non-standard quota in passwd-file:
>>>>>>> administrator:*:95400500:95400513:Administrator:/home/DOM/administrator:/bin/bash::userdb_quota_rule=*:bytes=10G
>>>>>>> userdb_mail=maildir:/var/vmail/glu_vrem/administrator/Maildir
>>>>>>> administrator at email.dom:*:95400500:95400513:Administrator:/home/DOM/administrator:/bin/bash::userdb_quota_rule=*:bytes=10G
>>>>>>> userdb_mail=maildir:/var/vmail/glu_vrem/administrator/Maildir
> 
> Others from passwd.
> 
> Its works! Thanks.
> 
> 
> ----- Исходное сообщение -----
>> От: "Aki Tuomi" <aki.tuomi at dovecot.fi>
>> Кому: "dovecot" <dovecot at dovecot.org>
>> Отправленные: Четверг, 29 Июнь 2017 г 14:40:44
>> Тема: Re: Per-user quota (passwd)
> 
>> Oh you have multiple db's, I missed that.
>> 
>> Remove auth_username_format, and instead
>> 
>> userdb {
>>  args = /etc/imap.passwd username_format=%Ln
>>  driver = passwd-file
>>  override_fields = home=/var/vmail/glu_vrem/%u
>> }
>> 
>> On 29.06.2017 14:35, Evgeniy Korneechev wrote:
>>> with auth_username_format = %Ln:
>>>
>>> Jun 28 14:43:41 auth: Debug: master in: USER    1    iivanov.ia at example.com
>>> service=lda
>>> Jun 28 14:43:41 auth-worker(18369): Debug: passwd(iivanov.ia): lookup
>>> Jun 28 14:43:41 auth-worker(18369): Info: passwd(iivanov.ia): unknown user  -
>>> trying the next userdb
>>> Jun 28 14:43:41 auth-worker(18369): Debug: sql(iivanov.ia): SELECT email as
>>> user, maildir as home, CONCAT('maildir:', maildir, '/Maildir') as mail, uid,
>>> gid, \
>>>      CONCAT('*:storage=', quota, 'B') AS quota_rule, CONCAT(maildir, '/.sieve') as
>>>      sieve FROM mail_user WHERE (login = 'iivanov.ia' OR email = 'iivanov.ia')
>>> Jun 28 14:43:41 auth-worker(18369): Info: sql(iivanov.ia): unknown user
>>>
>>> Maybe %Lu?
>>>
>>> ----- Исходное сообщение -----
>>>> От: "Aki Tuomi" <aki.tuomi at dovecot.fi>
>>>> Кому: "dovecot" <dovecot at dovecot.org>
>>>> Отправленные: Четверг, 29 Июнь 2017 г 14:10:07
>>>> Тема: Re: Per-user quota (passwd)
>>>> Yes.
>>>>
>>>> Aki
>>>>
>>>> On 29.06.2017 14:07, Evgeniy Korneechev wrote:
>>>>> And if such a user:
>>>>> email (from AD) = ivanov.ia at example.com
>>>>> login (from AD), %n = iivanov
>>>>> %d = DOM
>>>>> %u = iivanov at DOM
>>>>>
>>>>> ?
>>>>>
>>>>> ----- Исходное сообщение -----
>>>>>> От: "Aki Tuomi" <aki.tuomi at dovecot.fi>
>>>>>> Кому: "dovecot" <dovecot at dovecot.org>
>>>>>> Отправленные: Четверг, 29 Июнь 2017 г 13:59:05
>>>>>> Тема: Re: Per-user quota (passwd)
>>>>>> or use, as I indicated before, auth_username_format = %Ln
>>>>>>
>>>>>> Aki
>>>>>>
>>>>>>
>>>>>> On 29.06.2017 13:58, Evgeniy Korneechev wrote:
>>>>>>> Hi!
>>>>>>> workaround:
>>>>>>> administrator:*:95400500:95400513:Administrator:/home/DOM/administrator:/bin/bash::userdb_quota_rule=*:bytes=10G
>>>>>>> userdb_mail=maildir:/var/vmail/glu_vrem/administrator/Maildir
>>>>>>> administrator at email.dom:*:95400500:95400513:Administrator:/home/DOM/administrator:/bin/bash::userdb_quota_rule=*:bytes=10G
>>>>>>> userdb_mail=maildir:/var/vmail/glu_vrem/administrator/Maildir
>>>>>>>
>>>>>>> But this is not a solution for 1000 users ...
>>>>>>> Maybe is there extra field "userdb_mail=administrator at email.dom" for email to
>>>>>>> passwd-file?
>>>>>>>
>>>>>>> ----- Исходное сообщение -----
>>>>>>>> От: "Aki Tuomi" <aki.tuomi at dovecot.fi>
>>>>>>>> Кому: "dovecot" <dovecot at dovecot.org>
>>>>>>>> Отправленные: Среда, 28 Июнь 2017 г 12:40:48
>>>>>>>> Тема: Re: Per-user quota (passwd)
>>>>>>>> On 28.06.2017 12:36, Aki Tuomi wrote:
>>>>>>>>> On 28.06.2017 12:25, Evgeniy Korneechev wrote:
>>>>>>>>>> Hello!
>>>>>>>>>> We have passwd=pam, userdb=passwd.
>>>>>>>>>> passdb {
>>>>>>>>>>   driver = pam #server was entered domain Active Directory
>>>>>>>>>> }
>>>>>>>>>> userdb {
>>>>>>>>>>   driver = passwd
>>>>>>>>>>   override_fields = home=/var/vmail/glu_vrem/%u
>>>>>>>>>> }
>>>>>>>>>>
>>>>>>>>>> How can i use per-user quota? Only passwd-file?
>>>>>>>>>>
>>>>>>>>>> I tried:
>>>>>>>>>> userdb {
>>>>>>>>>>   args = /etc/imap.passwd
>>>>>>>>>>   driver = passwd-file
>>>>>>>>>>   override_fields = home=/var/vmail/glu_vrem/%u
>>>>>>>>>> }
>>>>>>>>>> /etc/imap.passwd:
>>>>>>>>>> administrator:*:95400500:95400513:Administrator:/home/DOM/administrator:/bin/bash::userdb_quota_rule=*:bytes=10G
>>>>>>>>>>
>>>>>>>>>> Authentication and quota - now OK. But doesn't work sending and receiving
>>>>>>>>>> mail...
>>>>>>>>>> postfix say 'Unknown user'...
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Turn on auth_debug and auth_verbose and see what it says.
>>>>>>>>>>
>>>>>>>>>> Aki
>>>>>>>> Also you can set auth_username_format = %Ln to force usernames into
>>>>>>>> lowercase without domain.
>>>>>>>>
>> >>>>>> Aki
> 
> --
> WBR, Korneechev Evgeniy
> BaseALT/ALTLinux Team

-- 
WBR, Korneechev Evgeniy
BaseALT/ALTLinux Team


More information about the dovecot mailing list