Linux(Centos6)上架设认证加密邮件服务器之认证
2013年12月26日
这是CentOS6上架设邮件服务器三部曲的第二步,请确认事先阅览了第一步在CentOS6上架设认证加密邮件服务器之收发邮件。
1 添加安装cyrus-sasl-mdb5。
CentOS6中默认没有安装cyrus-sasl-mdb5,没有这个包的话,邮件服务器认证功能有时不能顺利安装。当然你也可以把cyru-sasl的包全部安装上。
[root@srv ~]# rpm -qa | grep "cyrus-sasl" cyrus-sasl-devel-2.1.23-13.el6_3.1.x86_64 cyrus-sasl-md5-2.1.23-13.el6_3.1.x86_64 cyrus-sasl-gssapi-2.1.23-13.el6_3.1.x86_64 cyrus-sasl-ntlm-2.1.23-13.el6_3.1.x86_64 cyrus-sasl-2.1.23-13.el6_3.1.x86_64 cyrus-sasl-lib-2.1.23-13.el6_3.1.x86_64 cyrus-sasl-sql-2.1.23-13.el6_3.1.x86_64 cyrus-sasl-ldap-2.1.23-13.el6_3.1.x86_64 cyrus-sasl-plain-2.1.23-13.el6_3.1.x86_64 [root@srv ~]#
如果上面没有出现”cyrus-sasl-md5-2.******”的话(******是版本号),执行以下命令。
yum install -y cyrus-sasl*
2 更改/etc/postfix/main.cf文件
vi /etc/postfix/main.cf
在最后加上如下三行。
smtpd_sasl_auth_enable = yes smtpd_sasl_local_domain = $myhostname smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination
3 启动saslauthd服务
[root@centos ~]# /etc/rc.d/init.d/saslauthd start ← saslauthd 启动 [root@centos ~]# chkconfig saslauthd on ← saslauthd 设置为自动启动
4 重新启动postfix,dovecot
/etc/rc.d/init.d/postfix restart /etc/rc.d/init.d/dovecot restart
6 测试sasl
[root@srv ~]# perl -MMIME::Base64 -e 'print encode_base64("\000sai\000sai1111");' ← 用户名与密码编码成Base64的字符串 AHNhaQBxanJvbmc1NjQz ← 生成 Base64的字符串 [root@srv ~]# telnet localhost smtp Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 srv.dragreen.com ESMTP unknown EHLO localhost 250-srv.dragreen.com 250-PIPELINING 250-SIZE 10485760 250-VRFY 250-ETRN 250-STARTTLS 250-AUTH LOGIN PLAIN 250-ENHANCEDSTATUSCODES 250-8BITMIME 250 DSN AUTH PLAIN AHNhaQBxanJvbmc1NjQz ← 认证用户名密码(上面生成的Base64码字符串) 235 2.7.0 Authentication successful quit 221 2.0.0 Bye Connection closed by foreign host. [root@srv ~]#
Authentication successful 说明我们的认证成功了。
注意:1.这里的用户与密码是第一步中添加的用户名与密码。这里Base64 encode只是编码,并未加密,即我们的用户名:密码还不是安全的。
2.这里我们的认证用户名与密码采用的是系统的用户名与密码,如果要用与系统不同的用户名密码的话,请用saslpasswd2等命令实现。
第二步结束,谢谢阅览!!