[Résolu] Postfix+postfixadmin+mysql problème d'authentification

Postfix+postfixadmin+mysql problème d'authentification [Résolu] - réseaux et sécurité - Linux et OS Alternatifs

Marsh Posté le 19-07-2006 à 23:22:32    

Bonjour à tous, :hello:  
 
Je cherche à monter un serveur mail multi-domaines sur une debian sarge, je me suis servi de l'excellent tuto de mikala,  
cependant un problème persiste (où surement une bêtise de ma part) :
 
J'arrive bien a créer un domaine virtuel sous postfixadmin, des users virtuels aussi, je peux leur envoyer des mails, leurs boites se créent comme il faut,
le seul problème est que je n'arrive pas à me connecter à leur boîte mail par imap, et je ne peux donc pas lire les mails des virtuals users.
Tout fonctionne encore bien pour les users normaux.
 
Voici mes fichiers de conf :
main.cf

Code :
  1. # See /usr/share/postfix/main.cf.dist for a commented, more complete version
  2. #smtpd_client_restrictions = reject_unknown_client, hash:/etc/postfix/access
  3. smtpd_banner = toto.com ESMTP $mail_name
  4. biff = no
  5. # appending .domain is the MUA's job.
  6. append_dot_mydomain = yes
  7. # Uncomment the next line to generate "delayed mail" warnings
  8. #delay_warning_time = 4h
  9. myhostname = toto.com
  10. alias_maps = hash:/etc/aliases
  11. alias_database = hash:/etc/aliases
  12. myorigin = toto.com
  13. mydestination = toto.servebeer.com, localhost.servebeer.com, localhost
  14. relayhost = smtp.orange.fr
  15. mynetworks = 127.0.0.0/8 192.168.1.0/24
  16. mailbox_size_limit = 0
  17. recipient_delimiter = +
  18. inet_interfaces = 192.168.1.10, 127.0.0.1
  19. home_mailbox = Maildir/
  20. #header_checks = regexp:/etc/postfix/header_checks
  21. smtpd_recipient_limit = 100
  22. message_size_limit = 50000000
  23. smtpd_error_sleep_time = 1s
  24. smtpd_soft_error_limit = 10
  25. smtpd_hard_error_limit = 15
  26. masquerade_domains = toto.com
  27. smtp_skip_4xx_greeting = no
  28. smtp_skip_5xx_greeting = no
  29. #postfix=mysql
  30. virtual_alias_maps = mysql:/etc/postfix/mysql/mysql_virtual_alias_maps.cf
  31. virtual_gid_maps = static:1003
  32. virtual_mailbox_base = /home/vmail
  33. virtual_mailbox_domains = mysql:/etc/postfix/mysql/mysql_virtual_domains_maps.cf
  34. virtual_mailbox_maps = mysql:/etc/postfix/mysql/mysql_virtual_mailbox_maps.cf
  35. virtual_mailbox_limit = 51200000
  36. virtual_minimum_uid = 1003
  37. virtual_transport = virtual
  38. virtual_uid_maps = static:1003
  39. readme_directory = /etc/postfix/readme
  40. sample_directory = /etc/postfix/sample
  41. sendmail_path = /usr/sbin/sendmail
  42. manpage_directory = /usr/local/man
  43. newaliases_path = /usr/bin/newaliases
  44. mailq_path = /usr/bin/mailq
  45. queue_directory = /var/spool/postfix
  46. mail_owner = postfix
  47. unknown_local_recipient_reject_code = 450


 
master.cf :

