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

Исходное сообщение
"courier-imap: LOGIN FAILED"

Отправлено avt179769 , 19-Июл-11 17:38 
Здравствуйте, настраиваю связку Postfix, Cyrus-SASL, MySQL, Courier-IMAP, postfixadmin
по http://sys-adm.org.ua/mail/mail-howto-p1.php#virtual

Настроил, завожу ящик "proba2"в postfixadmin, прописываю в клиенте все настройки для учетки.
При проверке учетки вылезает окно ввести пароль заново, в логах
/var/log/maillog: courier-imap: LOGIN FAILED, user=proba2, ip=[192.168.200.134]

Не пойму в чем дело....

# cat /usr/local/etc/authlib/authdaemonrc | grep -v ^# | grep -v ^$

authmodulelist="authmysql"
authmodulelistorig="authmysql"
daemons=5
authdaemonvar=/var/run/authdaemond
subsystem=mail
DEBUG_LOGIN=2
DEFAULTOPTIONS="wbnodsn=1"
LOGGEROPTS=""

cat /usr/local/etc/authlib/authmysqlrc | grep -v ^# | grep -v ^$

authmodulelist="authmysql"
authmodulelistorig="authmysql"
daemons=5
authdaemonvar=/var/run/authdaemond
subsystem=mail
DEBUG_LOGIN=2
DEFAULTOPTIONS="wbnodsn=1"
LOGGEROPTS=""

cat /usr/local/etc/authlib/authmysqlrc | grep -v ^# | grep -v ^$

MYSQL_USERNAME          postfix
MYSQL_PASSWORD          postfix
MYSQL_SOCKET            /tmp/mysql.sock
MYSQL_OPT               0
MYSQL_DATABASE          postfix
MYSQL_CHARACTER_SET     utf8
MYSQL_USER_TABLE        mailbox
MYSQL_CRYPT_PWFIELD     password
MYSQL_CLEAR_PWFIELD     password
MYSQL_UID_FIELD         '1981'
MYSQL_GID_FIELD         '1981'
MYSQL_LOGIN_FIELD       username
MYSQL_HOME_FIELD        '/var/spool/mail'
MYSQL_NAME_FIELD        name
MYSQL_MAILDIR_FIELD     maildir
MYSQL_QUOTA_FIELD       quota
MYSQL_WHERE_CLAUSE      active='1'

cat /usr/local/etc/courier-imap/pop3d | grep -v ^# | grep -v ^$

PIDFILE=/var/run/pop3d.pid
MAXDAEMONS=40
MAXPERIP=4
POP3AUTH="PLAIN LOGIN CRAM-MD5"
POP3AUTH_ORIG="PLAIN LOGIN CRAM-MD5"
POP3AUTH_TLS="PLAIN LOGIN CRAM-MD5"
POP3AUTH_TLS_ORIG="PLAIN LOGIN CRAM-MD5"
POP3_PROXY=0
PORT=110
ADDRESS=0
TCPDOPTS="-nodnslookup -noidentlookup"
LOGGEROPTS="-name=courier-imap"
POP3DSTART=YES
MAILDIRPATH=Maildir

cat /etc/my.cnf  | grep -v ^# | grep -v ^$

[client]
port            = 3306
socket          = /tmp/mysql.sock
[mysqld]
port            = 3306
socket          = /tmp/mysql.sock
skip-external-locking
key_buffer_size = 256M
max_allowed_packet = 1M
table_open_cache = 256
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size= 16M
log=/var/log/mysql.log
bind-address=127.0.0.1
thread_concurrency = 8
log-bin=mysql-bin
binlog_format=mixed
server-id       = 1
[mysqldump]
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
[myisamchk]
key_buffer_size = 128M
sort_buffer_size = 128M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout

cat /etc/postfix/main.cf | grep -v ^# | grep -v ^$

queue_directory = /var/spool/postfix
command_directory = /usr/sbin
base = /etc/postfix
daemon_directory = /usr/libexec/postfix
data_directory = /var/db/postfix
mail_owner = postfix
myhostname = serv3.xxxxxxxxxxxx.ru
mydomain = xxxxxxxxxxxx.ru
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost
local_recipient_maps = unix:passwd.byname $alias_maps
unknown_local_recipient_reject_code = 550
mynetworks_style = host
mynetworks = 127.0.0.0/8
alias_maps = hash:/etc/postfix/aliases
alias_database = hash:/etc/postfix/aliases


smtpd_banner = $myhostname ESMTP
debug_peer_level = 2
debugger_command =
         PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
         ddd $daemon_directory/$process_name $process_id & sleep 5
sendmail_path = /usr/sbin/sendmail
newaliases_path = /usr/bin/newaliases
mailq_path = /usr/bin/mailq
setgid_group = maildrop
html_directory = /usr/share/doc/postfix
manpage_directory = /usr/share/man
sample_directory = /etc/postfix
readme_directory = /usr/share/doc/postfix
smtpd_client_restrictions =  permit_mynetworks,
                             permit_sasl_authenticated,
                             check_client_access hash:$base/client_access,
                             reject_unknown_client_hostname
