Настраиваю Dovecot наконец добрался до квот и вот возник вопросКак сделать квоту на все ящики скажем по 1 гб и дать возможность быстро изменить квоту на конкретный ящик в большую, а лучше и в большую и в меньшую сторону.
Выборка пользователей у меня ведется из AD майкрософта потому и индивидуальные квоты планирую держать там же.
Выборку делаю как и в мануале
user_attrs = homeDirectory=/var/vmail/%$,uidNumber=uid,gidNumber=gid,=quota_rule=*:bytes=%{ldap:postalCode}
в самом конфиге прописано
plugin {
quota_rule = *:storage=1G
quota_rule2 = Trash:storage=+100M
}
plugin {
quota = maildir:User quota
}Индивидуальные квоты работает без проблем но если в профиле пользователя не задано квоты то Dovecot не понимает что должен использовать общую квоту
Сделал вот так в конфиге
user_attrs = homeDirectory=/var/vmail/%$,uidNumber=uid,gidNumber=gid,=quota_rule=*:bytes=%{ldap:postalCode}500000000
Так у всех вне зависимости от профиля есть квота на 500Мб и ее можно увеличить дописав в профиль скажем 1 до 1.5 Гб но проблема в том что увеличивать можно только на 1 и больше гиг и нельзя уменьшить.Собственно вопрос может есть более простой способ реализации без такого извращения или возможно Dovecot понимает в своих конфигах выражения что бы можно было проверять поле на заполнение и если оно пусто то проставлять ему какое-то значение?
что, в гугле забанили?plugin {
quota = dict:user::proxy::quotadict
# Квота по умолчанию - объём ящика 1 гигабайт,
# не более 1000 писем в ящике
# Эта квота заменяется квотой, найденной в БД
quota_rule = *:storage=1G:messages=1000
}
> что, в гугле забанили?
> plugin {
> quota = dict:user::proxy::quotadict
> # Квота по умолчанию - объём ящика 1 гигабайт,
> # не более 1000 писем в ящике
> # Эта квота заменяется квотой, найденной в БД
> quota_rule = *:storage=1G:messages=1000
> }Да но у меня как бы нет базы данных и квоты хранятся в файлах в maildir, а в таком варианте при отсутствии квоты в АД система вообще говорит что для этого ящика квота не установлена.
>[оверквотинг удален]
> в самом конфиге прописано
>
> plugin {
> quota_rule = *:storage=1G
> quota_rule2 = Trash:storage=+100M
> }
> plugin {
> quota = maildir:User quota
> }
>plugin {
quota = maildir
quota_rule = *:storage=500M
quota_rule2 = Trash:storage=+100M
}А вообще, у Вас Dovecot работает как LDA?
> quota = maildirСделал но эффекта по моему нет.
doveadm quota get
Quota name Type Value Limit %
STORAGE 0 1048576 0
MESSAGE 0 - 0
Shared quota STORAGE 1 102400 0
Shared quota MESSAGE 2 - 0
а для пользователя вот так это когда в АД пусто
doveadm quota get -u user
Quota name Type Value Limit %
STORAGE 7500 - 0
MESSAGE 90 - 0
Shared quota STORAGE 1 102400 0
Shared quota MESSAGE 2 - 0
Если пользователю задать квоту в АД то он ее воспринимает
doveadm quota get -u user
Quota name Type Value Limit %
STORAGE 7500 1953125 0
MESSAGE 90 - 0
Shared quota STORAGE 1 102400 0
Shared quota MESSAGE 2 - 0в моем варианте было все тоже самое только первые две строки в первой колонке имели имя
doveadm quota get -u user
Quota name Type Value Limit %
User quota STORAGE 7510 1660156 0
User quota MESSAGE 99 - 0
> А вообще, у Вас Dovecot работает как LDA?Если я правильно понял то да
Dovecot у меня отвечает за хранение ящиков пользователей и за авторизацию как для самого себя так и для postfix который с ним болтает по sasl.
>[оверквотинг удален]
> User quota STORAGE 7510 1660156
> 0
> User quota MESSAGE 99
> - 0
>
http://vladimir-stupin.blogspot.ru/2011/11/dovecot-postfix-m...