Code :
  1. smtp      inet  n       -       n       -       -       smtpd
  2. pickup    fifo  n       -       n       60      1       pickup
  3. cleanup   unix  n       -       n       -       0       cleanup
  4. qmgr      fifo  n       -       n       300     1       qmgr
  5. rewrite   unix  -       -       n       -       -       trivial-rewrite
  6. bounce    unix  -       -       n       -       0       bounce
  7. defer     unix  -       -       n       -       0       bounce
  8. trace     unix  -       -       n       -       0       bounce
  9. verify    unix  -       -       n       -       1       verify
  10. flush     unix  n       -       n       1000?   0       flush
  11. proxymap  unix  -       -       n       -       -       proxymap
  12. smtp      unix  -       -       n       -       -       smtp
  13. relay     unix  -       -       n       -       -       smtp
  14. showq     unix  n       -       n       -       -       showq
  15. error     unix  -       -       n       -       -       error
  16. local     unix  -       n       n       -       -       local
  17. virtual   unix  -       n       n       -       -       virtual
  18. lmtp      unix  -       -       n       -       -       lmtp
  19. anvil     unix  -       -       n       -       1       anvil
  20. maildrop  unix  -       n       n       -       -       pipe
  21.   flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}
  22. uucp      unix  -       n       n       -       -       pipe
  23.   flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
  24. ifmail    unix  -       n       n       -       -       pipe
  25.   flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
  26. bsmtp     unix  -       n       n       -       -       pipe
  27.   flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -d -t$nexthop -f$sender $recipient
  28. scalemail-backend unix  -       n       n       -       2       pipe
  29.   flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension}


 
les fichiers virtual ressemble à ceci :

Code :
  1. user = postfix
  2. password = lepass
  3. hosts =  unix:/var/run/mysqld/mysqld.sock
  4. dbname = postfix
  5. table = mailbox
  6. select_field = maildir
  7. where_field = username
  8. additional_conditions = and active = '1'


 
/etc/courier/authmysqlrc

Code :
  1. MYSQL_SERVER            localhost
  2. MYSQL_USERNAME          postfix
  3. MYSQL_PASSWORD         lepass
  4. MYSQL_SOCKET            /var/run/mysqld/mysqld.sock
  5. MYSQL_PORT              0
  6. MYSQL_OPT               0
  7. MYSQL_DATABASE          postfix
  8. MYSQL_USER_TABLE        mailbox
  9. MYSQL_CRYPT_PWFIELD     password
  10. MYSQL_UID_FIELD         103
  11. MYSQL_GID_FIELD         104
  12. MYSQL_LOGIN_FIELD       username
  13. MYSQL_HOME_FIELD        /home/vmail
  14. MYSQL_NAME_FIELD        name
  15. MYSQL_MAILDIR_FIELD     maildir


 
/etc/courier/authdaemonrc :                                        

Code :
  1. authmodulelist="authpam authmysql"
  2. authmodulelistorig="authcustom authcram authuserdb authldap authpgsql authmysql authpam"
  3. daemons=5
  4. version=""
  5. authdaemonvar=/var/run/courier/authdaemon


 
dans les log de postfix : je reçois bien un mail pour un user virtuel : et la ptite erreur qd j'essaye de m'authentifier :

Code :
  1. Jul 19 22:26:18 toto postfix/virtual[5686]: D9B944548: to=<pilou@toto.com>, relay=virtual, delay=1, status=sent (delivered to maildir)
  2. Jul 19 22:26:18 toto postfix/qmgr[5597]: D9B944548: removed
  3. Jul 19 22:31:40 toutouye imaplogin: LOGIN FAILED, ip=[:ffff:127.0.0.1]
  4. Jul 19 22:31:40 toutouye imaplogin: LOGOUT, ip=[:ffff:127.0.0.1]


 
Je vous mets le log de mysql si ça peut vous aider :

