что произойдет, если я смонтирую родительский элемент в дочернюю папку?

Таким образом, по существу, было две ошибки.

Во-первых, карты виртуальных _почтовых ящиков _не подходят для моего сценария. Вместо этого я должен использовать виртуальные карты _alias _.

Во-вторых, нам нужно предоставить адреса электронной почты как слева, так и справа от виртуальных почтовых ящиков, потому что в противном случае Postfix попытается доставить сообщение на $myhostname, он просто не сможет предоставить простое имя пользователя через LMTP.Итак, в случае

info@mydomain1.com someuser@mydomain2.com
ceo@mydomain1.com someuser@mydomain2.com
sales@mydomain1.com anotheruser

Первые две строки будут работать нормально, ретранслируя почту, предназначенную как для info@mydomain1.com, так и для ceo@mydomain1.com, пользователю с именем «someuser@mydomain2.com» в Dovecot. Единственная разница в том, что теперь при аутентификации нам придется входить в систему, используя «someuser@mydomain2.com», а не просто имя пользователя без «@…».

Однако третья строка будет пересылать почту для sales@mydomain1.com другому пользователю@primary.domain.com, а запись в почтовый ящик будет обрабатываться Postfix, LMTP в этом случае вызываться не будет.

Наконец, лучше использовать ретранслятор _вместо виртуального _, потому что в терминах Postfix ретрансляция почты в службу LMTP Dovecot, даже если она работает на той же машине, аналогична ретрансляции в другом месте, поэтому используется ретранслятор _. ] options "разумнее".

Тогда рабочая конфигурация для main.cf будет

relay_transport = lmtp:unix:private/dovecot-lmtp
relay_domains = mydomain1.com, mydomain2.com
virtual_alias_maps = hash:/usr/local/etc/postfix/virtualmailboxes

smtpd_sasl_type = dovecot
smtpd_sasl_path = /var/spool/postfix/private/auth
smtpd_sasl_auth_enable = yes

smtpd_tls_cert_file = /etc/ssl/servercertificate.pem
smtpd_tls_key_file = /etc/ssl/serverkey.pem
smtpd_tls_security_level = may
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3

Все другие параметры в соответствии с вашими потребностями, но я ничего не трогал в образце main.cf, который поставляется с Postfix, чтобы все заработало.

виртуальные почтовые ящики:

info@mydomain1.com user@mydomain2.com
ceo@mydomain1.com user@mydomain2.com
sales@mydomain2.com user@mydomain2.com

Часть авторизации настроена в Dovecot:

auth_debug = yes
auth_verbose = yes
auth_mechanisms = plain
passdb {
  driver = passwd-file
  args = scheme=plain-md5 username_format=%u /usr/local/etc/dovecot/users
}
userdb {
  driver = passwd-file
  args = username_format=%u /usr/local/etc/dovecot/users
  default_fields = uid=dovemail gid=dovemail home=/var/mail/%u
}

/usr/local/etc/dovecot/пользователи:

user@mydomain1.com:{PLAIN}yourpassword::::::
user@mydomain1.com:{PLAIN}yourpassword::::::

/usr/local/etc/dovecot/conf.d/10 -В master.conf необходимо раскомментировать несколько строк в середине, чтобы уже присутствующий там раздел выглядел так:

service lmtp {
  unix_listener /var/spool/postfix/private/dovecot-lmtp {
    mode = 0600
    group = postfix
    user = postfix
  }

и еще один раздел в том же файле:

unix_listener /var/spool/postfix/private/auth {
   mode = 0660
   user = postfix
   group = postfix
}

необходимо создать пользователя dovemail и предоставить права на чтение/запись почтового каталога, которым является /var/mail

3
06.12.2019, 14:18
1 ответ

При монтировании привязки монтируется внутри исходного каталога, где не распространяется дальше. Для этого используйте --rbind. Из справочной страницы mount:

Bind mount operation
   Remount part of the file hierarchy somewhere else.  The call is:

          mount --bind olddir newdir

   [...]

   The bind mount call attaches only (part of) a single filesystem, not
   possible submounts.  The entire file hierarchy including submounts is
   attached a second place by using:

          mount --rbind olddir newdir

Тем не менее, это приведет к распространению субмаунтов только один раз, так что цикл по-прежнему отсутствует:

% mkdir -p foo/bar
% sudo mount --rbind foo foo/bar
% ls foo
bar
% ls foo/bar
bar
% ls foo/bar/bar

Я не думаю, что есть способ рекурсивно и бесконечно распространять средства передвижения.

0
27.01.2020, 21:32

Теги

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