构建postfix邮件服务器(四)配置postfix支持虚拟用户
2010年3月17日稀饭发表评论阅读评论
一、准备
1.从中下载extman-1.
2.从sourceforge/projects/courier/files/下载courier-authlib
使用Courier-authlib软件的目的是因为saslauthd程序不支持数据库认证,而Courier-authlib支持多种数据库认证
3.检查postfix是否支持虚拟用户postconf–m|grep msyql如果出现mysql表示支持
二、建立虚拟用户数据库
1启动mysql
service mysqld restart
(要想使用此方法启动,必须将mysqld添加为系统服务,见构建postfix邮件服务器(一))
2.解压extman
tar zxvf extman-1.
3.导入extman软件包中的数据库脚本
cd extman-1.1/docselectron桌面应用
mysql-u root-p123456<extmail.sql
mysql-u root-p123456<init.sql
-p后面接的是mysql的密码
(要想直接使用mysql就要输入export PATH=$PATH:/usr/local/mysql/bin)
extmail.sql脚本进行的操作:主要针对邮件域localhost进行初始化
创建extmail库,及该库中的一些表
创建用户extmail@localhost,密码为extmail对数据库extmail中的表拥有“SELECT”、“UPDATE”的权限
创建用户webman@localhost,密码为extman对数据库extmail中的表拥有“SELECT”、“INSERT”、“DELETE”、“UPDATE”权限
init.sql脚本进行的操作:主要是建立了一个新的测试邮件域
添加虚拟邮件域的记录,作为该邮件域的管理帐户网页源代码软件
创建用户,密码为extmail*123*
创建用户,密码为extmail
作为该邮件域内的基本邮件用户
三、配置虚拟用户支持postfix
1、修改main.cf文件
Vi/etc/ostfix/main.cf
#mydestination=$mydomain,$myhostname//注释这一行
添加下面的内容
virtual_mailbox_base=/mailbox
\\指定虚拟邮箱存储目录的路径起点
virtual_alias_maps=mysql:/etc/postfix/mysql_virtual_alias_maps.cf
\\指定虚拟邮件用户对应的别名文件位置
virtual_mailbox_maps=mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
mysql无法连接到服务器\\指定记录虚拟邮件地址与存储位置对应关系的映射文件的位置
virtual_mailbox_domains=mysql:/etc/postfix/mysql_virtual_domains_maps.cf
\\设置postfix服务器可以接收的虚拟邮件域的域名,作用类似于配置参数“mydestination”virtual_uid_maps=static:1000\\设置所有虚拟用户映射的本地用户的UID
virtual_gid_maps=static:1000\\设置所有虚拟用户映射的本地用户的GID
2.建立虚拟用户映射表文件
方法:复制extman软件包中docs子目录下的样例文件
mysql_virtual_alias_maps.cf mysql_virtual_mailbox_maps.cf mysql_virtual_domains_maps.cf
cd extman-0.2.5/docs
oracle数据库服务cp mysql_virtual_*/etc/postfix/
osi各层的网络设备四、为虚拟用户设置SMTP发信认证
1.解压coutier-authlib-0.63.0
tar jxvf courier-authlib-0.63.0.tar.bz2
2.预配置
./configure
–prefix=/usr/local/courier-authlib\\\安装的位置
>–without-stdheaderdir\\\将头文件安装到一个不是默认的头文件搜索路径的目录中
>–with-authmysql\\\配置支持MYSQ数据库查询
>–with-redhat\
>–with-mysql-libs=/usr/local/mysql/lib/mysql\\\mysql的库文件路径
>–with-mysql-includes=/usr/local/mysql/include/mysql\\msyql的头文件路径
3.编译,安装
make;make install
maven项目plugins全部爆红4.生成authmysqlrc和authdaemonrc两个文件
命令make install-configure
authdaemonrc:主配置,设置使用的认证方式
authmysqlrc:数据库配置,设置连接地址、查询方式等
5.将courier-authlib的库文件路径添加到系统的搜索路径中去
1)vi/etc/f
/
usr/local/courier-authlib/lib/courier-authlib
2)更新
Ldconfig
6.修改authdaemonrc主配置文件,仅保留authmysql认证方式,去掉其他1)进入目录
cd/usr/local/courier-authlib/etc/authlib/
2)备份
cp authdaemonrc authdaemonrc.bak
3)保留authmysql认证方式
①vi authdaemonrc
②删掉所有内容1000dd
③添加如下两行
authmodulelist=”authmysql”
authmodulelistorig=”authmysql”
7.修改authmysqlrc文件,用于描述如何向mysql数据库查询信息
1)cd/usr/local/courier-authlib/etc/authlib/
2)备份
cp authmysqlrc authmysqlrc.bak
3)vi authmysqlrc
修改
MYSQL_SERVER localhost\\msyql数据库服务器位置
MYSQL_USERNAME extmail\\数据库管理员账号
MYSQL_PASSWORD extmail\\数据库管理员账户密码
MYSQL_SOCKET/tmp/mysql.sock\\mysql.sock文件位置
MYSQL_DATABASE extmail\\虚拟用户数据库
MYSQL_USER_TABLE mailbox\\重mailbox表中获得账户的信息
MYSQL_CRYPT_PWFIELD password\\从pssword字段获得帐户密码
MYSQL_UID_FIELD uidnumber\\从uidnumber字段获得映射的本地用户UID MYSQL_GID_FIELD gidnumber\\从gidnumber字段获得映射的本地组GID
MYSQL_LOGIN_FIELD username\\从username字段获得帐户名称(带@后缀)MYSQL_HOME_FIELD concat(‘/mailbox/’,homedir)\\合并出用户的宿主目录完整路径
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论