Code :
  1. 060719 22:30:29       5 Connect     postfix@localhost on
  2.                       5 Init DB     postfix
  3.                       5 Query       SELECT username, password, "", 103, 104, /home/vmail, maildir, "", name, "" FROM mailbox WHERE username = "pilou@toto.com"
  4.                       5 Quit
  5.                       6 Connect     postfix@localhost on
  6.                       6 Init DB     postfix
  7.                       6 Query       SELECT username, password, "", 103, 104, /home/vmail, maildir, "", name, "" FROM mailbox WHERE username = "pilou@toto.com"
  8.                       6 Quit
  9. 060719 22:31:35       7 Connect     postfix@localhost on
  10.                       7 Init DB     postfix
  11.                       7 Query       SELECT username, password, "", 103, 104, /home/vmail, maildir, "", name, "" FROM mailbox WHERE username = "pilou"
  12.                       7 Quit
  13.                       8 Connect     postfix@localhost on
  14.                       8 Init DB     postfix
  15.                       8 Query       SELECT username, password, "", 103, 104, /home/vmail, maildir, "", name, "" FROM mailbox WHERE username = "pilou"
  16.                       8 Quit


 
Voilà merci d'avance pour votre aide  :)


Message édité par toutouye le 25-07-2006 à 12:19:18
Reply

Marsh Posté le 19-07-2006 à 23:22:32   

Reply

Marsh Posté le 20-07-2006 à 07:53:15    

J'ai eu le même genre de blague. en me servant de ce tutoriel
 
Il faut bien vérifier que le fichier authmysqlrc ne contienne pas d'espace parasite après les données. Je ne sais pas pourquoi, mais il semble que ce fichier soit très sensibles.

Message cité 1 fois
Message édité par pere castor le 20-07-2006 à 07:54:23
Reply

Marsh Posté le 20-07-2006 à 10:47:53    

pere castor a écrit :

J'ai eu le même genre de blague. en me servant de ce tutoriel
 
