我试图设置后缀来处理几个域作为别名,SMTP服务器接受来自这些域的传入邮件与sasldb身份validation。 文档看起来很老,许多信息来源是矛盾的,所以我正在寻求澄清一些configuration项目,并解决我的非工作sasldb身份validation。 我的操作系统是Debian 8。
首先, 这个smptd.conf文件是什么 ,它包含:
pwcheck_method: auxprop auxprop_plugin: sasldb mech_list: PLAIN LOGIN
它在哪里呢? 我可以在各种教程中find三个不同的path,/usr/lib/sasl2/smtpd.conf,/etc/sasl2/smtpd.conf和/etc/postfix/sasl/smtpd.conf。 我们怎么知道使用哪一个? 有一个configurationvariablessmtpd_sasl_path但它的文档是不存在的,它是如何与实际configuration相关的? 之前有一个关于这个variables的问题 ,并没有真正帮助理解。
我已经把这个文件放在三个位置,并且在smtpd给出的authentication方法列表中,我仍然得到$ 250-AUTH DIGEST-MD5 NTLM CRAM-MD5 PLAIN LOGIN 。
saslpasswd2的领域是什么? 使用用户名[email protected]比使用-u doe.com的john有所不同吗? 我们可以在authentication过程中使用完整的电子邮件地址作为用户名吗? 显然从这个评论是 ,但我仍然不明白什么是领域。 最后,这与smtpd_sasl_local_domain有什么关系,特别是在多虚拟域别名configuration中? 它似乎接受一个空值,这就是我所做的。
对于sasldb身份validation,是否需要使用salsauthd? 我在这里和那里看到,后缀是能够使用sasldb而不安装saslauthd,而其他 人和官方文档表明,这是必需的。 什么是正确的答案?
对于pipe理多个域的虚拟域别名服务器, 哪些值应该用于myorigin,myhostname和mydestination ? localhost.localdomain是否正常,如果我们假设邮件客户端将configuration正确的域名完成? 这与实际机器的主机名有什么关系?
以下是我目前的后缀configuration。 我已经添加了用户saslpasswd2,并且我总是有一个身份validation失败,无论域或用户名有或没有域我把。 我可以看到sasldblistusers2的用户列表,并且我已经在postfix的chroot(/ var / spool / postfix / etc / sasldb2)中移动了sasldb2文件,如下所示。
saslfinger - postfix Cyrus sasl configuration Wed Dec 2 11:59:11 CET 2015 version: 1.0.4 mode: server-side SMTP AUTH -- basics -- Postfix: 2.11.3 System: Debian GNU/Linux 8 \n \l -- smtpd is linked to -- libsasl2.so.2 => /usr/lib/x86_64-linux-gnu/libsasl2.so.2 (0x00007fb6d84b9000) -- active SMTP AUTH and TLS parameters for smtpd -- smtpd_sasl_auth_enable = yes smtpd_sasl_local_domain = smtpd_sasl_path = sasl2/smtpd.conf smtpd_sasl_security_options = noanonymous smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key smtpd_tls_security_level = may smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache -- listing of /usr/lib/sasl2 -- total 20 drwxr-xr-x 2 root root 4096 Nov 30 00:12 . drwxr-xr-x 44 root root 4096 Nov 14 23:39 .. -rw-r--r-- 1 root root 4 Nov 28 21:15 berkeley_db.active -rw-r--r-- 1 root root 4 Sep 25 10:54 berkeley_db.txt -rw-r--r-- 1 root root 70 Nov 30 00:12 smtpd.conf -- listing of /etc/sasl2 -- total 12 drwxr-xr-x 2 root root 4096 Nov 30 00:41 . drwxr-xr-x 77 root root 4096 Nov 30 01:19 .. -rw-r--r-- 1 root root 70 Nov 29 23:22 smtpd.conf -- listing of /etc/postfix/sasl -- total 12 drwxr-xr-x 2 root root 4096 Nov 30 00:41 . drwxr-xr-x 3 root root 4096 Nov 30 01:18 .. -rw-r--r-- 1 root root 70 Nov 30 00:41 smtpd.conf -- content of /usr/lib/sasl2/smtpd.conf -- pwcheck_method: auxprop auxprop_plugin: sasldb mech_list: PLAIN LOGIN -- content of /etc/sasl2/smtpd.conf -- pwcheck_method: auxprop auxprop_plugin: sasldb mech_list: PLAIN LOGIN -- content of /etc/postfix/sasl/smtpd.conf -- pwcheck_method: auxprop auxprop_plugin: sasldb mech_list: PLAIN LOGIN -- content of /etc/postfix/sasl/smtpd.conf -- pwcheck_method: auxprop auxprop_plugin: sasldb mech_list: PLAIN LOGIN -- active services in /etc/postfix/master.cf -- # service type private unpriv chroot wakeup maxproc command + args # (yes) (yes) (yes) (never) (100) smtp inet n - - - - smtpd submission inet n - - - - smtpd -o syslog_name=postfix/submission -o smtpd_tls_security_level=may -o smtpd_sasl_auth_enable=yes -o smtpd_reject_unlisted_recipient=no -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject -o milter_macro_daemon_name=ORIGINATING smtps inet n - - - - smtpd -o syslog_name=postfix/smtps -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject -o milter_macro_daemon_name=ORIGINATING pickup unix n - - 60 1 pickup cleanup unix n - - - 0 cleanup qmgr unix n - n 300 1 qmgr tlsmgr unix - - - 1000? 1 tlsmgr rewrite unix - - - - - trivial-rewrite bounce unix - - - - 0 bounce defer unix - - - - 0 bounce trace unix - - - - 0 bounce verify unix - - - - 1 verify flush unix n - - 1000? 0 flush proxymap unix - - n - - proxymap proxywrite unix - - n - 1 proxymap smtp unix - - - - - smtp relay unix - - - - - smtp showq unix n - - - - showq error unix - - - - - error retry unix - - - - - error discard unix - - - - - discard local unix - nn - - local virtual unix - nn - - virtual lmtp unix - - - - - lmtp anvil unix - - - - 1 anvil scache unix - - - - 1 scache maildrop unix - nn - - pipe flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient} uucp unix - nn - - pipe flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient) ifmail unix - nn - - pipe flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient) bsmtp unix - nn - - pipe flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient scalemail-backend unix - nn - 2 pipe flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension} mailman unix - nn - - pipe flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py ${nexthop} ${user} -- mechanisms on localhost -- 250-AUTH DIGEST-MD5 NTLM CRAM-MD5 PLAIN LOGIN^M -- end of saslfinger output --
考虑到我失去了尝试获得正确configuration的时间,我会尝试使用正确的解释来制作最新的教程。 => 完成
感谢您阅读我的答案。
这个smptd.conf文件是什么,它包含…它在哪里?
首先,在Postfix中有configuration选项,指定这个文件必须是(如果使用cyrus sasl)以及如何命名。 该选项是:
smtpd_sasl_path = smtpd cyrus_sasl_config_path = /etc/sasl2/
Postfix将它们组合起来,并以/etc/sasl2/smtpd.conf的forms发送到cyrus sasl
最后,这与smtpd_sasl_local_domain有什么关系,特别是在多虚拟域别名configuration中?
据我所知,它被用作没有提供域名的用户的默认域。
对于pipe理多个域的虚拟域别名服务器,哪些值应该用于myorigin,myhostname和mydestination?
你爱怎么做就怎么做。 我更喜欢将它们全部(和smtpd_sasl_local_domain)设置为系统主机名,所以在该主机上生成的电子邮件始终显示为来自该主机。 这有助于构build带有备份MX的冗余系统,它具有相同的一组虚拟域,但系统名称不同,所以我总是可以区分主机。
你可以要求更多,我当然没有涵盖这些问题的每一个方面。 而且,当然,Postfix几乎涵盖了所有的东西,都有完美的文档。
http://www.postfix.org/SASL_README.html应该是您的第一个参考,而不是服务器默认页面。 如果需要的话,请在这里寻找更具体的点,但是在后缀网站上的文档通常是相当不错的。 正如该页面所述,
Postfix没有实现SASL本身,而是使用现有的实现作为构build块。 这意味着一些与SASL相关的configuration文件将属于Postfix,而其他configuration文件属于Postfix将使用的特定SASL实现。 本文档涵盖了Postfix和非Postfixconfiguration。
你似乎没有configurationsmtpd_sasl_application_name (因为你的旧版本的postfix,这是有效的,而不是smtpd_sasl_type ),所以默认的Cyrus SASL可能是有效的。 你在smtpd_sasl_path的值被传递给cyrus sasl库,据推测相对于它的基path来解释。 我想象你正在使用Cyrus SASL 2.x,但过去曾经使用过1.x,并留下了configuration文件。 给你的postfix版本,我可能是错的。 检查一下。 另外,看看实际安装了哪些软件包。
smtpd_sasl_path = sasl2/smtpd.conf几乎肯定是错误的。