31.9.SMTP 认证
在 MTA 上配置 SMTP 认证有很多好处。SMTP 认证为 Sendmail 增加了一层安全性,并为切换 主机的移动用户提供了使用同一 MTA 的能力,而不需要每次都重新配置他们邮件客户端的设置。
pwcheck_method: saslauthdsaslauthd_enable="YES"最后,启动守护程序 saslauthd:# service saslauthd start这个守护进程作为 Sendmail 的代理,对 FreeBSD 的 passwd(5) 数据库进行认证。这样就省去了为每个需要使用 SMTP 认证的用户创建一套新的用户名和密码的麻烦,并使登录和邮件密码保持一致。4.接下来,编辑 /etc/make.conf 并添加以下几行:SENDMAIL_CFLAGS=-I/usr/local/include/sasl -DSASLSENDMAIL_LDADD=/usr/local/lib/libsasl2.so5.通过执行以下命令来重新编译 Sendmail。# cd /usr/src/lib/libsmutil# make cleandir && make obj && make# cd /usr/src/lib/libsm# make cleandir && make obj && make# cd /usr/src/usr.sbin/sendmail# make cleandir && make obj && make && make install如果 /usr/src 没有大的变化,并且它所需要的共享库是可用的,那么这个编译应该不会有任何问题。6.在 Sendmail 被编译并重新安装后,编辑 /etc/mail/freebsd.mc 或本地的 .mc。许多管理员选择使用 hostname(1) 的输出作为 .mc 的名称,以保持其唯一性。添加这些行:dnl set SASL optionsTRUST_AUTH_MECH(`GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnldefine(`confAUTH_MECHANISMS', `GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl这些选项配置了 Sendmail 可用来验证用户的不同方法。要使用 pwcheck 以外的方法,请参考 Sendmail 的文档。7.最后,在 /etc/mail 中运行 make(1)。这将运行新的 .mc 并创建一个 .cf,命名为 freebsd.cf 或本地 .mc 所用的名称。然后,运行make install restart
,这将把文件复制到 sendmail.cf,并正确地重新启动 Sendmail。关于这个过程的更多信息,请参考 /etc/mail/Makefile。
为了测试配置,使用 MUA 来发送一个测试信息。为了进一步调查,将 Sendmail 的
LogLevel
设置为 13
,并观察 /var/log/maillog 是否有错误。