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

Исходное сообщение
"pop3 авторизация"

Отправлено newbieee , 28-Фев-10 20:19 
asplinux12
mysql-5.0.45
postfix-2.4.3
courier-imap 4.4.1
courier-authlib 0.61.0
настраиваю почтовую систему,почта корректно отправляется и падает по папкам,при попытке забрать не проходит авторизация.

mysql> select * from usermail;
+--------------------------+----------+------+-----+-----------------------+----------+
|       login              |passwd    |  uid | gid |   maildir            | active    |
+--------------------------+----------+------+-----+-----------------------+----------+
| test@server.domain       |    test  |   501| 501 |/home/test/Maildir/ |        1    |
|admin@server.domain       |  admin   |   500| 500 |/home/admin/Maildir/|        1    |
+--------------------------+----------+------+-----+-----------------------+----------+

[build@server build]$ ./configure --with-authmysql --with-mysql-libs=/usr/lib/mysql --with-mysql-includes=/usr/include/mysql
[build@server build]$ make
[root@server build]# make install-strip
[root@server build]# make install-configure
[root@server build]#  cat /usr/local/etc/authlib/authmysqlrc | grep -v ^# | grep -v ^$

MYSQL_SERVER localhost
MYSQL_USERNAME admin
MYSQL_PASSWORD admin
MYSQL_SOCKET /var/lib/mysql/mysql.sock
MYSQL_PORT 0
MYSQL_OPT 0
MYSQL_DATABASE mail
MYSQL_USER_TABLE usermail
MYSQL_CRYPT_PWFIELD crypt
MYSQL_UID_FIELD uid
MYSQL_GID_FIELD gid
MYSQL_LOGIN_FIELD login
MYSQL__HOME_FIELD maildir
MYSQL_NAME_FIELD login
MYSQL_MAILDIR_FIELD maildir
MYSQL_SELECT_CLAUSE SELECT "login", "passwd", "uid", "gid", "maildir", "active"
                    FROM usermail
                    WHERE login=`'$(login)'`

[root@server build]#  cat /usr/local/etc/authlib/authdaemonrc | grep -v ^# | grep -v ^$
authmodulelist="authmysql"
authmodulelistorig="authmysql"
daemons=5
authdaemonvar=/usr/local/var/spool/authdaemon
DEBUG_LOGIN 2
DEFAELTOPTIONS=""
LOGGEROPTS=""

[root@server build]#  cat /usr/lib/courier-imap/pop3d | grep -v ^# | grep -v ^$
PIDFILE=/var/run/pop3d.pid
MAXDAEMONS=40
MAXPERIP=4
POP3AUTH="login"
POP3AUTH_ORIG="PLAIN LOGIN CRAM-MD5 CRAM-SHA1 CRAM-SHA256"
POP3AUTH_TLS="login"
POP3AUTH_TLS_ORIG="LOGIN PLAIN"
POP3_PROXY=0
PORT=110
ADDRESS=0
TCPDOPTS="-nodnslookup -noidentlookup"
LOGGEROPTS="-name=pop3d"
POP3DSTART=yes
MAILDIRPATH=Maildir

