Erreur d'authentification SMTP + PAM-MySQL ne peut pas être authentifié

Je crée un serveur de messagerie avec Postfix et configurer l'authentification pour vérifier le réglage de la base de données à l'aide de Postfixadmin.

Je peux passer l'authentification à travers Courier IMAP, Comme il peut être correctement authentifié par le mot de passe haché, mais je soupçonne que mon mécanisme d'authentification SASL + PAM-MySQL SMTP ne peux pas.

Je reçois ces erreurs dans

/var/log/mail.log

:

pam_unix(smtp:auth): check pass; user unknown
Aug 22 03:23:08 omitted saslauthd[26402]: pam_unix(smtp:auth): authentication failure; logname= uid=0 euid=0 tty= ruser= rhost=
Aug 22 03:23:10 omitted saslauthd[26402]: DEBUG: auth_pam: pam_authenticate failed: Authentication failure
Aug 22 03:23:10 omitted saslauthd[26402]: do_auth : auth failure: [user=user@domain.com] [service=smtp] [realm=domain.com] [mech=pam] [reason=PAM auth error]

Voici le contenu

/etc/pam.d/smtp

:

auth required pam_mysql.so user=postfixadmin passwd=omitted host=127.0.0.1 db=postfixadmin table=mailbox usercolumn=username passwdcolumn=password crypt=2
account sufficient pam_mysql.so user=postfixadmin passwd=omitted host=127.0.0.1 db=postfixadmin table=mailbox usercolumn=username passwdcolumn=password crypt=2

Voici le fragment correspondant pour le cryptage de mot de passe de

/etc/postfixadmin/config.inc.php

:

// Encrypt
// In what way do you want the passwords to be crypted?
// md5crypt = internal postfix admin md5
// md5 = md5 sum of the password
// system = whatever you have set as your PHP system default
// cleartext = clear text passwords (ouch!)
// mysql_encrypt = useful for PAM integration
// authlib = support for courier-authlib style passwords
// dovecot:CRYPT-METHOD = use dovecotpw -s 'CRYPT-METHOD'. Example: dovecot:CRAM-MD5
$CONF['encrypt'] = 'mysql_encrypt';

Mais le contenu de mon

/etc/postfix/sasl/smtp.conf

:

pwcheck_method: saslauthd
mech_list: plain login
log_level: 7
allow_plaintext: true
auxprop_plugin: sql
sql_engine: mysql
sql_hostnames: 127.0.0.1
sql_user: postfixadmin
sql_passwd: omitted
sql_database: postfixadmin
sql_select: select password from mailbox where username='%u@%r'

J'ai essayé d'utiliser hachage MD5, mais Courier Je ne pouvais pas. Donc de la fenêtre ...
Invité:

Alice

Confirmation de:

J'ai exactement la même configuration que vous (Postfix + Cyrus SASL utilisant saslauthd + PAM), Et j'ai également passé l'horloge sur son réglage. Mais sachez que ça marche bien.

Dans mon cas, j'ai les mêmes paramètres que vous avez dans

/etc/pam.d/smtp

Mais pas dans

/etc/postfix/sasl/smtp.conf

.

On dirait que vous mélangez l'utilisation du plugin SQL Cyrus (

auxprop_plugin: sql

) par saslauthd et PAM mysql.

http://www.postfix.org/SASL_RE ... _comm
dit que si vous voulez stocker des mots de passe cryptés (qui semble être tel que vous avez installé crypt = 2 en configuration PAM), Ensuite, vous ne pouvez pas utiliser plugin Cyrus SASL sql.

Vous pouvez essayer seulement PAM. Pour ce faire, il vous suffit de suivre

/etc/postfix/sasl/smtp.conf

pwcheck_method: saslauthd
mech_list: login plain
log_level: 4

Vous n'avez pas besoin d'une configuration de base de données / Mot de passe dans ce fichier depuis

PAM

Je sait déjà tout!

Aussi vérifier

/etc/default/saslautd

, J'ai:

START=yes
DESC="SASL Authentication Daemon"
NAME="saslauthd"
MECHANISMS="pam"
MECH_OPTIONS=""
THREADS=1
OPTIONS="-c -r -m /var/spool/postfix/var/run/saslauthd"

Vérifiez que vous avez choisi

Pam

dans

Mécanismes

variable et vérifiez les drapeaux dans

Option

variable. Habituellement, vous devez avoir plus 1 dans

Filetage

variable. Vous pouvez vous le permettre comme ça. Vous n'avez pas besoin d'installer «1», comme le mien.

ÉDITER

: Il semble répondre à une très vieille question! Peu importe, il sera fait référence à Google Et il peut être utile à tous ceux qui installent SASL de PAM.

Pour répondre aux questions, connectez-vous ou registre