sendmail обслуживает несколько доменов, описанных в virtusertable
hostmaster@$domain1 virtuser_1015
@domain1 error:nouser No such user here
hostmaster@$domain2 virtuser_1023
@domain2 error:nouser No such user herevirtuser_1015 и другие virtuser_* заведены как системные юзеры.
сейчас dovecot настроен на прием $login и $password
а хочется юзать $login@$domain и $passwordСоздавать вторую базу с паролями для Dovecot не имею желание.
Хочу, чтоб dovecot лез в /etc/mail/virtusertable за таблицей соответствия.
> Создавать вторую базу с паролями для Dovecot не имею желание.
> Хочу, чтоб dovecot лез в /etc/mail/virtusertable за таблицей соответствия.Не, ну масса же вариантов!!
1/ Вырываешь волосок из бороды, "трахтибидох! хочу!" и тд.
2/ Исходники голубятни в руки -- и "погнали наши"....
3/ [Админско-скриптовое...] Ствишь "перед" давкотом на pop3 (и imap?) nginx, к нему скрипт на любимом скриптовом -- для авторизации по http, в этом скрипте смотреть табличку и возвращать nginx-у правильный virtuser_* в заголовкеAuth-User: newname # you may override the user name to login to a backend
>[оверквотинг удален]
>> Хочу, чтоб dovecot лез в /etc/mail/virtusertable за таблицей соответствия.
> Не, ну масса же вариантов!!
> 1/ Вырываешь волосок из бороды, "трахтибидох! хочу!" и тд.
> 2/ Исходники голубятни в руки -- и "погнали наши"....
> 3/ [Админско-скриптовое...] Ствишь "перед" давкотом на pop3 (и imap?) nginx, к нему
> скрипт на любимом скриптовом -- для авторизации по http, в этом
> скрипте смотреть табличку и возвращать nginx-у правильный virtuser_* в заголовке
> Auth-User: newname # you may override the user name to
> login to a backend
> http://wiki.nginx.org/MailCoreModuleОпять костыли предлагаешь?
> Опять костыли предлагаешь?Отчего же? Первые два варианта -- вполне прямолинейные. Или нет? :D
Что я пропустил? Предложи другое (простое? :-P) решение задачи "не хочу вторую таблицу"?
>> Опять костыли предлагаешь?
> Отчего же? Первые два варианта -- вполне прямолинейные. Или нет? :D1) мну не Хоттабыч
2) объем кода непосильный> Что я пропустил? Предложи другое (простое? :-P) решение задачи "не хочу вторую
> таблицу"?3) Придется делать дубль /etc/passwd, потом как-то синхронизировать изменения.
>>> Опять костыли предлагаешь?
>> Отчего же? Первые два варианта -- вполне прямолинейные. Или нет? :D
> 1) мну не Хоттабыч
> 2) объем кода непосильный
>> Что я пропустил? Предложи другое (простое? :-P) решение задачи "не хочу вторую
>> таблицу"?
> 3) Придется делать дубль /etc/passwd, потом как-то синхронизировать изменения.тут играем, тут рыбу заворачиваем...
уж лучше отделить системных пользователей от почтовых и использовать saslauthd,
это всего лишь imhosendmail для virtual domain - костыль :(
> тут играем, тут рыбу заворачиваем...
> уж лучше отделить системных пользователей от почтовых и использовать saslauthd,
> это всего лишь imhosaslauthd_enable="YES"
saslauthd_flags="-a getpwent"
Но сугубо для авторизации юзеров при отправки писем.> sendmail для virtual domain - костыль :(
возможно.
>> тут играем, тут рыбу заворачиваем...
>> уж лучше отделить системных пользователей от почтовых и использовать saslauthd,
>> это всего лишь imho
> saslauthd_enable="YES"
> saslauthd_flags="-a getpwent"
> Но сугубо для авторизации юзеров при отправки писем.getpwent для системного passwd, а хочется как я понял,
системных как обычно "username", а виртуальных как user@domainsendmail должен определить локальных для основного домена и виртуальных для виртуальных,
чтобы пропустить почту дальше на LDA, а вот в качестве LDA уже dovecot.
Вот dovecot и должен через saslauthd правильно аутентифицировать.
Если память не изменяет, то sasldb позволяет и username и username@domain.
Ну или поизучать pam чтобы можно было как через username, так и через username@domain
пускать, тут возможно придется над pam'ом поколдовать или посмотреть мож что из
портов из PAM модулей подойдет.Ну и почитать dovecot на предмет auth, возможно поковырять исходники