Problem mit authdaemonrc

Dieses Thema im Forum "Installation und Konfiguration" wurde erstellt von fLuffy, 21. Juni 2011.

  1. fLuffy

    fLuffy New Member

    Moin, ich habe ein Prob mit maillogin bzw. Abfrage des PW, durch courier, in der mySQL Datenbank.

    Ich bekomme diese Fehlermeldungen (habe debuglevel 2 beim authdaemonrc gesetzt:
    Code:
    Jun 21 04:42:31 robo46 imapd: Connection, ip=[::ffff:xx.xxx.xxx.22]
    Jun 21 04:42:31 robo46 authdaemond: received auth request, service=imap, authtype=login
    Jun 21 04:42:31 robo46 authdaemond: authmysql: trying this module
    Jun 21 04:42:31 robo46 authdaemond: authmysqllib: connected. Versions: header 50149, client 50157, server 50157
    Jun 21 04:42:31 robo46 authdaemond: SQL query: SELECT email, password, "", 5000, 5000, "/home/mailusers", CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/'), "", name, "" FROM virtual_users WHERE email = 'name_des_benutzers@example2.com'
    Jun 21 04:42:31 robo46 authdaemond: mysql_query failed, reconnecting: Unknown column 'name' in 'field list'
    Jun 21 04:42:31 robo46 authdaemond: authmysqllib: connected. Versions: header 50149, client 50157, server 50157
    Jun 21 04:42:32 robo46 authdaemond: mysql_query failed second time, giving up: Unknown column 'name' in 'field list'
    Jun 21 04:42:32 robo46 authdaemond: authmysql: TEMPFAIL - no more modules will be tried
    Jun 21 04:42:32 robo46 imapd: LOGIN FAILED, method=PLAIN, ip=[::ffff:xx.xxx.xxx.22]
    Jun 21 04:42:32 robo46 imapd: authentication error: Input/output error
    
    Meine authmysqlrc sieht so aus:
    Code:
    MYSQL_SERVER            127.0.0.1
    MYSQL_USERNAME          vmailuser
    MYSQL_PASSWORD          *******
    MYSQL_PORT              3306
    MYSQL_OPT               0
    MYSQL_DATABASE          vmserver
    MYSQL_USER_TABLE        vusers
    MYSQL_CRYPT_PWFIELD     password
    MYSQL_UID_FIELD         5000
    MYSQL_GID_FIELD         5000
    MYSQL_LOGIN_FIELD       email
    MYSQL_HOME_FIELD        "/home/vmailusers"
    MYSQL_NAME_FIELD        name
    MYSQL_MAILDIR_FIELD CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/')
    
    Eine Kolumne "name" gibt es in meiner mysql datenbank nicht.

    Und die authdaemonrc:
    Code:
    authmodulelist="authmysql"
    authmodulelistorig="authuserdb authpam authpgsql authldap authmysql authcustom authpipe"
    daemons=5
    authdaemonvar=/var/run/courier/authdaemon
    DEBUG_LOGIN=2
    DEFAULTOPTIONS=""
    LOGGEROPTS=""
    
     
    Zuletzt bearbeitet: 21. Juni 2011
  2. Till

    Till Administrator

    Ändere mal in der authmysqlrc die Zeile:

    MYSQL_NAME_FIELD name

    in

    MYSQL_NAME_FIELD email

    und start dann then authdaemon neu. Oder aber Du fügst eine Spalte "name" in der mysql DB hinzu.
     
  3. fLuffy

    fLuffy New Member

    Gemacht. Jetzt kriege ich sowas hier:
    Code:
    Jun 21 08:23:32 robo46 imapd: Connection, ip=[::ffff:xx.xxx.xxx.22]
    Jun 21 08:23:32 robo46 authdaemond: received auth request, service=imap, authtype=login
    Jun 21 08:23:32 robo46 authdaemond: authmysql: trying this module
    Jun 21 08:23:32 robo46 authdaemond: SQL query: SELECT email, password, "", 5000, 5000, "/home/vmailusers", CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/'), "", email, "" FROM vusers WHERE email = 'dummy'
    Jun 21 08:23:32 robo46 authdaemond: zero rows returned
    Jun 21 08:23:32 robo46 authdaemond: no password available to compare
    Jun 21 08:23:32 robo46 authdaemond: authmysql: REJECT - try next module
    Jun 21 08:23:32 robo46 authdaemond: FAIL, all modules rejected
    Jun 21 08:23:32 robo46 imapd: LOGIN FAILED, method=PLAIN, ip=[::ffff:xx.xxx.xxx.22]
    Jun 21 08:23:38 robo46 authdaemond: received auth request, service=imap, authtype=login
    Jun 21 08:23:38 robo46 authdaemond: authmysql: trying this module
    Jun 21 08:23:38 robo46 authdaemond: SQL query: SELECT email, password, "", 5000, 5000, "/home/vmailusers", CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/'), "", email, "" FROM vusers WHERE email = 'dummy'
    Jun 21 08:23:38 robo46 authdaemond: zero rows returned
    Jun 21 08:23:38 robo46 authdaemond: no password available to compare
    Jun 21 08:23:38 robo46 authdaemond: authmysql: REJECT - try next module
    Jun 21 08:23:38 robo46 authdaemond: FAIL, all modules rejected
    Jun 21 08:23:38 robo46 imapd: LOGIN FAILED, user=dummy, ip=[::ffff:xx.xxx.xxx.22]
    
     
  4. fLuffy

    fLuffy New Member

    Ich habe festgestellt, daß ich mich falsch einloggte. Mit "dummy" statt "dummy@example1.com". Wenn ich mich mit "dummy@example1.com" anmelde, dann kommt aber dieses hier:
    Code:
    Jun 21 09:34:18 robo46 imapd: Connection, ip=[::ffff:xx.xxx.xxx.22]
    Jun 21 09:34:18 robo46 authdaemond: received auth request, service=imap, authtype=login
    Jun 21 09:34:18 robo46 authdaemond: authmysql: trying this module
    Jun 21 09:34:18 robo46 authdaemond: SQL query: SELECT email, password, "", 5000, 5000, "/home/vmailusers", CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/'), "", email, "" FROM vusers WHERE email = 'dummy@example1.com'
    Jun 21 09:34:18 robo46 authdaemond: password matches successfully
    Jun 21 09:34:18 robo46 authdaemond: authmysql: sysusername=<null>, sysuserid=5000, sysgroupid=5000, homedir=/home/vmailusers, address=dummy@example1.com, fullname=dummy@example1.com, maildir=example1.com/dummy/, quota=<null>, options=<null>
    Jun 21 09:34:18 robo46 authdaemond: authmysql: clearpasswd=<null>, passwd=**************
    Jun 21 09:34:18 robo46 authdaemond: Authenticated: sysusername=<null>, sysuserid=5000, sysgroupid=5000, homedir=/home/vmailusers, address=dummy@example1.com, fullname=dummy@example1.com, maildir=example1.com/dummy/, quota=<null>, options=<null>
    Jun 21 09:34:18 robo46 authdaemond: Authenticated: clearpasswd=dummypassword, passwd=**************
    Jun 21 09:34:18 robo46 imapd: chdir example1.com/dummy/: No such file or directory
    Jun 21 09:34:18 robo46 imapd: dummy@example1.com: No such file or directory
    Jun 21 09:34:18 robo46 imapd: Connection, ip=[::ffff:xx.xxx.xxx.22]
    Jun 21 09:34:19 robo46 authdaemond: received auth request, service=imap, authtype=login
    Jun 21 09:34:19 robo46 authdaemond: authmysql: trying this module
    Jun 21 09:34:19 robo46 authdaemond: SQL query: SELECT email, password, "", 5000, 5000, "/home/vmailusers", CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/'), "", email, "" FROM vusers WHERE email = 'dummy@example1.com'
    Jun 21 09:34:19 robo46 authdaemond: password matches successfully
    Jun 21 09:34:19 robo46 authdaemond: authmysql: sysusername=<null>, sysuserid=5000, sysgroupid=5000, homedir=/home/vmailusers, address=dummy@example1.com, fullname=dummy@example1.com, maildir=example1.com/dummy/, quota=<null>, options=<null>
    Jun 21 09:34:19 robo46 authdaemond: authmysql: clearpasswd=<null>, passwd=**************
    Jun 21 09:34:19 robo46 authdaemond: Authenticated: sysusername=<null>, sysuserid=5000, sysgroupid=5000, homedir=/home/vmailusers, address=dummy@example1.com, fullname=dummy@example1.com, maildir=example1.com/dummy/, quota=<null>, options=<null>
    Jun 21 09:34:19 robo46 authdaemond: Authenticated: clearpasswd=dummypassword, passwd=**************
    Jun 21 09:34:19 robo46 imapd: chdir example1.com/dummy/: No such file or directory
    Jun 21 09:34:19 robo46 imapd: dummy@example1.com: No such file or directory
    
    Das scheint irgendein imapd fehler zu sein.

    In der imapd steht:
    Code:
    ADDRESS=0
    PORT=143
    MAXDAEMONS=40
    MAXPERIP=20
    PIDFILE=/var/run/courier/imapd.pid
    TCPDOPTS="-nodnslookup -noidentlookup"
    LOGGEROPTS="-name=imapd"
    IMAP_CAPABILITY="IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE"
    IMAP_KEYWORDS=1
    IMAP_ACL=1
    IMAP_CAPABILITY_ORIG="IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA AUTH=CRAM-MD5 AUTH=CRAM-SHA1 AUTH=CRAM-SHA256 IDLE"
    IMAP_PROXY=0
    IMAP_PROXY_FOREIGN=0
    IMAP_IDLE_TIMEOUT=60
    IMAP_MAILBOX_SANITY_CHECK=1
    IMAP_CAPABILITY_TLS="$IMAP_CAPABILITY AUTH=PLAIN"
    IMAP_CAPABILITY_TLS_ORIG="$IMAP_CAPABILITY_ORIG AUTH=PLAIN"
    IMAP_DISABLETHREADSORT=0
    IMAP_CHECK_ALL_FOLDERS=0
    IMAP_OBSOLETE_CLIENT=0
    IMAP_UMASK=022
    IMAP_ULIMITD=131072
    IMAP_USELOCKS=1
    IMAP_SHAREDINDEXFILE=/etc/courier/shared/index
    IMAP_ENHANCEDIDLE=0
    IMAP_TRASHFOLDERNAME=Trash
    IMAP_EMPTYTRASH=Trash:7
    IMAP_MOVE_EXPUNGE_TO_TRASH=0
    SENDMAIL=/usr/sbin/sendmail
    HEADERFROM=X-IMAP-Sender
    IMAPDSTART=YES
    MAILDIRPATH=/home/vmailusers/Maildir
    AUTHMODULES="authdaemon"
    
     
    Zuletzt bearbeitet: 21. Juni 2011
  5. Till

    Till Administrator

    Du musst erstmal eine Email an den Account senden, bevor Du Dich per imap einloggen kannst. Denn sonst existiert das maildir nicht.
     
  6. fLuffy

    fLuffy New Member

    Habs gemacht, aber keine Verbesserung. Naja, eine schon - der meldet sich offenbar schon an und das pw wird akzeptiert, aber irgendwas mit den directory stimmt nicht:
    Code:
    Jun 21 10:01:53 robo46 imapd: dummy@example1.com: No such file or directory
    Jun 21 10:01:53 robo46 imapd: Connection, ip=[::ffff:xx.xxx.xxx.22]
    Jun 21 10:01:53 robo46 authdaemond: received auth request, service=imap, authtype=login
    Jun 21 10:01:53 robo46 authdaemond: authmysql: trying this module
    Jun 21 10:01:53 robo46 authdaemond: SQL query: SELECT email, password, "", 5000, 5000, "/home/vmailusers", CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/'), "", email, "" FROM vusers WHERE email = 'dummy@example1.com'
    Jun 21 10:01:53 robo46 authdaemond: password matches successfully
    Jun 21 10:01:53 robo46 authdaemond: authmysql: sysusername=<null>, sysuserid=5000, sysgroupid=5000, homedir=/home/vmailusers, address=dummy@example1.com, fullname=dummy@example1.com, maildir=example1.com/dummy/, quota=<null>, options=<null>
    Jun 21 10:01:53 robo46 authdaemond: authmysql: clearpasswd=<null>, passwd=*************
    Jun 21 10:01:53 robo46 authdaemond: Authenticated: sysusername=<null>, sysuserid=5000, sysgroupid=5000, homedir=/home/vmailusers, address=dummy@example1.com, fullname=dummy@example1.com, maildir=example1.com/dummy/, quota=<null>, options=<null>
    Jun 21 10:01:53 robo46 authdaemond: Authenticated: clearpasswd=dummypassword, passwd=*************
    Jun 21 10:01:53 robo46 imapd: chdir example1.com/dummy/: No such file or directory
    Jun 21 10:01:53 robo46 imapd: dummy@example1.com: No such file or directory
    
    Eigentlich das gleiche wie vorhin...
     
  7. Till

    Till Administrator

    Dann wurde das verzeichnis nicht angelegt. Sieh mal im mail log nach, welche Fehler Du beim senden einer Nachricht an das postfach erhältst.
     
  8. fLuffy

    fLuffy New Member

    hi, eigentlich nicht viel anders:
    Code:
    Jun 21 11:57:49 robo46 authdaemond: Authenticated: sysusername=<null>, sysuserid=5000, sysgroupid=5000, homedir=/home/vmailusers, address=dummy@example1.com, fullname=dummy@example1.com, maildir=example1.com/dummy/, quota=<null>, options=<null>
    Jun 21 11:57:49 robo46 authdaemond: Authenticated: clearpasswd=dummypassword, passwd=*************
    Jun 21 11:57:49 robo46 imapd: chdir example1.com/dummy/: No such file or directory
    Jun 21 11:57:49 robo46 imapd: dummy@example1.com: No such file or directory
    Jun 21 11:57:50 robo46 authdaemond: Authenticated: sysusername=<null>, sysuserid=5000, sysgroupid=5000, homedir=/home/vmailusers, address=dummy@example1.com, fullname=dummy@example1.com, maildir=example1.com/dummy/, quota=<null>, options=<null>
    Jun 21 11:57:50 robo46 authdaemond: Authenticated: clearpasswd=dummypassword, passwd=*************
    Jun 21 11:57:50 robo46 imapd: chdir example1.com/dummy/: No such file or directory
    Jun 21 11:57:50 robo46 imapd: dummy@example1.com: No such file or directory
    
    So sieht das Verzeichnis aus:
    Code:
    ls -li /home/vmailusers/Maildir/example1.com/dummy/
    total 28K
    17244331 drwx------ 2 vuser vuser 4.0K May 21 01:12 cur
    17244332 drwx------ 2 vuser vuser  20K Jun  6 16:43 new
    17244329 drwx------ 2 vuser vuser 4.0K Jun  6 16:43 tmp
    
     
    Zuletzt bearbeitet: 21. Juni 2011
  9. Till

    Till Administrator

    versuch mal diese Änderung in der authdaemonrc:

    MYSQL_MAILDIR_FIELD CONCAT('/home/vmailusers/',SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/')
     
  10. fLuffy

    fLuffy New Member

    Du meinst in der "authmysqlrc" oder?

    Wenn ich das in der "authmysqlrc" ändere, dann verändert sich leider nichts. Es kommt exakt die gleiche Fehlermeldung wie zuletzt.

    Code:
    Jun 21 18:03:59 robo46 authdaemond: Authenticated: sysusername=<null>, sysuserid=5000, sysgroupid=5000, homedir=/home/vmailusers, address=dummy@example1.com, fullname=dummy@example1.com, maildir=/home/vmailusers/example1.com/dummy/, quota=<null>, options=<null>
    Jun 21 18:03:59 robo46 authdaemond: Authenticated: clearpasswd=dummypassword, passwd=***********
    Jun 21 18:03:59 robo46 imapd: chdir /home/vmailusers/example1.com/dummy/: No such file or directory
    Jun 21 18:03:59 robo46 imapd: dummy@example1.com: No such file or directory
    
    Mir fällt aber etwas neues auf. In der Fehlermeldung steht jetzt:
    Code:
    chdir /home/vmailusers/example1.com/dummy/:
    Der Pfad ist aber:
    Code:
    /home/vmailusers/Maildir/example1.com/dummy/
     
    Zuletzt bearbeitet: 21. Juni 2011
  11. Till

    Till Administrator

    Dann prüf mal in postfix, ob da der Pfad richtig konfiguriert ist. Welches Tutorial hast Du denn für den Server verwendet?
     
  12. fLuffy

    fLuffy New Member

    HAhaha !!!

    Ich habe die Lösung! Es funktioniert jetzt.

    Erstens:
    Code:
    MYSQL_MAILDIR_FIELD CONCAT('/home/vmailusers/Maildir/',SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/') 	
    
    Zwotens:
    Es gab ein Verzeichnis namens
    Code:
    /home/vmailusers/Maildir/dummy2
    
    statt
    Code:
    /home/vmailusers/Maildir/dummy
    
    Das muss wohl alt gewesen sein, das hatte ich mal vor einem Monat angelegt und es trägt den Namen eines lokalen Linux Benutzers. Also aus "dummy2" einfach mal "dummy" gemacht und schon klappt es !!!

    Jippiieee - danke schön Till für Deine große Hilfe. Ich habe die Lösung seit bereits 1,5 Monaten gesucht!!!
     
  13. fLuffy

    fLuffy New Member

    Ich hatte leider nur teils ein Tutorial benutzt. Denn von dem Tut erfuhr ich erst, als ich schon sehr weit voran war mit meinen Einstellungen. Daher habe ich nur die Abschließenden Arbeiten anhand des Tutorials von hier gemacht.

    Dieser Thread hängt mit meinem älteren zusammen:
    http://www.howtoforge.de/forum/fragen-zu-howtos-6/problem-mit-mailserver-und-sql-4529/

    Da konnte mir leider keiner helfen. Du hast da übrigens auch geschrieben. Es ging erst los als ich das Debugging bei "authdaemonrc" auf "2" gesetzt habe. Und dieser Thread ist nun der glänzende Abschluss.

    Nochmal - Vielen, vielen Dank!!!

    :D:D:D:D
     

Diese Seite empfehlen