Courier-authlib安装和配置

2017-10-19 0 By admin

Postfix配置中smtpd_sasl_path = smptd;设定对远程登陆的用户进行认证,是在smtpd模块中进行的。
Smtpd配置文件在/etc/sasl2/smtpd.conf;在配置文件中将认证工作交给Courier-authlib。
Courier-authlib需要Cyrus-sasl库的支持。

一、Courier-authlib 安装

# tar jxvf courier-authlib-0.64.0.tar.bz2
# cd courier-authlib-0.64.0
#./configure \
--prefix=/usr/local/courier-authlib \
--sysconfdir=/etc \
--without-authpam \
--without-authshadow \
--without-authvchkpw \
--without-authpgsql \
--with-authmysql \
--with-mysql-libs=/usr/lib/mysql \
--with-mysql-includes=/usr/include/mysql \
--with-redhat \
--with-authmysqlrc=/etc/authmysqlrc \
--with-authdaemonrc=/etc/authdaemonrc \
--with-mailuser=postfix \
--with-mailgroup=postfix \
--with-ltdl-lib=/usr/lib \
--with-ltdl-include=/usr/include
# make
# make install

备注
可以使用--with-authdaemonvar=/var/spool/authdaemon选项来指定进程套按字目录路径。
# chmod 755 /usr/local/courier-authlib/var/spool/authdaemon
# cp /etc/authdaemonrc.dist /etc/authdaemonrc
# cp /etc/authmysqlrc.dist /etc/authmysqlrc

二、服务配置

修改/etc/authdaemonrc 文件
authmodulelist="authmysql"
authmodulelistorig="authmysql"
daemons=10
debug_login=2
#启动日志,方便调试。
配置其通过mysql进行邮件帐号认证;编辑/etc/authmysqlrc 为以下内容,
其中2525,2525 为postfix 用户的UID和GID。
MYSQL_SERVER localhost
MYSQL_PORT 3306
MYSQL_USERNAME usename
MYSQL_PASSWORD password
MYSQL_SOCKET /var/lib/mysql/mysql.sock
MYSQL_DATABASE databasename
MYSQL_USER_TABLE user_table
MYSQL_LOGIN_FIELD username
MYSQL_NAME_FIELD username
MYSQL_CRYPT_PWFIELD password
MYSQL_UID_FIELD '2525' #Courier-authlib会提供账号文件属主ID
MYSQL_GID_FIELD '2525' #Courier-authlib会提供账号文件属组ID
MYSQL_HOME_FIELD concat('/var/mailbox/',homedir)
MYSQL_MAILDIR_FIELD concat('/var/mailbox/',maildir)

提供SysV服务脚本
# cp courier-authlib.sysvinit /etc/rc.d/init.d/courier-authlib
# chmod 755 /etc/init.d/courier-authlib
# chkconfig --add courier-authlib
# chkconfig --level 2345 courier-authlib on
# echo "/usr/local/courier-authlib/lib/courier-authlib" >> /etc/ld.so.conf.d/courier-authlib.conf
# ldconfig -v
# service courier-authlib start (启动服务)

三、组合postfix和courier-authlib

新建虚拟用户邮箱所在的目录,并将其权限赋予postfix用户:
#mkdir –pv /var/mailbox
#chown –R postfix /var/mailbox

接下来重新配置SMTP 认证
/etc/sasl2/smtpd.conf;/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

四、如果配置dovecot进行smtp认证

认证机制:plain login
login 是用于smtp登陆设置的。