Здравствуйте!Есть у нас почтовая система из postfix и Dovecot. База пользователей типа passwd-file обслуживается Dovecot. При этом postfix авторизует пользователей на основании данных предоставляемых Dovecot.
Вопрос в том, возможно ли не используя sql, ldap или другие сетевые хранилища, не дублировать уже имеющуюся в базе пользователей информацию. В частности можно ли и как научить postfix получать информацию о логинах в smtpd_sender_login_maps от Dovecot?
P.S. По ходу написания сообщения возникла мысль, а возможно ли привязать скрипт? Может сообщество дополнительно поделится информацией как postfix обрабатывает подобного рода параметры?
P.P.S. Отказ от mysql, явился вынужденным действием вследствие его безпричинных падений. С другой стороны ящиков с гулькин нос, и нет необходимости в чем-то кроме файловой базы типа passwd-file.
> Здравствуйте!
> Есть у нас почтовая система из postfix и Dovecot. База пользователей типа
> passwd-file обслуживается Dovecot. При этом postfix авторизует пользователей на основании
> данных предоставляемых Dovecot.У меня дома на локалхосте так же, ибо пользователь один :)
А какая информация у Вас дублируется? У меня как будто бы ничего не дублировано, postfix'у указан virtual_transport, а в конфиге dovecot поднят lmtp
> А какая информация у Вас дублируется? У меня как будто бы ничего
> не дублировано, postfix'у указан virtual_transport, а в конфиге dovecot поднят lmtpНу как же!
smtpd_sender_login_maps = hash:/usr/local/etc/postfix/senders
virtual_mailbox_maps = hash:/usr/local/etc/postfix/virtual_mailbox
virtual_alias_maps = hash:/usr/local/etc/postfix/virtual_aliasВ каждой из карт первый полем указывается имэйл, вторым или логин, или путь, или имэйл.
> smtpd_sender_login_maps = hash:/usr/local/etc/postfix/senders
> virtual_mailbox_maps = hash:/usr/local/etc/postfix/virtual_mailbox
> virtual_alias_maps = hash:/usr/local/etc/postfix/virtual_alias
> В каждой из карт первый полем указывается имэйл, вторым или логин, или
> путь, или имэйл.У меня используется только карта virtual_alias_maps, но в ней нет дублированной информации, так как у dovecot информации об алиасах нет. Остальное делает dovecot.
1) Если virtual_mailbox_maps не задан, то проверку осуществляет dovecot
2) Вместо smtpd_sender_login_maps используется бэкнд dovecot через
smtpd_sasl_auth_enable = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_security_options = noanonymous
> 1) Если virtual_mailbox_maps не задан, то проверку осуществляет dovecot
> 2) Вместо smtpd_sender_login_maps используется бэкнд dovecot через
> smtpd_sasl_auth_enable = yes
> smtpd_sasl_type = dovecot
> smtpd_sasl_path = private/auth
> smtpd_sasl_security_options = noanonymousТаки да, при пустых smtpd_sender_login_maps и virtual_mailbox_maps все работает корректно!
Благодарю за пояснения!
>> 1) Если virtual_mailbox_maps не задан, то проверку осуществляет dovecot
>> 2) Вместо smtpd_sender_login_maps используется бэкнд dovecot через
>> smtpd_sasl_auth_enable = yes
>> smtpd_sasl_type = dovecot
>> smtpd_sasl_path = private/auth
>> smtpd_sasl_security_options = noanonymous
>Таки да, при пустых smtpd_sender_login_maps и virtual_mailbox_maps все работает корректно!Что, и reject_sender_login_mismatch тоже полностью работает?
Или зачем вы smtpd_sender_login_maps задавали?
> Что, и reject_sender_login_mismatch тоже полностью работает?
> Или зачем вы smtpd_sender_login_maps задавали?Не помню почему, но у меня этот параметр закомментирован. Наверное из-за того, что мне нужно было разрешить некоторым пользователям отправлять от имени другого лица.
Вот мои полные настройки:
smtpd_sender_restrictions =
reject_unknown_sender_domain
reject_non_fqdn_sender
warn_if_reject reject_unlisted_sender
check_sender_access pcre:/usr/local/etc/postfix/sender_access.pcre
permit_mynetworks
permit_sasl_authenticated
#reject_sender_login_mismatchВечером проверю, когда нагрузка спадет.
>> Что, и reject_sender_login_mismatch тоже полностью работает?
>> Или зачем вы smtpd_sender_login_maps задавали?smtpd_sender_login_maps был добавлен, но не донастроен, для того чтобы осуществлять отправку от имени другого лица, главным образом от имени группы.
reject_sender_login_mismatch работает, но не смотря на то что smtpd_sender_login_maps не донастроен, не содержит дополнительных разрешенных имен, отправка от имени группы возможна. И вот как понять, это баг или фича, или мое непонимание/незнание postfix-а?
Текущая настройка:
smtpd_sender_restrictions =
reject_unknown_sender_domain
reject_non_fqdn_sender
warn_if_reject reject_unlisted_sender
check_sender_access pcre:/usr/local/etc/postfix/sender_access.pcre
permit_mynetworks
permit_sasl_authenticated
warn_if_reject reject_sender_login_mismatch
> reject_sender_login_mismatch работает ... [cut]
> не содержит дополнительных разрешенных имен, отправка от имени группы
> возможна. И вот как понять, это баг или фича, или мое
> непонимание/незнание postfix-а?Чтобы это понять, надо воспроизвести ситуацию, когда авторизованный пользователь НЕ сможет отправить письмо из-за наличия reject_sender_login_mismatch. Тогда будет однозначно понятно, что reject_sender_login_mismatch реально работает, и можно будет уточнять реальное положение дел.