运维学习笔记虚拟用户邮件服务

在DNS为邮件服务器做好域名解析后

注意:在做该实验时有些设备应关闭selinux

就可以利用MYSQL和POSTFIX来搭建数据库所记录的虚拟用户来使用邮件服务器进行收发邮件了

首先在MYSQL中建立email库存放记录虚拟用户信息的表emailuser

usernamepassworddomainmaildir

[email protected]12345678redhat.com/redhat.com/fu/

在MYSQL中新建用户并使得该用户只可访问email库

GRANT SELECT ON  email.* to [email protected] identified by ‘postfixuser‘;

新建用户并添加到postfix的主配置文件/etc/postfix/main.cf中

groupadd -g 451 vmail

useradd -s /bin/noligin -g 451 -u 451 vmail

postconf -e virtual_mailbox_base=/home/vmail

postconf -e virtual_uid_maps=static:451

postconf -e virtual_gid_maps=static:451

新建文件使数据库中信息与postfix关联

postconf -e virtual_alias_maps=mysql:/etc/postfix/my-emailuser.cf

postconf -e virtual_mailbox_domains=mysql:/etc/postfix/my-domain.cf

postconf -e virtual_mailbox_maps=mysql:/etc/postfix/my-maildir.cf

编辑文件my-emailuser.cf

|-   -|

hosts = localhost

user = postfixuser

password = postfixuser

dbname = email

table = emailuser

select_field = username

where_field = username

|-   -|

编辑my-domain.cf

|-                         -|

hosts = localhost

user = postfixuser

password = postfixuser

dbname = email

table = emailuser

select_field = domain

where_field = domain

|-                         -|

编辑my-maildir.cf

|-                         -|

hosts = localhost

user = postfixuser

password = postfixuser

dbname = email

table = emailuser

select_field = maildir

where_field = username

|-                         -|

测试

postmap -q “[email protected]” mysql:/etc/postfix/my-emailuser.cf

[email protected]

postmap -q “redhat.com” mysql:/etc/postfix/my-domain.cf

redhat.com

postmap -q “[email protected]” mysql:/etc/postfix/my-maildir.cf

/redhat.com/fu/

测试结果正确

reload postfix

时间: 2024-12-28 09:19:12

运维学习笔记虚拟用户邮件服务的相关文章

​通过chkconfig设置linux开机自启动服务- 老男孩Linux运维学习笔记1

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处.作者信息和本声明.否则将追究法律责任. 更多内容请查看老男孩老师的书籍:<跟老男孩学习Linux运维:Web集群实战>或者运维课程. 首先查看当前开启的服务有哪些: 老男孩老师的经验告诉我们默认只需要开通下面5个必要服务即可: sshd |sysstat|crond|network|rsyslog 首先查看当前自启动的服务有哪些.由于工作环境基本上使用文本模式3级别,只需要查找3级别上开启的服务即可. 命令如下: [[email 

Linux运维学习笔记之一:运维的原则和学习方法

一直在用Linux,但从未系统学习过,从1月1日开始学习到7月16日结束,近七个月学习,让自已对Linux有了新的认识,老男孩老师的课真的不错,实战性很强.由于只能中午和晚上10点以后才有时间,所以所有的实验是在不同电脑上完成的,文中IP可能有点问题,但应该不会影响实验.同时,为了保证笔记的完整,在做笔记的时候,从网上也下载了些图片和内容. 第一章 运维的原则: 一.简单.易用.高效 二.修改前做备份 1.以便回滚 2.以便事后比对改过的内 三.最小化原则 1.安装系统最小化 2.开启服务最小化

Mysql DBA高级运维学习笔记-mysql数据库介绍

本文为我自己学习老男孩MySQL DBA 高级运维课程的学习笔记,内容均出自老男孩MySQL DBA 高级运维课程,老男孩老师讲的很好,非常感谢老男孩老师.我是一个菜鸟刚接触运维,如果我写的文章有不对的地方:请各位行业的精英.老师多多批评指点,呵呵~ 1.1 数据库介绍 1.1.1 什么是数据库?简单的说,数据库就是一个存放数据的仓库,这个仓库是按照一定的数据结构(数据结构是指数据的组织形式或数据之间的联系)来组织.存储的,我们可以通过数据库提供的多种方法来管理数据库里的数据. 1.2 数据库的

python运维学习笔记1

辞职在家,边找工作边学python看了一本python基础之后感觉远远不够,之后在某东上搜索找到一本<Python自动化运维>的书,写这个想给自己留下点学习的痕迹吧,在此先感谢大神作者刘天斯, 不在多说开始吧 python 系统基础信息模块详解 系统基础信息采集模块作为监控模块的重要组成部分 系统性能信息模块:psutil 这个模块能够轻松的获取系统运行进程和系统利用率信息,主要用于系统监控,分析和限制系统资源及进程管理. 首先先下载个psutil 的包 网址https://github.co

Mysql DBA 高级运维学习笔记-MySQL备份与恢复实战案例及生产方案

1.全量备份与增量备份 1.1 全量备份 全量数据就是数据库中所有的数据,全量备份就是把数据库中所有的数据进行备份. 备份所有库: mysqldump -uroot -p123456 -S /data/3306/mysql.sock -F -B –A gzip >/server/backup/mysq_backup_$(date +%F).sql.gz 备份一个库: mysqldump -uroot -p123456 -S /data/3306/mysql.sock -F -B linzhong

Linux下创建文件和文件夹的方法-老男孩Linux运维学习笔记2

我们可以在Linux里面通过多个命令来创建文件: touch命令创建文件: -创建单个文件: [[email protected] oldboy]# touch oldboy [[email protected] oldboy]# ll 总用量 0 4325378 -rw-r--r-- 1 root root 0 2017-05-27 13:30 oldboy -创建多个文件: [[email protected] oldboy]# touch oldboy1 oldboy2 oldboy3 

Linux运维学习笔记-角色知识总结

角色通过UID和GID区分 root:超级管理员,拥有所有权限,UID(0). 普通用户:拥有操作自己家目录下的所有权限,其他文件及目录(/etc./var)只有读的权限,UID(500-65535). 虚拟用户:傀儡,UID(1-499),主要用来满足启动服务的需求. 命令:su 切换用户.sudo提权命令,角色没有变,但是可以提升命令的使用权限,需事先配置好sudo的授权.参数 - 表示加载相应的环境变量. 系统角色相关文件: /etc/passwd     用户的配置文件 /etc/sha

Mysql DBA高级运维学习笔记-Mysql数据库的多种安装方法

3.1 MySQL数据库的安装 3.1.1 yum/rpm方式安装 注意:yum/rpm方式安装MySQL适合所有MySQL软件产品系列. (1)rpm包方式安装mysql我们必须安装Mysql-server和Mysql.client包,rpm安装很简单这里就不说了. (2)yum方式安装mysqlyum 安装的方式很简单,只要执行yum install mysql-server –y即可.大的门户把源码根据企业的需求制作成rpm,搭建yum仓库,yum install xxx -y. 3.1.

Mysql DBA 高级运维学习笔记-DQL语句之select知识讲解

9.9.8 查询数据 9.9.8.1 查询表的所有数据行 (1)命令语法:select<字段1,字段2,->from<表名>where<表达式> (2)列子:查看表wwn中所有数据 a.进入指定数据库查询 [email protected] 04:5152->use wwn Database changed [email protected] 04:5159->select * from test -> ; +----+-----------+ | i