Виртуальные пользователи голубятни и пользовательское отображение домена

Это походит на одну из тех ситуаций, где Вы делаете совершенно разумный выбор конфигурации (отключите уведомления о воздушном шаре для улучшения пользовательского опыта). Затем что-то подходит, который конфликтует с тем решением. В той точке можно уклониться от компромисса (и обычно заканчивать с большой путаницей или чем-то нелепо сложным относительно фактического размера проблемы). С другой стороны, отступите свое изменение. В большинстве случаев я считаю, лучше брать полезный опыт, и назад из более раннего решения.

tl; уведомления о воздушном шаре доктора Re-enable.

2
задан 24 April 2012 в 03:19
2 ответа

Согласно эта ссылка Вы можете использовать «несколько переменных в настройке mail_location»

%u: Full username.
%n: User part in user@domain, same as %u if there's no domain.
%d: Domain part in user@domain, empty if there's no domain.

например.

mail_location = maildir:/home/%n/%d/%n/Maildir

должен указывать на / home / user / domain / user / Maildir

0
ответ дан 3 December 2019 в 13:10

Учтите то, что вы просите на мгновение. Вы хотите включить домашний каталог пользователя в mail_location . На первый взгляд это кажется разумным запросом, но вы должны спросить - откуда Dovecot знает домашний каталог пользователя?

Системные пользователи хранятся в / etc / passwd - этот файл содержит

username:password:uid:gid:comment:home:shell

(Примечание: вместо пароля , у вас может быть x с паролем, хранящимся в / etc / shadow; или * для деактивации учетной записи; комментарий на самом деле является ' gecos field ')

Если Dovecot прочитает этот файл - он предоставляется вместе с домашним каталогом пользователя - как только он получит эту информацию, он сможет использовать ее где-нибудь в другом месте (то есть сможет использовать ' ~ / для обозначения домашнего каталога и установит % h` на то же самое).

Если, однако, вы используете виртуальных пользователей, а не пользователей системы, одна из фундаментальных идей заключается в том, что не каждый виртуальный пользователь должен быть системным пользователем. В этом случае Dovecot не имеет возможности узнать, является ли виртуальный пользователь с тем же именем, что и системный пользователь, на самом деле тем же пользователем или нет (он также не может использовать UID, поскольку можно сопоставить несколько виртуальных пользователей с тот же UID). Он не будет принимать ничего, кроме того, что указано в вашей userdb.

Userdb может предоставить Dovecot следующую информацию:

  • uid: UID пользователя (идентификатор пользователя UNIX), отменяет глобальную настройку mail_uid .
  • gid: GID пользователя (идентификатор группы UNIX), отменяет глобальную настройку mail_gid.
  • home: домашний каталог пользователя, отменяет глобальную настройку mail_home. Хотя это не обязательно, но настоятельно рекомендуется даже для виртуальных пользователей.
  • mail: Mail location, переопределяет глобальную настройку mail_location.
  • Необязательные дополнительные поля, которые передаются процессу IMAP / POP3 в переменных среды.

В вашем конфигурации, вы используете файл passwd - то есть файл с тем же форматом, что и системный файл passwd, но который вы настроили для этой цели (то есть это не системный файл passwd). Dovecot принимает следующий формат файла passwd (и игнорирует поля gecos и оболочки):

user:password:uid:gid:(gecos):home:(shell):extra_fields

Вы можете переопределить определенные значения по умолчанию для каждого пользователя, указав (разделенный пробелами) key = значение дополнительные поля (с ключами с префиксом userdb_ в большинстве случаев). Например, userdb_mail = Maildir:

1
ответ дан 3 December 2019 в 13:10

Теги

Похожие вопросы