分类: LINUX
2009-11-02 00:23:43
Sendmail的Sasl验证
在Sendmail服务器上安装cyrus-sasl*包
# rpm -qa | grep cyrus-sasl
cyrus-sasl-lib-2.1.22-4
cyrus-sasl-plain-2.1.22-4
cyrus-sasl-devel-2.1.22-4
cyrus-sasl-md5-2.1.22-4
cyrus-sasl-2.1.22-4
cyrus-sasl-sql-2.1.22-4
cyrus-sasl-ntlm-2.1.22-4
cyrus-sasl-gssapi-2.1.22-4
cyrus-sasl-ldap-2.1.22-4
在Sendmail的主配置文件里取消下面的部分前面的注释:
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')
/etc/sysconfig/saslauthd文件里面定义了sasl的方式,默认使用pam。使用下面的命令可以查
看系统中已经安装的方式。
# saslauthd -v
saslauthd 2.1.22
authentication mechanisms: getpwent kerberos5 pam rimap shadow ldap
启动saslauthd合sendmail服务。
# service saslauthd start
# service sendmail start
使用下面的命令得到用户名和密码的base64格式的值。
# echo -en 'jaylin' | openssl base64
amF5bGlu
# echo -en 'redhat' | openssl base64
cmVkaGF0
在客户端telnet登录到Sendmail服务器上检验
# telnet mail.jaylin.com 25
Trying 192.168.1.9...
Connected to mail.jaylin.com (192.168.1.9).
Escape character is '^]'.
220 mail.jaylin.com ESMTP Sendmail 8.13.8/8.13.8; Tue, 27 Oct 2009 12:43:42 +0800
EHLO mail.jaylin.com
250-mail.jaylin.com Hello [192.168.1.7], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-AUTH GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN
250-DELIVERBY
250 HELP
AUTH LOGIN
334 VXNlcm5hbWU6
amF5bGlu
334 UGFzc3dvcmQ6
cmVkaGF0
235 2.0.0 OK Authenticated
之后就跟正常发邮件是一样的了。