В этой конкретной настройке я хочу запретить клиентам создавать почтовые ящики, отличные от ящиков по умолчанию. Я искал это в документации, но ничего не нашел.
Я использую Dovecot с виртуальными пользователями.
Dovecot поддерживает расширение IMAP ACL, которое позволяет точно настраивать привилегии почтового ящика. Среди них есть create
разрешение, разрешающее (или запрещающее) создание новых (под) почтовых ящиков.
Включите плагин ACL, как описано в руководстве по настройке Dovecot. путем редактирования dovecot.conf
(или соответствующие conf.d
файлы в соответствии с настройками вашего дистрибутива). Из руководства Dovecot:
mail_plugins = acl
protocol imap {
mail_plugins = $mail_plugins imap_acl
}
plugin {
# Without global ACLs:
acl = vfile
# With global ACL files in /etc/dovecot/dovecot-acls file (v2.2.11+):
#acl = vfile:/etc/dovecot/dovecot-acl
# With global ACLs in /etc/dovecot/acls/ directory (obsolete):
#acl = vfile:/etc/dovecot/acls
# If enabled, don't try to find dovecot-acl files from mailbox directories.
# This reduces unnecessary disk I/O when only global ACLs are used. (v2.2.31+)
#acl_globals_only = yes
}
Вместо ручного редактирования файлов ACL с помощью инструмента управления Dovecot doveadm acl
является предпочтительным. Чтобы удалить разрешение на создание, используйте следующую командную строку (не delete
весь ACL, возможно, вам также придется create
один перед запуском). -u user
обозначает владельца почтового ящика (т. е. пользователя, для которого нужно изменить почтовый ящик). id
обозначает пользователя, списки ACL которого вы хотите изменить (вы также можете предоставить доступ другим пользователям через ACL), например user=user_name
или anyone
.
doveadm acl remove [-u user|-A|-F file] [-S socket_path] mailbox id right [right ...]
Вы также можете прочитать о ACL наследование, хотя это менее важно, поскольку вы все равно хотите запретить создание новых почтовых ящиков.