Postfix+Courier+MySQL Ubuntu 8.10

Discussion in 'Безопасность и Анонимность' started by andrey_a87, 10 Dec 2008.

  1. andrey_a87

    andrey_a87 Elder - Старейшина

    Joined:
    2 Mar 2008
    Messages:
    108
    Likes Received:
    1
    Reputations:
    -1
    tail -f /var/log/mail.log
    Dec 10 19:59:26 ubuntu authdaemond: authmysql: MYSQL_SERVER nor MYSQL_SOCKET set in/etc/courier/authmysqlrc.
    Dec 10 19:59:26 ubuntu imapd: LOGIN FAILED, [email protected], ip=[::ffff:127.0.0.1]
    Dec 10 19:59:26 ubuntu imapd: authentication error: Input/output error


    etc/courier/authdaemonrc
    __________________________
    authmodulelist="authmysql"
    authmodulelistorig="authuserdb authpam authpgsql authldap authmysql authcustom authpipe"
    daemons=5
    authdaemonvar=/var/run/courier/authdaemon
    DEBUG_LOGIN=0
    DEFAULTOPTIONS=""
    LOGGEROPTS=""


    etc/courier/authmysqlrc
    ___________________________
    MYSQL_SERVER localhost
    MYSQL_USERNAME mail_admin
    MYSQL_PASSWORD xxxx
    MYSQL_PORT 3306
    MYSQL_DATABASE mail
    MYSQL_USER_TABLE users
    MYSQL_CRYPT_PWFIELD password
    #MYSQL_CLEAR_PWFIELD password
    MYSQL_UID_FIELD 5000
    MYSQL_GID_FIELD 5000
    MYSQL_LOGIN_FIELD email
    MYSQL_HOME_FIELD "/home/vmail"
    MYSQL_MAILDIR_FIELD CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/')
    #MYSQL_NAME_FIELD
    MYSQL_QUOTA_FIELD quota


    root@ubuntu:~# telnet localhost pop3
    Trying 127.0.0.1...
    Connected to localhost.
    Escape character is '^]'.
    +OK Hello there.
    user [email protected]
    +OK Password required.
    pass xxxxx
    -ERR Temporary problem, please try again later
    Connection closed by foreign host.
     
  2. neval

    neval Elder - Старейшина

    Joined:
    13 Dec 2006
    Messages:
    457
    Likes Received:
    116
    Reputations:
    23
    путь к MYSQL_SOCKET укажи в /etc/courier/authmysqlrc
    покажи что у тебя в /etc/pam.d/pop3
     
  3. andrey_a87

    andrey_a87 Elder - Старейшина

    Joined:
    2 Mar 2008
    Messages:
    108
    Likes Received:
    1
    Reputations:
    -1
    # PAM configuration file for Courier POP3 daemon

    @include common-auth
    @include common-account
    @include common-password
    @include common-session
     
  4. andrey_a87

    andrey_a87 Elder - Старейшина

    Joined:
    2 Mar 2008
    Messages:
    108
    Likes Received:
    1
    Reputations:
    -1
    когда указываешь путь пишет тоже самое...
     
  5. neval

    neval Elder - Старейшина

    Joined:
    13 Dec 2006
    Messages:
    457
    Likes Received:
    116
    Reputations:
    23
    Попробуй сделать авторизацию через РАМ. Укажи в /etc/pam.d/pop3 следующее.

    Code:
    auth     optional       pam_mysql.so host=[COLOR=Lime]localhost[/COLOR] db=[COLOR=Lime]БД[/COLOR] ser=[COLOR=Lime]Пользователь БД[/COLOR] passwd=[COLOR=Lime]Пароль к БД[/COLOR] table=[COLOR=Lime]Таблица с пользователями[/COLOR] usercolumn=[COLOR=Lime]Поле с логином[/COLOR] passwdcolumn=[COLOR=Lime]Поле с паролем[/COLOR] crypt=[COLOR=Lime]В каком виде пароль в БД (0 = в чистом)[/COLOR]
    account  required       pam_mysql.so   host=[COLOR=Lime]localhost[/COLOR] db=[COLOR=Lime]БД[/COLOR] ser=[COLOR=Lime]Пользователь БД[/COLOR] passwd=[COLOR=Lime]Пароль к БД[/COLOR] table=[COLOR=Lime]Таблица с пользователями[/COLOR] usercolumn=[COLOR=Lime]Поле с логином[/COLOR] passwdcolumn=[COLOR=Lime]Поле с паролем[/COLOR] crypt=[COLOR=Lime]В каком виде пароль в БД (0 = в чистом)[/COLOR]
    Это для того, что бы РАМ брал данные для авторизации из твоей БД.
    Все остальное закоментируй.

    В /etc/courier/authdaemonrc посмотри, правильный путь к authdaemonvar, убери лишнее из authmodulelistorig, оставь authpam и authmysql
    Так же посматривай в messages - лог или используй strace