一。将之前的安装的sasl文件全部删除(也可以备份)
1.要是用的解压安装make 需要使用make uninstall在其目录中卸载,
2.要是通过yum安装的需要rpm -e --nodeps cyrus-sasl-devel cyrus-sasl-plain cyrus-sasl cyrus-sasl-lib 卸载相关的sasl文件和库
我是将sasl安装到/usr/local/sasl中,所以我直接将/usr/local/sasl2 删除文件,
rm -rf /usr/lib/sasl2
rm -rf /usr/lib/lrm -rf libsasl2.la
rm -rf /usr/lib/lrm -rf libsasl2.so
rm -rf /usr/lib/lrm -rf libsasl2.so.2
rm -rf /usr/lib/lrm -rf libsasl2.so.2.0.22
等文件libsaslxxxx 类似的文件全部删掉,怕删除了可以备份
还有在cd /usr/include/中
rm -rf sasl.h
rm -rf saslplug.h
rm -rf saslutil.h
rm -rf md5.h
rm -rf md5global.h
rm -rf hmac-md5.h
rm -rf prop.h
在查看在/usr/local/lib 和 /usr/local/include/中有没有一样的文件也全部删掉。
二,开始重新安装
需要下载文件。saslrpm安装 http://download.csdn.net/detail/stuartjing/3694178
将文件解压后拷贝到linux中(文件是rar格式,最好在下载后解压将文件夹拷贝到linux 中)
进入文件
rpm -ihv cyrus-sasl-lib-2.1.22-8.i386.rpm
rpm -ihv cyrus-sasl-2.1.22-8.i386.rpm
rpm -ihv cyrus-sasl-plain-2.1.22-8.i386.rpm
rpm -ihv cyrus-sasl-devel-2.1.22-8.i386.rpm
依次安装
尝试测试saslauthd启动
mkdir -pv /var/run/saslauthd
/usr/sbin/saslauthd -a shadow pam -d
启动saslauthd并测试
/usr/sbin/saslauthd -a shadow pam
# /usr/local/sasl2/sbin/testsaslauthd -u root -p root用户密码
开机自动启动
# echo "/usr/local/sasl2/sbin/saslauthd -a shadow pam">>/etc/rc.local
打开文件,(不需要知道smtpd.conf文件是否存在,一般都不存在)
vi /usr/lib/sasl2/smtpd.conf
pwcheck_method:authdaemond
log_level: 3
mech_list: PLAIN LOGIN
authdaemond_path:/usr/local/courier-authlib/var/spool/authdaemon/socket
重新更新postfix服务
postfix reload