既然默认开启了肯定有他的好处,不能关selinux,就搜索:selinux+smtp

找到了答案,selinux果然是不允许http来连接网络的,执行如下命令:

setsebool -P httpd_can_network_connect=1

即可发送邮件了

详情参考:

https://www.vbulletin.com/forum/showthread.php/217997-smtp-mail-and-SElinux-in-enforcing-mode

To allow PHP/Apache to connect to port 25 issue the following commands as root:
setsebool -P httpd_can_network_connect=1
To allow PHP mail() to work issue the following command as root:
setsebool -P httpd_can_sendmail=1

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

SELinux 的启动、关闭与查看

2012-12-24 10:17:24|  分类:Linux/Unix|  标签:selinuxlinux|字号订阅

SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux? 上最杰出的新安全子系统。NSA是在Linux社区的帮助下开发了一种访问控制体系,在这种访问控制体系的限制下,进程只能访问那些在他的任务中所需要文件。SELinux 默认安装在 Fedora 和 Red Hat Enterprise Linux 上,也可以作为其他发行版上容易安装的包得到。

SELinux 的启动、关闭与查看
1,并非所有的 Linux distributions 都支持 SELinux 的
目前 SELinux 支持三种模式,分别如下:
?enforcing:强制模式,代表 SELinux 运作中,且已经正确的开始限制 domain/type 了;
?permissive:宽容模式:代表 SELinux 运作中,不过仅会有警告讯息并不会实际限制 domain/type 的存取。这种模式可以运来作为 SELinux 的 debug 之用;
?disabled:关闭,SELinux 并没有实际运作。

2,查看SELinux的模式
# getenforce
Enforcing  <==就显示出目前的模式为 Enforcing

3,查看 SELinux 的政策 (Policy)?
[root@master oracle]# sestatus
SELinux status:                 enabled    <==是否启动 SELinux
SELinuxfs mount:                /selinux   <==SELinux 的相关文件资料挂载点
Current mode:                   enforcing  <==目前的模式
Mode from config file:          enforcing  <==设定档指定的模式
Policy version:                 21
Policy from config file:        targeted   <==目前的政策为何?

4,通过配置文件调整SELinux的参数
[root@www ~]# vi /etc/selinux/config
SELINUX=enforcing     <==调整 enforcing|disabled|permissive
SELINUXTYPE=targeted  <==目前仅有 targeted 与 strict

5,SELinux 的启动与关闭
【重要常识】上面是预设的政策与启动的模式!你要注意的是,如果改变了政策则需要重新开机;如果由 enforcing 或 permissive 改成 disabled ,或由 disabled 改成其他两个,那也必须要重新开机。这是因为 SELinux 是整合到核心里面去的, 你只可以在 SELinux 运作下切换成为强制 (enforcing) 或宽容 (permissive) 模式,不能够直接关闭 SELinux 的!
同时,由 SELinux 关闭 (disable) 的状态到开启的状态也需要重新开机啦!所以,如果刚刚你发现 getenforce 出现 disabled 时, 请到上述文件修改成为 enforcing 吧!

【重点】如果要启动SELinux必须满足以下两个点:
所以,如果你要启动 SELinux 的话,请将上述的 SELINUX=enforcing 设定妥当,并且指定 SELINUXTYPE=targeted 这一个设定, 并且到 /boot/grub/menu.lst 这个文件去,看看核心有无关闭 SELinux 了呢?
[root@www ~]# vi /boot/grub/menu.lst
default=0
timeout=5
splashp_w_picpath=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-92.el5)
       root (hd0,0)
       kernel /vmlinuz-2.6.18-92.el5 ro root=LABEL=/1 rhgb quiet selinux=0
       initrd /initrd-2.6.18-92.el5.img
# 如果要启动 SELinux ,则不可以出现 selinux=0 的字样在 kernel 后面!
【问题】通过上面的学习我们知道,如果将启动着的SELinux改为禁用,需要重启电脑,我们不想重启电脑又不想开启SELinux该怎么办呢?
【答案】将强制模式改为宽松模!
[root@www ~]# setenforce [0|1]
选项与参数:
0 :转成 permissive 宽容模式;
1 :转成 Enforcing 强制模式

范例一:将 SELinux 在 Enforcing 与 permissive 之间切换与查看
[root@www ~]# setenforce 0
[root@www ~]# getenforce
Permissive
[root@www ~]# setenforce 1
[root@www ~]# getenforce
Enforcing

6,查看已启动程序的type设定
[root@master oracle]# ps aux -Z
LABEL                           USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
system_u:system_r:init_t        root         1  0.0  0.4   2060   520 ?        Ss   May07   0:02 init [5
system_u:system_r:kernel_t      root         2  0.0  0.0      0     0 ?        S<   May07   0:00 [migra]
system_u:system_r:kernel_t      root        11  0.0  0.0      0     0 ?        S<   May07   0:00 [kacpi]
system_u:system_r:auditd_t      root      4022  0.0  0.4  12128   560 ?        S<sl May07   0:01 auditd
system_u:system_r:auditd_t      root      4024  0.0  0.4  13072   628 ?        S<sl May07   0:00 /sbin/a
system_u:system_r:restorecond_t root      4040  0.0  4.4  10284  5556 ?        Ss   May07   0:00 /usr/sb

说明:其实这些东西我们都不用管,都是SELinux内置的。只要学会在强制和宽松模式间转换就行了!

转载于:https://blog.51cto.com/linhg/1219052

Centos下通过SMTP发送邮件失败解决相关推荐

  1. Centos下文本文件格式转码解决

    Centos下文本文件格式转码解决 最近遇到服务器网站的目录下的所有文件的编码全是gb2312,直接用cat或者vim打开显示都是乱码,网页显示出来当然也全是乱码,所以要解决怎么把目录下的所有文件(包 ...

  2. 阿里云邮免费企业邮箱使用smtp发送邮件失败(SMTP开启、配置问题)

    阿里云邮免费企业邮箱使用smtp发送邮件失败(SMTP开启.配置问题) 企业邮箱 在Foxmail 7.0上POP3/IMAP协议设置方法 Foxmail 7.0 POP3/IMAP 设置方法如下: ...

  3. 向smtp发送邮件失败

    今天,我的程序向smtp发送邮件失败,得到错误 Unable to read data from the transport connection: net_io_connectionclosed. ...

  4. centos php 开启socket,centos下phpsocket连接,该如何解决

    centos下php socket连接 最近要做一个基于tcp/ip下的短连接 我们自己的代码使用的是php的socket连接,对方服务器,已经测试能够连接,并接收到对方传回来的数据: 现在要求我们自 ...

  5. centos下安装pip时失败:

    2019独角兽企业重金招聘Python工程师标准>>> [root@wfm ~]# yum -y install pip Loaded plugins: fastestmirror, ...

  6. svn 在windows下创建仓库子目录失败解决办法

    开始创建失败,后来就成功了 解决的办法是提升VisualSVN Server Admins对Reposiories目录的权限

  7. c#企业邮箱使用smtp发送邮件失败,

    c#发送邮件,刚开始用qq邮箱,163邮箱正常发送,换成阿里企业邮箱,报下面的错误, 不允许使用邮箱名称. 服务器响应为:authentication is required 但是 foxmail可以 ...

  8. bitdock系统错误_Docker在centos下安装以及常见错误解决

    Docker安装(使用阿里云镜像) Docker从1.13版本之后采用时间线的方式作为版本号,分为社区版CE和企业版EE. 社区版是免费提供给个人开发者和小型团体使用的,企业版会提供额外的收费服务,比 ...

  9. CentOS下unzip出现错误的解决办法

    错误现象 # unzip xxxxxx.zip -d xxxxxx Archive: xxxxxx.zipEnd-of-central-directory signature not found. E ...

最新文章

  1. python 整数逆位运算_python训练营:注释、运算符、数据类型与位运算
  2. 清华「男神」沈天成,踢毽子踢成了2021学生年度人物
  3. J0ker的CISSP之路:复习Access Control(10)
  4. MySQL 配置文件优化
  5. JQuery EasyUI入门
  6. 如何删除下一页分节符_word 2010高级应用:分节符的使用
  7. Looking Back 2018
  8. c++程序设计原理与实践 第二十四章部分答案
  9. Remember The Word-Trie
  10. rabbitmq 安装 windows
  11. java中复制图片_2017.5.3 java中 复制图片的4种方式(copy图片只能用字节流对象)...
  12. 12864液晶模块的详细使用
  13. U盘Linux游戏系统,batocera.linux U盘街机游戏系统下载
  14. movsw 汇编_【汇编】 常用代码段 rep movsw/rep movsw
  15. 苹果授权登录,后端校验(Sign in with Apple)
  16. [读论文]弱监督学习的精确 3D 人脸重建:从单个图像到图像集-Accurate 3D Face Reconstruction with Weakly-Supervised Learning:From
  17. hive执行报错:Both left and right aliases encountered in JOIN
  18. ThinkCMF知识点汇总
  19. tomcat日志访问阀
  20. 手机短信接收验证码的实现原理:

热门文章

  1. python画彩色城墙_Python绘制城堡-(有惊喜!!!)
  2. windows7安dns服务器_在Windows 7 上安装DNS服务器bind9方法详解
  3. HDLBits 系列(19) 12小时时钟的Verilog设计
  4. 【 Notes 】RFID Preliminary Introduction
  5. 【 MATLAB 】如何产生一个均值和方差可控的正态分布矩阵(randn)?
  6. 某公司Java面试题
  7. Vimium - 让Chrome高效工作的神器
  8. Android Studio2.2.3 通过JNI引用ffmpeg库小结
  9. Ceph Upstream 添加 InfiniBand RDMA 互联支持
  10. 安装win7操作系统