smtpd_helo_restrictions =       check_helo_access hash:$base/hello_access,
                                permit_mynetworks,
                                permit_sasl_authenticated,
                                reject_invalid_helo_hostname,
                                reject_non_fqdn_helo_hostname,
                                reject_unknown_helo_hostname
smtpd_sender_restrictions =     permit_mynetworks,
                                check_sender_access hash:$base/sender_access,
                                reject_authenticated_sender_login_mismatch,
                                reject_unknown_sender_domain,
                                reject_unlisted_sender,
                                reject_unverified_sender
smtpd_recipient_restrictions =  permit_mynetworks,
                                permit_sasl_authenticated,
                                reject_unauth_destination,
                                check_recipient_access hash:$base/recipient_access,
                                reject_unlisted_recipient,
                                reject_unknown_recipient_domain,
                                reject_non_fqdn_recipient,
                                reject_unverified_recipient
smtpd_etrn_restrictions = reject
smtpd_reject_unlisted_sender = yes
disable_vrfy_command = yes
strict_rfc821_envelopes = yes
show_user_unknown_table_name = no
address_verify_sender = <>
unverified_sender_reject_code = 550
smtpd_helo_required = yes
smtp_always_send_ehlo = yes
smtpd_hard_error_limit = 8
smtpd_sasl_auth_enable = yes
smtpd_sasl_application_name = smtpd
broken_sasl_auth_clients = yes
smtpd_sasl_security_options = noanonymous
smtpd_sender_login_maps = mysql:$base/mysqlLookupMaps/sender.conf
virtual_alias_maps = mysql:$base/mysqlLookupMaps/alias.conf
virtual_mailbox_domains = mysql:$base/mysqlLookupMaps/domain.conf
virtual_mailbox_maps = mysql:$base/mysqlLookupMaps/mailbox.conf
virtual_mailbox_base = /var/spool/mail
virtual_mailbox_limit_maps = mysql:$base/mysqlLookupMaps/quota.conf
virtual_maildir_extended=yes
virtual_mailbox_limit_override=yes
virtual_create_maildirsize = yes
virtual_overquota_bounce = yes
virtual_maildir_limit_message="Sorry, the user's maildir has overdrawn his diskspace quota, please try again later"
message_size_limit = 10242880
virtual_gid_maps = static:1981
virtual_uid_maps = static:1981
virtual_minimum_uid = 1000

cat /usr/local/lib/sasl2/smtpd.conf

pwcheck_method: auxprop
mech_list: PLAIN LOGIN CRAM-MD5
auxprop_plugin: sql
sql_usessl: yes
sql_engine: mysql
sql_hostnames: localhost
sql_user: postfix
sql_passwd: postfix
sql_database: postfix
sql_select: select password from mailbox where username = '%u@%r'
log_level: 3

Не могу понять, что за дела, подскажите пожалуйста



Содержание

Сообщения в этом обсуждении
"courier-imap: LOGIN FAILED"
Отправлено avt179769 , 20-Июл-11 09:45 
Что самое интересное в логах /var/log/maillog нет вообще сообщений от authdaemond(только о его старте) хотя установлен debug=2,в логах sql тоже тишина.....По идее же в этих журналах должны быть сообщения при попытках аунтификации.

"courier-imap: LOGIN FAILED"
Отправлено vlb267 , 20-Июл-11 09:54 
> Что самое интересное в логах /var/log/maillog нет вообще сообщений от authdaemond(только
> о его старте) хотя установлен debug=2,в логах sql тоже тишина.....По идее
> же в этих журналах должны быть сообщения при попытках аунтификации

  Должно быть DEBUG_LOGIN =2


"courier-imap: LOGIN FAILED"
Отправлено avt179769 , 20-Июл-11 09:59 
Да это я сократил, стоит то конечно DEBUG_LOGIN =2



"courier-imap: LOGIN FAILED"
Отправлено vlb267 , 20-Июл-11 10:03 
> Да это я сократил, стоит то конечно DEBUG_LOGIN =2

При debug_login =2 видно все.
Рестарт authdaemond  был сделан ?


"courier-imap: LOGIN FAILED"
Отправлено avt179769 , 20-Июл-11 10:14 
>> Да это я сократил, стоит то конечно DEBUG_LOGIN =2
>  При debug_login =2 видно все.
>  Рестарт authdaemond  был сделан

Да и не раз.



"courier-imap: LOGIN FAILED"
Отправлено vlb267 , 20-Июл-11 12:21 
>>> Да это я сократил, стоит то конечно DEBUG_LOGIN =2
>>  При debug_login =2 видно все.
>>  Рестарт authdaemond  был сделан
> Да и не раз.

# telnet localhost 110
   user asd@test.ru
   pass sdsdsdsds


И что в логах ?


"courier-imap: LOGIN FAILED"
Отправлено avt179769 , 20-Июл-11 15:59 
>>>> Да это я сократил, стоит то конечно DEBUG_LOGIN =2
>>>  При debug_login =2 видно все.
>>>  Рестарт authdaemond  был сделан
>> Да и не раз.
>  # telnet localhost 110
>    user asd@test.ru
>    pass sdsdsdsds
>  И что в логах ?