Il faut bien vérifier que le fichier authmysqlrc ne contienne pas d'espace parasite après les données. Je ne sais pas pourquoi, mais il semble que ce fichier soit très sensibles.


 
Et bien non, le fichier ne contient aucun espace intempestif  :(  
J'ai songé à un problème de password crypté entre postfixadmin et mysql, mais meme en mettant les pass en clair, j'ai toujours les mm erreurs.
Je continue donc à chercher ...


Message édité par toutouye le 21-07-2006 à 12:23:46
Reply

Marsh Posté le 21-07-2006 à 12:26:26    

up !!  :bounce:  
 
J'en suis toujours au même problème, malgré divers essais d'après ce que j'ai pu trouver sur google.
Au fait je ne me suis servi que des paquets debian.
A l'aide !!  :)

Reply

Marsh Posté le 21-07-2006 à 12:54:10    

tu pourrais fournir les logs de courier ?


---------------
Intermittent du GNU
Reply

Marsh Posté le 21-07-2006 à 13:37:02    

mikala a écrit :

tu pourrais fournir les logs de courier ?


 
Voilà chef !
 

Code :
  1. Jul 21 13:33:00 toutouye imaplogin: Connection, ip=[:ffff:127.0.0.1]
  2. Jul 21 13:33:00 toutouye imaplogin: LOGIN: DEBUG: ip=[:ffff:127.0.0.1], command=LOGIN
  3. Jul 21 13:33:00 toutouye imaplogin: LOGIN: DEBUG: ip=[:ffff:127.0.0.1], username=pilou@toto.com
  4. Jul 21 13:33:00 toutouye imaplogin: LOGIN: DEBUG: ip=[:ffff:127.0.0.1], password=pilou
  5. Jul 21 13:33:00 toutouye imaplogin: authdaemon: starting client module
  6. Jul 21 13:33:00 toutouye imaplogin: authdaemon: TEMPFAIL - no more modules will be tried
  7. Jul 21 13:33:05 toutouye imaplogin: LOGIN FAILED, ip=[:ffff:127.0.0.1]
  8. Jul 21 13:33:05 toutouye imaplogin: LOGIN: DEBUG: ip=[:ffff:127.0.0.1], command=LOGOUT
  9. Jul 21 13:33:05 toutouye imaplogin: LOGOUT, ip=[:ffff:127.0.0.1]


 
edit : Je me demandais si je ne me suis pas trompé en renseignant les uid et gid dans les différents fichiers.
Postfix proprio de la base sql : 103,104, et vmail proprio du dossier de mail virtuel : 1003, 1003.
Quoique même si je les intervertit ou autre, ça ne marche toujours pas.


Message édité par toutouye le 21-07-2006 à 13:59:53
Reply

Marsh Posté le 21-07-2006 à 15:02:29    

le passwd est bien crypté dans la base mysql ?
(cf conf de postfixadmin )


---------------
Intermittent du GNU
Reply

Marsh Posté le 21-07-2006 à 15:13:08    

alors dans sql :
 

Code :
  1. #mysql -D postfix -upostfix -plepass -h127.0.0.1
  2. mysql> select * from mailbox;
  3. | pilou@toto.com | $1$ab119dc4$9fyzsDoKBEzywog7hTd2i. | CriCri | toto.com/pilou@toto.com/   |     0 | toto.com | 2006-07-04 22:52:55 | 2006-07-19 00:50:52 |      1 |


 
et dans le config.inc.php de postfixadmin :

Code :
  1. // Encrypt
  2. // In what way do you want the passwords to be crypted?
  3. // md5crypt = internal postfix admin md5
  4. // system = whatever you have set as your PHP system default
  5. // cleartext = clear text passwords (ouch!)
  6. $CONF['encrypt'] = 'md5crypt';


 
j'ai bon non ?

Reply

Marsh Posté le 24-07-2006 à 14:28:10    

un chti up, car mon problème n'est pas résolu, même si je continue de chercher ;)

Reply

Marsh Posté le 25-07-2006 à 12:18:12    

ça y problème résolu :
 
dans le fichier authmysqlrc, il fallait mettre les options MYSQL_UID_FIELD MYSQL_GID_FIELD MYSQL_HOME_FIELD entre simples quotes, et mettre le uid et gid de l'utilisateur vmail :
 

Code :
  1. MYSQL_SERVER            localhost
  2.       MYSQL_USERNAME          postfix
  3.       MYSQL_PASSWORD         lepass
  4.       MYSQL_SOCKET            /var/run/mysqld/mysqld.sock
  5.       MYSQL_PORT              0
  6.       MYSQL_OPT               0
  7.       MYSQL_DATABASE          postfix
  8.       MYSQL_USER_TABLE        mailbox
  9.       MYSQL_CRYPT_PWFIELD     password
  10.       MYSQL_UID_FIELD         '1003'
  11.       MYSQL_GID_FIELD         '1003'
  12.       MYSQL_LOGIN_FIELD       username
  13.       MYSQL_HOME_FIELD        '/home/vmail'
  14.       MYSQL_NAME_FIELD        name
  15.       MYSQL_MAILDIR_FIELD     maildir

Reply

Marsh Posté le 25-07-2006 à 12:18:12   

Reply

Marsh Posté le 22-10-2006 à 17:17:29    

Bonjour :hello:
 
Pourrais-je avoir le lien de ton tuto Mikala ?
J'aimerais voir ce que j'ai loupé pour que ça chie ;)
 
XaT :jap:

Reply

Marsh Posté le 22-10-2006 à 19:10:43    

Citation :

Bonjour :hello:  
 
Pourrais-je avoir le lien de ton tuto Mikala ?  
J'aimerais voir ce que j'ai loupé pour que ça chie ;)  
 
XaT :jap:


 
Bonjour !! voilà pour le tuto :  
 
http://www.littleboboy.net/archive [...] urier-imap

Reply

Marsh Posté le 22-10-2006 à 21:58:28    

Merci :jap:
 
XaT

Reply

Marsh Posté le 22-10-2006 à 22:01:14    

il va réellement falloir que je mettes a jour ce tutoriel tiens :/


---------------
Intermittent du GNU
Reply

Marsh Posté le 22-10-2006 à 22:14:14    

Ouaip, je propose même que tu le reprenne depuis le début :whistle:
 
xAT :o

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed