【Linux】postfix大坑笔记
由于需要,想弄一个自动发送邮件的mailx或者sendmail
但是执行
echo "test" | mail -s "Worning mail !" xxxxx@qq.com;
的时候就会报错,提示使用ipv6,但是网卡没有配置ipv6的设置,所以需要强制然他默认为ipv4
vi /etc/main.cf
# Enable IPv4, and IPv6 if supported
inet_protocols = all #将这个修改为ipv4 记住是小写的 不要看他的注释,他的注释是错误的
但是修改完成后,还是不行,重启还是失败
# /etc/init.d/postfix restart
Shutting down postfix: [FAILED]
Starting postfix: [FAILED]
很难受,日志也没有相关的记载 日志的位置是/var/log/maillog
还是根据这个入手,结果看以前的日志,发现好多报警
Nov 27 22:46:43 xxx postfix/sendmail[24028]: warning: or the command is run from a set-uid root process
Nov 27 22:46:43 xxx postfix/sendmail[24095]: warning: or the command is run from a set-uid root process
Nov 27 22:46:43 xxx postfix/sendmail[24206]: warning: or the command is run from a set-uid root process
Nov 27 22:46:43 xxx postfix/sendmail[24028]: warning: the Postfix sendmail command must be installed without set-uid root file permissions
Nov 27 22:46:43 xxx postfix/sendmail[24095]: warning: the Postfix sendmail command must be installed without set-uid root file permissions
Nov 27 22:46:43 xxx postfix/sendmail[24206]: warning: the Postfix sendmail command must be installed without set-uid root file permissions
Nov 27 22:46:43 xxx postfix/sendmail[24095]: warning: inet_protocols: IPv6 support is disabled: Address family not supported by protocol
Nov 27 22:46:43 xxx postfix/sendmail[24028]: warning: inet_protocols: IPv6 support is disabled: Address family not supported by protocol
Nov 27 22:46:43 xxx postfix/sendmail[24206]: warning: inet_protocols: IPv6 support is disabled: Address family not supported by protocol
Nov 27 22:46:43 xxx postfix/sendmail[24095]: warning: inet_protocols: configuring for IPv4 support only
Nov 27 22:46:43 xxx postfix/sendmail[24206]: warning: inet_protocols: configuring for IPv4 support only
Nov 27 22:46:43 xxx postfix/sendmail[24028]: warning: inet_protocols: configuring for IPv4 support only
Nov 27 22:46:43 xxx postfix/sendmail[24206]: fatal: file /etc/postfix/main.cf: parameter mail_owner: unknown user name value: postfix
Nov 27 22:46:43 xxx postfix/sendmail[24095]: fatal: file /etc/postfix/main.cf: parameter mail_owner: unknown user name value: postfix
Nov 27 22:46:43 xxx postfix/sendmail[24028]: fatal: file /etc/postfix/main.cf: parameter mail_owner: unknown user name value: postfix
其中最后几行持续输入一个参数报错,mail_owner这个参数,提示没有用户,去mail.rc文件中找到这个参数,后面的是=postfix 于是在/etc/passwd中找这个用户,发现这个用户也被删掉
more /etc/passwd | grep postfix
echo "postfix:x:89:89::/var/spool/postfix:/sbin/nologin" >> /etc/passwd
由于系统日志没有记录,不知道是否添加成功,手动启动postfix进程,发现还是失败
于是尝试将postfix卸载重新安装
但是yum持续有问题,结果发现/etc/resolv.conf中nameserver 8.8.8.8被注释掉
打开注释,重新执行yum clean all; yum makecache
可以执行
再次执行yum remove postfix ,结果再卸载时候,需要将其他4个文件一并卸载,(但是用rpm -e 但是卸载报错,因为有其他服务以来postfix这个包,无法卸载),yum reinstall 也无法安装
这4个包分别是:

很难受,那也要卸载掉,于是点了y继续卸载,写在成功后,重新安装
yum install postfix -y 安装成功,但是只安装了他自己,没有其他的包呀!

安装完成后,将其他的包也重新装上,毕竟cron和sysstat是非常重要的东西
yum -y install vixie-cron
yum install sysstat -y
执行完上述的命令就可以将卸载的东西全部还原(这里如果原来的crontab中有执行计划的话,再次卸载安装的话,执行计划是不会丢失的,具体的位置在/var/spool/cron/下面,如果不放心可以备份)
全部弄完后,再吃重启,发现可以重启成功了,但是第一步中修改的ipv4变回了all,需要再次修改后,重启,
最后,postfix启动成功
【Linux】postfix大坑笔记的更多相关文章
- Linux实战教学笔记08:Linux 文件的属性(上半部分)
第八节 Linux 文件的属性(上半部分) 标签(空格分隔):Linux实战教学笔记 第1章 Linux中的文件 1.1 文件属性概述(ls -lhi) linux里一切皆文件 Linux系统中的文件 ...
- Linux实战教学笔记13:定时任务补充
第十三节 定时任务补充 标签(空格分隔): Linux实战教学笔记 ---[更多资料点我查看][1] 1,生产环境常用Crontab专业实例 1.1书写crontab定时任务多个基本要领 1.1.1 ...
- Linux实战教学笔记07:Linux系统目录结构介绍
第七节 Linux系统目录结构介绍 标签(空格分隔):Linux实战教学笔记 第1章 前言 windows目录结构 C:\windows D:\Program Files E:\你懂的\精品 F:\你 ...
- Linux实战教学笔记06:Linux系统基础优化
第六节 Linux系统基础优化 标签(空格分隔):Linux实战教学笔记-陈思齐 第1章 基础环境 第2章 使用网易163镜像做yum源 默认国外的yum源速度很慢,所以换成国内的. 第一步:先备份 ...
- Linux实战教学笔记05:远程SSH连接服务与基本排错(新手扫盲篇)
第五节 远程SSH连接服务与基本排错 标签(空格分隔):Linux实战教学笔记-陈思齐 第1章 远程连接LInux系统管理 1.1 为什么要远程连接Linux系统 在实际的工作场景中,虚拟机界面或物理 ...
- Linux实战教学笔记04:Linux命令基础
第四节:Linux命令基础 标签(空格分隔):Linux实战教学笔记 第1章 认识操作环境 root:当前登陆的用户名 @分隔符 chensiqi:主机名 -:当前路径位置 用户的提示符 1.1 Li ...
- Linux实战教学笔记03:操作系统发展历程及系统版本选择
标签(空格分隔): Linux实战教学笔记-陈思齐 第1章 Linux简介 1.1 什么是操作系统? 简单讲:操作系统就是一个人与计算机硬件的中介. 操作系统,英文名称Operating System ...
- Linux实战教学笔记02:计算机系统硬件核心知识
标签(空格分隔):Linux实战教学笔记-陈思齐 第1章 互联网企业常见服务器介绍 1.1 互联网公司服务器品牌 - DELL(大多数公司,常用) - HP - IBM(百度在用) 浪潮 联想 航天联 ...
- Linux实战教学笔记01:计算机硬件组成与基本原理
标签(空格分隔): Linux实战教学笔记 第1章 如何学习Linux 要想学好任何一门学问,不仅要眼睛看,耳朵听,还要动手记,勤思考,多交流甚至尝试着去教会别人. 第2章 服务器 2.1 运维的基本 ...
随机推荐
- 【Django Python版本对应】
使用Python36 时应该使用Django版本1.11.4 pip install django==1.11.4 版本对应表: Django version Python versions 1.8 ...
- 九、TestNG超时测试
"超时"表示如果单元测试花费的时间超过指定的毫秒数,那么TestNG将会中止它并将其标记为失败. 使用属性 timeOut = 参数(1s*1000) package com.lc ...
- css 04-CSS选择器:伪类
04-CSS选择器:伪类 #伪类(伪类选择器) 伪类:同一个标签,根据其不同的种状态,有不同的样式.这就叫做"伪类".伪类用冒号来表示. 比如div是属于box类,这一点很明确,就 ...
- HDU4388-Stone Game II-Nim变形
http://acm.hdu.edu.cn/showproblem.php?pid=4388 Nim变形,对一个\(n\)个石子的堆,每次取\(k(0<k<n)\)个(注意不能全取光),同 ...
- sqlmap进阶篇—POST注入三种方法
测试是否存在post注入 第一种方法 直接加--form让它自动加载表单 第二种方法 把form表单里面提交的内容复制出来,放到data中跑 第三种方法 先用burp suite抓包,把包的内容存到本 ...
- Java与C#的代码区别
Java和C#都是编程的语言,它们是两个不同方向的两种语言 相同点: 他们都是面向对象的语言,也就是说,它们都能实现面向对象的思想(封装,继承,多态) 区别: 1.c#中的命名空间是namespace ...
- H3C S5120V2-SI 交换机配置
连接终端线 可以看到开机信息 ......................................................................Done. System is ...
- 动态SQL基本语句用法
1.if语句 如果empno不为空,则在WHERE参数后加上AND empno = #{empno},这里有1=1所以即使empno为null,WHERE后面也不会报错. 映射文件 <selec ...
- Android驱动-Java入门学习(java安装)
在ubuntu 14.04上java开发环境. 下载 jdk-7u75-linux-x64.tar.gz 使用tar xvf jdk-7u75-linux-x64.tar.gz 解压 在/usr/li ...
- java数组基础知识
数组的定义:int[] array=new array[n];int array[]={, , , ,};定义了数组,JVM就会给其一个空间,数组是应用类型的数据类型,其存储方式是随机存储. 数组的遍 ...