URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 97467
[ Назад ]

Исходное сообщение
"Карта smtpd_sender_login_maps в postfix из userdb от dovecot?"

Отправлено gardener , 23-Сен-19 22:06 
Здравствуйте!

Есть у нас почтовая система из postfix и Dovecot. База пользователей типа passwd-file обслуживается Dovecot. При этом postfix авторизует пользователей на основании данных предоставляемых Dovecot.

Вопрос в том, возможно ли не используя sql, ldap или другие сетевые хранилища, не дублировать уже имеющуюся в базе пользователей информацию. В частности можно ли и как научить postfix получать информацию о логинах в smtpd_sender_login_maps от Dovecot?

P.S. По ходу написания сообщения возникла мысль, а возможно ли привязать скрипт? Может сообщество дополнительно поделится информацией как postfix обрабатывает подобного рода параметры?

P.P.S. Отказ от mysql, явился вынужденным действием вследствие его безпричинных падений. С другой стороны ящиков с гулькин нос, и нет необходимости в чем-то кроме файловой базы типа passwd-file.


Содержание

Сообщения в этом обсуждении
"Карта smtpd_sender_login_maps в postfix из userdb от dovecot?"
Отправлено abi , 24-Сен-19 13:09 
> Здравствуйте!
> Есть у нас почтовая система из postfix и Dovecot. База пользователей типа
> passwd-file обслуживается Dovecot. При этом postfix авторизует пользователей на основании
> данных предоставляемых Dovecot.

У меня дома на локалхосте так же, ибо пользователь один :)
А какая информация у Вас дублируется? У меня как будто бы ничего не дублировано, postfix'у указан virtual_transport, а в конфиге dovecot поднят lmtp


"Карта smtpd_sender_login_maps в postfix из userdb от dovecot?"
Отправлено gardener , 24-Сен-19 15:17 
> А какая информация у Вас дублируется? У меня как будто бы ничего
> не дублировано, 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 в postfix из userdb от dovecot?"
Отправлено abi , 24-Сен-19 15:39 
> 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


"Карта smtpd_sender_login_maps в postfix из userdb от dovecot?"
Отправлено gardener , 24-Сен-19 23:28 
> 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 все работает корректно!
Благодарю за пояснения!


"Карта smtpd_sender_login_maps в postfix из userdb от dovecot?"
Отправлено PavelR , 25-Сен-19 05:34 
>> 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 задавали?


"Карта smtpd_sender_login_maps в postfix из userdb от dovecot?"
Отправлено gardener , 25-Сен-19 15:25 

> Что, и 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

Вечером проверю, когда нагрузка спадет.


"Карта smtpd_sender_login_maps в postfix из userdb от dovecot?"
Отправлено gardener , 25-Сен-19 22:20 
>> Что, и 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


"Карта smtpd_sender_login_maps в postfix из userdb от dovecot?"
Отправлено PavelR , 26-Сен-19 06:46 
> reject_sender_login_mismatch работает ... [cut]
> не содержит дополнительных разрешенных имен, отправка от имени группы
> возможна. И вот как понять, это баг или фича, или мое
> непонимание/незнание postfix-а?

Чтобы это понять, надо воспроизвести ситуацию, когда авторизованный пользователь НЕ сможет отправить письмо из-за наличия reject_sender_login_mismatch. Тогда будет однозначно понятно, что reject_sender_login_mismatch реально работает, и можно будет уточнять реальное положение дел.