Jul 20 15:57:33 serv3 courier-imap: LOGIN FAILED, user=asd@test.ru, ip=[127.0.0.1]
Jul 20 15:57:44 serv3 courier-imap: LOGOUT, ip=[127.0.0.1]


"courier-imap: LOGIN FAILED"
Отправлено avt179769 , 20-Июл-11 16:37 
Попыталя соединиться на 110 порт
взял user proba2@XXXXXXXX.ru, XXXXXXXX.ru-моё доменное имя
взял pass из mysql таблицы mailbox шифрованный,соединился, пароль подошел, далее мне выдал вот что в telnet:


-ERR chdir XXXXXXXX.ru/proba2@XXXXXXXX.ru/ failed


Вбил в клиенте Пользователь proba2@XXXXXXXX.ru
Пароль шифрованный из таблицы mysql

В логах вижу аунтификацию


Jul 20 16:33:02 serv3 authdaemond: Authenticated: sysusername=<null>, sysuserid=1981, sysgroupid=1981, homedir=/var/spool/mail, address=proba2@XXXXXXXX.ru,
Jul 20 16:33:02 serv3 authdaemond: Authenticated: clearpasswd=$dfgdfgdfgdfgdfgdfgdfgdfgzzz/, passwd=<null>
Jul 20 16:33:02 serv3 courier-imap: chdir XXXXXXXX.ru/proba2@XXXXXXXX.ru/: No such file or directory
Jul 20 16:33:04 serv3 postfix/smtpd[1692]: connect from unknown[192.168.200.134]
Jul 20 16:33:04 serv3 postfix/smtpd[1692]: NOQUEUE: reject: RCPT from unknown[192.168.200.134]: 450 4.7.1 Client host rejected: cannot find your hostname, [1
Jul 20 16:33:04 serv3 postfix/smtpd[1692]: lost connection after RCPT from unknown[192.168.200.134]
Jul 20 16:33:04 serv3 postfix/smtpd[1692]: disconnect from unknown[192.168.200.134]


"courier-imap: LOGIN FAILED"
Отправлено Andrey Mitrofanov , 20-Июл-11 16:45 
> -ERR chdir XXXXXXXX.ru/proba2@XXXXXXXX.ru/ failed
> Jul 20 16:33:02 serv3 courier-imap: chdir XXXXXXXX.ru/proba2@XXXXXXXX.ru/: No such file
> or directory

Не может перейти в директорию почтового ящика.

Вот прямо _так_ и написано, представляешь?!

Почему? Нет прав, или нет ящика, и нет прав, чтобы его создать, или не настроено создание директории, если её нет, или неправильно прописаны пути, или...


"courier-imap: LOGIN FAILED"
Отправлено avt179769 , 20-Июл-11 17:57 
>> -ERR chdir XXXXXXXX.ru/proba2@XXXXXXXX.ru/ failed
>> Jul 20 16:33:02 serv3 courier-imap: chdir XXXXXXXX.ru/proba2@XXXXXXXX.ru/: No such file
>> or directory
> Не может перейти в директорию почтового ящика.
> Вот прямо _так_ и написано, представляешь?!
> Почему? Нет прав, или нет ящика, и нет прав, чтобы его создать,
> или не настроено создание директории, если её нет, или неправильно прописаны
> пути, или...

Подскажите пожалуйста,
Вопрос такой: как прописать и где, создание этой директории? Если можно подробно...



"courier-imap: LOGIN FAILED"
Отправлено Andrey Mitrofanov , 20-Июл-11 18:04 
> Вопрос такой: как прописать и где, создание этой директории? Если можно подробно...

У меня вообще не курьер, поэтому без понятия.
http://lmgtfy.com/?q=%22courier-imap%3A+chdir%...

На моём dovecot аналогичную ошибку могли (бы) вызывать чуть не десятки _разных ошибок в правах и настройках. И я это узнал разобравшись сам^Wпо wiki и на натурных экспериментах, как оно работает.

Поэтому готового и простого рецепта у меня нет.


"courier-imap: LOGIN FAILED"
Отправлено avt179769 , 21-Июл-11 00:19 
>>>> Да это я сократил, стоит то конечно DEBUG_LOGIN =2
>>>  При debug_login =2 видно все.
>>>  Рестарт authdaemond  был сделан
>> Да и не раз.
>  # telnet localhost 110
>    user asd@test.ru
>    pass sdsdsdsds
>  И что в логах ?

Всем спасибо(особенно vlb267 за telnet localhost 110), проблема решена

1) в /usr/local/www/postfixadmin/config.inc.php нужно чтобы было
$CONF['encrypt'] = 'cleartext'; иначе пароль будет шифроваться(а в клиенте я вводил нешифрованный пароль) и будет ругаться на
"courier-imap: LOGIN FAILED"
2)Нужно отправить тестовое письмо созданному в postfix ящику, вот так к примеру

mail propa@svyatovit.ru

, для того, чтобы создались все папки для данного ящика.