Linux运维笔记-文档总结-postfix+mysql+dovecot
2017-05-25 00:14
861 查看
以下所有操作都是在Red-hat 7.0上
useradd -s /sbin/nologin -u 666 vmail -g 666
681 virtual_mailbox_maps = mysql:/etc/postfix/mailbox.cf
682 virtual_uid_maps = static:666 ##虚拟用户建立文件的uid
683 virtual_gid_maps = static:666 ##虚拟用户建立文件的gid
684 virtual_alias_maps = mysql:/etc/postfix/mailuser.cf
685 virtual_mailbox_domains = mysql:/etc/postfix/maildomain.cf
48 login_trusted_networks =0.0.0.0/0 ##允许任何网络段的登入
49 disable_plaintext_auth = no ##使用明文密码登入
71 connect = host=localhost dbname=email user=postuser password=postuser #查询时用到库的信息
78 default_pass_scheme = PLAIN #使用明文密码登入
107 password_query = \ #查询密码匹配
108 SELECT username, domain, password \
109 FROM emailuser WHERE username = ‘%u’ AND domain = ‘%d’ #从表中找username和domain的信息
125 user_query = SELECT maildir, 666 AS uid, 666 AS gid FROM emailuser WHERE username = ‘%u’ ###uid和gid是666确定接收用户。
%u - username
18 # %n - user part in user@domain, same as %u if there’s no domain
19 # %d - domain part in user@domain, empty if there’s no domain
17 # %u - username
168 first_valid_uid = 666
175 first_valid_gid = 666
MYSQL和postfix结合,将邮件的用户,密码,目录一些列东西写到表里进行身份的验证!
1.准备实验环境
2.在数据库里建立表,并填充邮件的信息
3.建立MYSQL用户并授权
4.添加查询文件
vim /etc/postfix/mailuser.cf #用户名称查询 hosts = localhost #数据库所在主机 user = postuser #登陆数据库的用户 password = postuser #登陆数据库的密码 dbname = email #postfix要查询的名称 table = emailuser #postfix要查询的表的名称 select_field = username #postfix要查询的字段 where_field = username #用户给定postfix的查询条件
vim maildomain.cf #用户域名查询 hosts = localhost user = postuser password = postuser dbname = email table = emailuser select_field = domain where_field = domain
vim mailbox.cf #用户邮箱位置查询 hosts = localhost user = postuser password = postuser dbname = email table = emailuser select_field = maildir where_field = username
5.测试
[root@westos-mail postfix]# postmap -q "ning@ning.com" mysql:/etc/postfix/mailuser.cf ning@ning.com [root@westos-mail postfix]# postmap -q "ning.com" mysql:/etc/postfix/maildomain.cf ning.com [root@westos-mail postfix]# postmap -q "ning@ning.com" mysql:/etc/postfix/mailbox.cf /mnt/ning.com/ning
MYSQL和postfix还有dovecot进行联合组建邮件系统。现在配置dovecot部分!
1.安装dovecot及所需要的插件。
yum install dovecot dovecot-mysql -y ##dovecot-mysql是dovecot软件的插件,可以识别mysql
2.配置dovecot
1.创建接收用户
groupadd -g 666 vmailuseradd -s /sbin/nologin -u 666 vmail -g 666
2.指定虚拟用户接收身份,位置和域名
virtual_mailbox_base = /home/vmail ##设定虚拟用户的邮件目录681 virtual_mailbox_maps = mysql:/etc/postfix/mailbox.cf
682 virtual_uid_maps = static:666 ##虚拟用户建立文件的uid
683 virtual_gid_maps = static:666 ##虚拟用户建立文件的gid
684 virtual_alias_maps = mysql:/etc/postfix/mailuser.cf
685 virtual_mailbox_domains = mysql:/etc/postfix/maildomain.cf
3.vim /etc/dovecot/dovecot.conf ##主配置文件
24 protocols = imap pop3 lmtp ##支持的协议48 login_trusted_networks =0.0.0.0/0 ##允许任何网络段的登入
49 disable_plaintext_auth = no ##使用明文密码登入
4.vim /etc/dovecot/conf.d/10-auth.conf ##进入认证的配置文件
123 !include auth-sql.conf.ext ##开启mysql的认证方式5.cp /usr/share/doc/dovecot-2.2.10/example-config/dovecot-sql.conf.ext /etc/dovecot/dovecot-sql.conf.ext #生成dovecot读取mysql
6.vim /etc/dovecot/dovecot-sql.conf.ext
32 driver = mysql ##数据库类型71 connect = host=localhost dbname=email user=postuser password=postuser #查询时用到库的信息
78 default_pass_scheme = PLAIN #使用明文密码登入
107 password_query = \ #查询密码匹配
108 SELECT username, domain, password \
109 FROM emailuser WHERE username = ‘%u’ AND domain = ‘%d’ #从表中找username和domain的信息
125 user_query = SELECT maildir, 666 AS uid, 666 AS gid FROM emailuser WHERE username = ‘%u’ ###uid和gid是666确定接收用户。
7. vim /etc/dovecot/conf.d/10-mail.conf
30 mail_location = maildir:/home/vmail/%d/%n ##接收邮件的位置%u - username
18 # %n - user part in user@domain, same as %u if there’s no domain
19 # %d - domain part in user@domain, empty if there’s no domain
17 # %u - username
168 first_valid_uid = 666
175 first_valid_gid = 666
3.配置完成后,重启服务dovecot
systemctl restart dovecot4.测试
使用telnet进行远程测试!
The end
相关文章推荐
- Linux运维笔记-文档总结-postfix邮件传输服务
- Linux运维笔记-文档总结-永久更改文件SELINUX安全上下文和管理SELINUX布尔值
- Linux运维笔记-文档总结-文件传输和文件归档
- Linux运维笔记-文档总结-自动安装 RED HAT ENTERPRISE LINUX
- Linux运维笔记-文档总结-控制对文件的访问
- Linux运维笔记-文档总结-系统恢复技术之MBR引导出错修复
- Linux运维笔记-文档总结-Linux中的进程管理
- Linux运维笔记-文档总结-软件安装
- Linux运维笔记-文档总结-openssh-server
- Linux运维笔记-文档总结-第三方软件仓库的搭建
- Linux运维笔记-文档总结-RAID磁盘阵列和磁盘配额总结与实现
- Linux运维笔记-文档总结-用户操作与权力下放
- Linux运维笔记-文档总结-系统恢复技术之Systemd初始化错误恢复技术
- Linux运维笔记-文档总结-linux中设备的访问
- Linux运维笔记-文档总结-FTP介绍,安装,以及匿名用户和本地用户的操作
- Linux运维笔记-文档总结-系统恢复技术之内核文件缺少恢复技术
- Linux运维笔记-文档总结-Linux目录和正则表达式
- Linux运维笔记-文档总结-管理输入输出和vim的更多功能展示
- Linux运维笔记-文档总结-系统延迟及定时机制
- Linux运维笔记-文档总结-系统虚拟机管理