в maillog`e
Feb 27 06:46:35 server pop3d: Connection, ip=[::ffff:127.0.0.1]
Feb 27 06:46:54 server authdaemond: received auth request, service=pop3, authtype=login
Feb 27 06:46:54 server authdaemond: authmysql: trying this module
Feb 27 06:46:54 server authdaemond: SQL query: SELECT "login", "passwd", "uid", "gid", "maildir","active"
Feb 27 06:46:54 server authdaemond: invalid value for uid: 'gid'
Feb 27 06:46:54 server authdaemond: authmysql: TEMPFAIL - no more modules will be tried
Feb 27 06:46:54 server pop3d: LOGIN FAILED, user=admin@server.domain, ip=[::ffff:127.0.0.1]
Feb 27 06:46:54 server pop3d: authentication error: Input/output error

помогите разобраться


Содержание

Сообщения в этом обсуждении
"pop3 авторизация"
Отправлено ALex_hha , 01-Мрт-10 14:58 
> Feb 27 06:46:54 server authdaemond: invalid value for uid: 'gid'

здесь и ошибка, включай логирование в MySQL и смотри что возвращает запрос


"pop3 авторизация"
Отправлено newbieee , 02-Мрт-10 14:51 
>> Feb 27 06:46:54 server authdaemond: invalid value for uid: 'gid'
>
>здесь и ошибка, включай логирование в MySQL и смотри что возвращает запрос
>

Mar  1 18:11:42 server authdaemond: stopping authdaemond children
Mar  1 18:11:42 server authdaemond: restarting authdaemond children
Mar  1 18:11:42 server authdaemond: modules="authmysql", daemons=5
Mar  1 18:11:42 server authdaemond: Uninstalling authmysql
Mar  1 18:11:42 server authdaemond: Installing libauthmysql
Mar  1 18:11:42 server authdaemond: Installation complete: authmysql
Mar  1 18:11:44 server pop3d: Connection, ip=[::ffff:127.0.0.1]
Mar  1 18:12:01 server authdaemond: received auth request, service=pop3, authtype=login
Mar  1 18:12:01 server authdaemond: authmysql: trying this module
Mar  1 18:12:01 server authdaemond: authmysqllib: connected. Versions: header 50045, client 50045, server 50045
Mar  1 18:12:01 server authdaemond: SQL query: SELECT "login", "passwd", "uid", "gid", "maildir", "active"
Mar  1 18:12:01 server authdaemond: invalid value for uid: 'gid'
Mar  1 18:12:01 server authdaemond: authmysql: TEMPFAIL - no more modules will be tried
Mar  1 18:12:01 server pop3d: LOGIN FAILED, user=admin@server.domain, ip=[::ffff:127.0.0.1]
Mar  1 18:12:01 server pop3d: authentication error: Input/output error
Mar  1 18:17:30 server authdaemond: stopping authdaemond children
Mar  1 18:17:30 server authdaemond: restarting authdaemond children
Mar  1 18:17:30 server authdaemond: modules="authmysql", daemons=5
Mar  1 18:17:30 server authdaemond: Uninstalling authmysql
Mar  1 18:17:30 server authdaemond: Installing libauthmysql
Mar  1 18:17:30 server authdaemond: Installation complete: authmysql
Mar  1 18:17:32 server pop3d: Connection, ip=[::ffff:127.0.0.1]
Mar  1 18:17:42 server authdaemond: received auth request, service=pop3, authtype=login
Mar  1 18:17:42 server authdaemond: authmysql: trying this module
Mar  1 18:17:42 server authdaemond: authmysqllib: connected. Versions: header 50045, client 50045, server 50045
Mar  1 18:17:42 server authdaemond: SQL query: SELECT "login", "passwd", "gid", "uid", "maildir", "active"
Mar  1 18:17:42 server authdaemond: invalid value for uid: 'uid'
Mar  1 18:17:42 server authdaemond: authmysql: TEMPFAIL - no more modules will be tried
Mar  1 18:17:42 server pop3d: LOGIN FAILED, user=admin@server.domain, ip=[::ffff:127.0.0.1]
Mar  1 18:17:42 server pop3d: authentication error: Input/output error


mysql.log
/usr/libexec/mysqld, Version: 5.0.45-log (Source distribution). started with:
Tcp port: 0  Unix socket: /var/lib/mysql/mysql.sock
Time                 Id Command    Argument
100301 17:53:10          1 Connect     Access denied for user 'UNKNOWN_MYSQL_US'@'localhost' (using password: NO)
100301 17:53:22          2 Connect     admin@localhost on
              2 Init DB     mail
              2 Query       SELECT "login", "passwd", "uid", "gid", "maildir", "active"
100301 17:58:08          3 Connect     admin@localhost on
              3 Init DB     mail
              3 Query       SELECT "login", "passwd", "uid", "gid", "maildir", "active"
100301 18:17:01          6 Quit      
100301 18:17:42          7 Connect     admin@localhost on
              7 Init DB     mail
              7 Query       SELECT "login", "passwd", "gid", "uid", "maildir", "active"

что только не писал в uid и gid,не помогает


"pop3 авторизация"
Отправлено PavelR , 02-Мрт-10 15:08 

>100301 17:53:10       1 Connect  
>  Access denied for user 'UNKNOWN_MYSQL_US'@'localhost' (using password: NO)

не по глазам ?

>
>
>
>что только не писал в uid и gid,не помогает

Уже ничего не поможет.


"pop3 авторизация"
Отправлено newbieee , 02-Мрт-10 16:10 
>
>>100301 17:53:10       1 Connect  
>>  Access denied for user 'UNKNOWN_MYSQL_US'@'localhost' (using password: NO)
>
>не по глазам ?
>

и как это лечить?

100301 18:17:42          7 Connect     admin@localhost on


"pop3 авторизация"
Отправлено ALex_hha , 03-Мрт-10 12:47 
>>
>>>100301 17:53:10       1 Connect  
>>>  Access denied for user 'UNKNOWN_MYSQL_US'@'localhost' (using password: NO)
>>
>>не по глазам ?

это нормально и к сабжу отношения не имеет

> SELECT "login", "passwd", "uid", "gid", "maildir", "active"

какой то кривой запрос, а где FROM и WHERE?


"pop3 авторизация"
Отправлено newbieee , 03-Мрт-10 14:00 
>[оверквотинг удален]
>>>>100301 17:53:10       1 Connect  
>>>>  Access denied for user 'UNKNOWN_MYSQL_US'@'localhost' (using password: NO)
>>>
>>>не по глазам ?
>
>это нормально и к сабжу отношения не имеет
>
>> SELECT "login", "passwd", "uid", "gid", "maildir", "active"
>
>какой то кривой запрос, а где FROM и WHERE?

authmysqlrc

MYSQL_SELECT_CLAUSE SELECT "login", "passwd", "uid", "gid", "maildir", "active"
                    FROM usermail
                    WHERE login=`'$(login)'`


"pop3 авторизация"
Отправлено ALex_hha , 03-Мрт-10 14:09 
Выполни этот запрос в клиенте mysql и покажи результат, только замени `'$(login)'` на реальный логин


"pop3 авторизация"
Отправлено newbieee , 03-Мрт-10 14:30 
>Выполни этот запрос в клиенте mysql и покажи результат, только замени `'$(login)'`
>на реальный логин

mysql> select login, passwd, uid, gid, maildir, active from usermail where login="admin@server.domain";
+---------------------+--------+-----+-----+----------------------+--------+
| login               | passwd | uid | gid | maildir              | active |
+---------------------+--------+-----+-----+----------------------+--------+
| admin@server.domain | admin  | 500 | 500 | /home/admin/Maildir/ |      1 |
+---------------------+--------+-----+-----+----------------------+--------+
1 row in set (0.00 sec)

в логах
100301 19:53:05          4 Query       select login, passwd, uid, gid, maildir, active from usermail where login="test@server.domain"
100301 19:53:15          4 Query       select login, passwd, uid, gid, maildir, active from usermail where login="admin@server.domain"

при конекте через authdaemon
100301 20:00:41          5 Connect     admin@localhost on
              5 Init DB     mail
              5 Query       SELECT "login", "passwd", "uid", "gid", "maildir", "active"


"pop3 авторизация"
Отправлено ALex_hha , 03-Мрт-10 16:17 
mysql> select user_id from user;
+---------+
| user_id |
+---------+
|       1 |
|       2 |
|       3 |
|       4 |
+---------+
4 rows in set (0.00 sec)

mysql> select "user_id" from user;
+---------+
| user_id |
+---------+
| user_id |
| user_id |
| user_id |
| user_id |
+---------+
4 rows in set (0.00 sec)

Зачем ты имена полей берешь в кавычки?!


"pop3 авторизация"
Отправлено newbieee , 03-Мрт-10 16:19 
>[оверквотинг удален]
>from usermail where login="admin@server.domain"
>
>при конекте через authdaemon
>100301 20:00:41       5 Connect  
>  admin@localhost on
>        5 Init DB  
>   mail
>        5 Query  
>    SELECT "login", "passwd", "uid", "gid", "maildir", "active"
>

кавычки убрал
записал в authmysqlrc запрос в одну строчку
select login, passwd, uid, gid, maildir, active from usermail where login=`'$(login)'`
в логах появилось
Mar  1 21:20:01 server pop3d: Connection, ip=[::ffff:127.0.0.1]
Mar  1 21:20:07 server authdaemond: received auth request, service=pop3, authtype=login
Mar  1 21:20:07 server authdaemond: authmysql: trying this module
Mar  1 21:20:07 server authdaemond: authmysqllib: connected. Versions: header 50045, client 50045, server 50045
Mar  1 21:20:07 server authdaemond: authmysql: unknown substitution variable $(login)
Mar  1 21:20:07 server authdaemond: parse_select_clause failed (DEFAULT_DOMAIN not set?)
Mar  1 21:20:07 server authdaemond: authmysql: TEMPFAIL - no more modules will be tried
Mar  1 21:20:07 server pop3d: LOGIN FAILED, user=admin, ip=[::ffff:127.0.0.1]
Mar  1 21:20:07 server pop3d: authentication error: Input/output error
причем DEFAULT_DOMAIN mysql`a указан

              6 Query       SELECT "login", "passwd", "uid", "gid", "maildir", "active" FROM usermail
100301 21:20:07          7 Connect     admin@localhost on
              7 Init DB     mail


"pop3 авторизация"
Отправлено ALex_hha , 04-Мрт-10 01:16 
login=`'$(login)'`

где ты вообще взял это?


"pop3 авторизация"
Отправлено newbieee , 04-Мрт-10 14:25 
>login=`'$(login)'`
>
>где ты вообще взял это?

изменил MYSQL_WHERE_CLAUSE active='1' и все заработало
все спасобо за помощь