Здравствуйте. Пытаюсь настроить следующую связку Postfix + SASL + MySQL. Для дальнейшей настройки и вообще понимания того, что я делаю хочу задать вам несколько вопросов. Итак:
1. если в /usr/lib/sasl2/smtpd.conf я указываю pwcheck_method: auxprop, то нужно ли вообще
запускать saslauthd, если нужно то с какими праматрами, я имею ввиду saslauthd -a ...?
2. как вообще проверить правильность настройки SASL. testsaslauthd? он сам сможет подключиться к базе mysql?
3. какой должен быть параметр в mysql_statement, в смысле что select должен выдавать для успешной
авторизации на сервере, только имя пользователя и пароль?
>[оверквотинг удален]
> настройки и вообще понимания того, что я делаю хочу задать вам
> несколько вопросов. Итак:
> 1. если в /usr/lib/sasl2/smtpd.conf я указываю pwcheck_method: auxprop, то нужно ли вообще
> запускать saslauthd, если нужно то с какими праматрами, я имею ввиду saslauthd
> -a ...?
> 2. как вообще проверить правильность настройки SASL. testsaslauthd? он сам сможет подключиться
> к базе mysql?
> 3. какой должен быть параметр в mysql_statement, в смысле что select должен
> выдавать для успешной
> авторизации на сервере, только имя пользователя и пароль?1. Нет
2. Отправить письмо
3. Думаю пароль :)
спасибо. немножко проясняется)
а что может означать в /var/log/maillog вот это:
Feb 4 16:41:39 mail postfix/smtpd[18471]: xsasl_cyrus_server_init: SASL config file is smtpd.conf
Feb 4 16:41:39 mail postfix/smtpd[18471]: warning: SASL per-process initialization failed: generic failure
Feb 4 16:41:39 mail postfix/smtpd[18471]: fatal: SASL per-process initialization failed
Feb 4 16:41:40 mail postfix/master[18379]: warning: process /usr/lib/postfix/smtpd pid 18471 exit status 1
Feb 4 16:41:40 mail postfix/master[18379]: warning: /usr/lib/postfix/smtpd: bad command startup -- throttling
если такой main.cf
myhostname = mail.office.*****.ru
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = mail.office.*****.ru, localhost
relayhost =
#mynetworks = 127.0.0.0/8
mynetworks_style = host
mailbox_size_limit = 0
recipient_delimiter =
inet_interfaces = all
inet_protocols = ipv4smtpd_sasl_local_domain = virtual.office.*****.ru
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtdp_sasl_authenticated_header = yes
smtpd_sasl_application_name = smtpd
smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destinationvirtual_mailbox_domains = virtual.office.*****.ru
virtual_uid_maps = static:1111
virtual_gid_maps = static:1111
virtual_mailbox_base = /var/spool/virtual_mailboxes
virtual_mailbox_maps = hash:/etc/postfix/virtual_mailbox_recipients
и такой smtpd.conf
log_level: 3saslauthd_path: /var/run/saslauthd/mux
pwcheck_method: auxprop
mech_list: PLAIN LOGIN CRAM MD5 DIGEST MD5auxprop_plugin: sql
sql_engine: mysql
sql_hostnames: localhost
sql_database: mail
sql_user: postfix
sql_passwd: *********
sql_select: SELECT userpassword FROM users WHERE username = '%u' AND userrealm = '%r'
AND auth = '1'
sql_usessl: no
так. ошибку я исправил. а вот что касается проверки правильности работы аутентификации на сервере, я не пойму. письмо по telnet отправляю c компа с другим IP, от имени одного пользователя домена виртуального почтового ящика, другому пользователю в этом же домене. оба пользователя есть в таблице users в bd mail. письмо доходит. удаляю одного пользователя из таблицы. письмо доходит. вопросы:
1. корректен ли мой тест?
2. обьясните, пожалуйста, назначение таблицы users в процессе аутентификации и карты получателей домена виртуальных почтовых ящиков?
> так. ошибку я исправил. а вот что касается проверки правильности работы аутентификации
> на сервере, я не пойму. письмо по telnet отправляю c
> компа с другим IP, от имени одного пользователя домена виртуального почтового
> ящика, другому пользователю в этом же домене. оба пользователя есть в
> таблице users в bd mail. письмо доходит. удаляю одного пользователя из
> таблицы. письмо доходит. вопросы:
> 1. корректен ли мой тест?
> 2. обьясните, пожалуйста, назначение таблицы users в процессе аутентификации и карты получателей
> домена виртуальных почтовых ящиков?1. Смотря что ты проверяешь
2. Что это за таблица users?
пытаюсь проверить работает ли аутентификация.
ситуация у меня сейчас такая. в mysql хранится в таблице domains имена виртуальных доменов, которые может обслуживать Postfix, в таблице users список виртуальных пользователей, UIN и GID берутся от созданного пользователя - владельца виртуальных почтовых ящиков virtual_uid_maps = static:1111, virtual_gid_maps = static:1111
с сервра в инете (vds) через sendemail отправляю письмо для пользователя который есть в таблице users, письмо успешно доходит, отправляю пользователю которого нет в той таблице, письмо не приходит. при этом mynetworks_style = host, smtpd_recipient_restrictions = permit_sasl_authenticated,reject_unauth_destination и
ehlo client
250-mail.office.*****.ru
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-AUTH LOGIN DIGEST-MD5 PLAIN CRAM-MD5 NTLM
250-AUTH=LOGIN DIGEST-MD5 PLAIN CRAM-MD5 NTLM
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
т.е. SASL должен использоваться и пересылка разрешена только прошедшим проверку.
какой из всего можно сделать вывод касательно аутентификации? мне кажется она всё-таки работает. или нет?