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помогите разобраться
> Feb 27 06:46:54 server authdaemond: invalid value for uid: 'gid'здесь и ошибка, включай логирование в MySQL и смотри что возвращает запрос
>> 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,не помогает
>100301 17:53:10 1 Connect
> Access denied for user 'UNKNOWN_MYSQL_US'@'localhost' (using password: NO)не по глазам ?
>
>
>
>что только не писал в uid и gid,не помогаетУже ничего не поможет.
>
>>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
>>
>>>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?
>[оверквотинг удален]
>>>>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)'`
Выполни этот запрос в клиенте mysql и покажи результат, только замени `'$(login)'` на реальный логин
>Выполни этот запрос в клиенте 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"
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)Зачем ты имена полей берешь в кавычки?!
>[оверквотинг удален]
>from usermail where login="admin@server.domain"
>
>при конекте через authdaemon
>100301 20:00:41 5 Connect
> admin@localhost on
> 5 Init DB
> 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
login=`'$(login)'`где ты вообще взял это?
>login=`'$(login)'`
>
>где ты вообще взял это?изменил MYSQL_WHERE_CLAUSE active='1' и все заработало
все спасобо за помощь