我如何通过selinux允许mysql连接

我想一次离开selinux在服务器上运行,据称增加了安全性。
我通常禁用selinux来获得任何工作。
我如何告诉selinux允许mysql连接?
我发现的最多的文档是从mysql.com这行:
如果您正在Linux下运行并且已启用安全增强型Linux(SELinux),请确保您已禁用SELinux进程的mysqld保护。
哇…这真的很有帮助。

检查SELinux

 sestatus 

查看在httpd进程上设置了哪些标志

 getsebool -a | grep httpd 

允许Apache通过SELinux连接到远程数据库

 setsebool httpd_can_network_connect_db 1 

使用-P选项使更改永久。 如果没有这个选项,布尔值将在重启时重置为0。

 setsebool -P httpd_can_network_connect_db 1 

你有错误吗? 你使用什么样的linux? 如果出现错误,安全上下文是一个很好的开始。 ls -Z会给出上下文…但是你的问题非常模糊。

显然configurationselinux是不平凡的。 你不妨从这里开始 。

 setenforce 0 

把selinux放到宽松的模式,它允许任何东西,但logging它允许的。 重新启动或

 setenforce 1 

返回阻止任何政策不允许的。

在Fedora中查看这些针对mySQL的selinux策略文档 。

你确定它是selinux? 来自外部的正常连接应由selinux允许。 所以它也可能是防火墙。 如果你有本地服务试图连接到mysqld,那是不同的: http : //docs.fedoraproject.org/en-US/Fedora/13/html/Managing_Confined_Services/sect-Managing_Confined_Services-MySQL-Booleans.html

ausearch命令可以帮助查找错误日志。

你也可以build立本地政策:

“你可以生成一个本地策略模块来允许这个访问。现在通过执行:”允许这个访问

grep httpd /var/log/audit/audit.log | audit2allow -M mypol

semodule -i mypol.pp

或为实际会话全局启用:

 setsebool httpd_can_network_connect_db 1 

或永久的:

 setsebool -P httpd_can_network_connect_db 1