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

Исходное сообщение
"Exim4  535 Incorrect authentication data"

Отправлено noisebringer , 15-Дек-15 19:13 
Всем доброго времени суток.
Настраиваю сервер, с которого должна происходить отправка электронной почти из программы на С.
В качестве операционной системы используется Debian. В качестве почтового сервера был выбран Exim.

Авторизацию в Exim настраивалась по мануалу

https://help.ubuntu.com/lts/serverguide/exim4.html

В программе на C используется libcurl в качестве SMTP клиента, который должен подключиться к серверу и отправить нужное сообщение.

В итоге получается

> AUTH LOGIN c2VydmljZQ==

* SMTP 0x2253df8 state change from EHLO to AUTHPASSWD
< 334 UGFzc3dvcmQ6
> dGhlYmVzdHNlcnZpY2Vpbndob2xld29ybGQ=

* SMTP 0x2253df8 state change from AUTHPASSWD to AUTH
< 535 Incorrect authentication data
* Authentication failed: 535
> QUIT

В логе /var/log/exim4/mainlog написано вот это
login_saslauthd_server authenticator failed for cityboard.info (cityboard) [W.X.Y.Z]: 535 Incorrect authentication data (set_id=service)

Пользователь, с помощью которого программа не может пройти авторизацию на сервере, создавался с помощью команды /usr/share/doc/exim4-base/examples/exim-adduser, которая успешно записала в /etc/exim4/passwd вот такую строчку
service:$1$iOUE$B1ITsJwNgcAXKNBwDdrHC/:dsadasdsadsadas

Разрешения у файла /etc/exim4/passwd прописаны вот такие
-rw-r-----  1 root Debian-exim    67 Дек 15 18:39 passwd

При этом даже если не использовать libcurl а просто подключиться с помощью
openssl s_client -debug -starttls smtp -crlf -connect W.X.Y.Z:25
и написать ehlo, а потом auth login происходит то же самое

В какую сторону копать?


Лёд тронулся, господа присяжные заседатели!
Авторизация прошла, письмо отправилось, НО только когда пользователь с такими учетными данными был добавлен в систему с помощью adduser.

Как теперь сделать, чтобы пользователи электронной почты были отдельно от пользователей системных. Чтобы exim использоватл свой passwd?


Содержание

Сообщения в этом обсуждении
"Exim4  535 Incorrect authentication data"
Отправлено ALex_hha , 15-Дек-15 22:32 
> Как теперь сделать, чтобы пользователи электронной почты были отдельно от пользователей
> системных. Чтобы exim использоватл свой passwd?

стоить начать читать офф документацию. Секции про роутеры и транспорты.


begin routers
...
virtual_user:
   driver = accept
   condition = ${if eq{}{${lookup mysql{SELECT `maildir` FROM `mailbox` \
              WHERE `username`='${quote_mysql:$local_part@$domain}'}}}{no}{yes}}
   transport = virtual

...

begin transports

remote_smtp:
    driver = smtp

virtual:
    driver = appendfile
    check_string = ""
    create_directory
    delivery_date_add
    directory = ${lookup mysql{SELECT CONCAT('/var/mail/exim/', `maildir`) \
                FROM `mailbox` WHERE `username`='${local_part}@${domain}'}}
    directory_mode = 770
    envelope_to_add
    group = mail
    maildir_format
    maildir_tag = ,S=$message_size
    message_prefix = ""
    message_suffix = ""
    mode = 0600



"Exim4  535 Incorrect authentication data"
Отправлено noisebringer , 16-Дек-15 05:27 
>[оверквотинг удален]
>     FROM `mailbox` WHERE `username`='${local_part}@${domain}'}}
>     directory_mode = 770
>     envelope_to_add
>     group = mail
>     maildir_format
>     maildir_tag = ,S=$message_size
>     message_prefix = ""
>     message_suffix = ""
>     mode = 0600
>

Доброе утро :)
Спасибо за ответ, но вариант с базой на данный момент не интересует. Нужно сделать чтобы просто использовался файл /etc/exim4/passwd


"Exim4  535 Incorrect authentication data"
Отправлено ALex_hha , 17-Дек-15 00:24 
> Нужно сделать чтобы просто использовался файл /etc/exim4/passwd

в документации все это есть


"Exim4  535 Incorrect authentication data"
Отправлено noisebringer , 17-Дек-15 05:14 
>> Нужно сделать чтобы просто использовался файл /etc/exim4/passwd
> в документации все это есть

Возможно.

На данный момент вопрос решился по-другому, несколько топорненько правда, но решился. :)
Создан системный пользователь, который добавлен в чёрный список SSH и у которого шелл выставлен в /bin/false
Какого-либо реального воздействия на производительность или безопасность это не оказывает, так что в принципе сойдет :)


"Exim4  535 Incorrect authentication data"
Отправлено ALex_hha , 19-Дек-15 19:24 
> На данный момент вопрос решился по-другому, несколько топорненько правда, но решился. :)
> Создан системный пользователь, который добавлен в чёрный список SSH и у которого
> шелл выставлен в /bin/false
> Какого-либо реального воздействия на производительность или безопасность это не оказывает,
> так что в принципе сойдет :)

если речь была всего об одной учетке, то нет и смысла что то выдумывать с виртуальными пользователями. Если количество ящиков (пользователей) > 50, то тогда имеет смысл посмотреть в сторону виртуальных пользователей. А какой при этом использовать backend особого значения не имеет, имхо


"Exim4  535 Incorrect authentication data"
Отправлено fantom , 21-Дек-15 06:36 
>> На данный момент вопрос решился по-другому, несколько топорненько правда, но решился. :)
>> Создан системный пользователь, который добавлен в чёрный список SSH и у которого
>> шелл выставлен в /bin/false
>> Какого-либо реального воздействия на производительность или безопасность это не оказывает,
>> так что в принципе сойдет :)
> если речь была всего об одной учетке, то нет и смысла что
> то выдумывать с виртуальными пользователями. Если количество ящиков (пользователей) >
> 50, то тогда имеет смысл посмотреть в сторону виртуальных пользователей. А
> какой при этом использовать backend особого значения не имеет, имхо

Эх люди,люди..
Не зная броду..
Авторизацией по SMTP занимается saslauthd, так что и пинать надо сасл а никак не екзим!



"Exim4  535 Incorrect authentication data"
Отправлено ALex_hha , 21-Дек-15 10:31 
> Эх люди,люди..
> Не зная броду..
> Авторизацией по SMTP занимается saslauthd, так что и пинать надо сасл а
> никак не екзим!

тогда смотреть http://sys-adm.org.ua/mail/postfix-cyrus-sasl2

P.S.
postfix заменить на exim :)