如何通过 SELinux 允许 MySQL 连接?

如何通过 SELinux 允许 MySQL 连接?

我想让 SELinux 在服务器上运行一次,以增加安全性。
我通常会禁用 SELinux 以使一切正常运行。
我如何告诉 SELinux 允许 MySQL 连接?
我在文档中找到的最多的是来自 mysql.com 的这一行:

如果您在 Linux 下运行并且启用了安全增强型 Linux (SELinux),请确保已禁用 mysqld 进程的 SELinux 保护。

哇...这真的很有帮助。

答案1

检查 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

答案2

您是否收到错误?您使用的是哪种 Linux?如果收到错误,安全上下文是一个很好的起点。ls -Z 将提供上下文...但您的问题非常模糊。

答案3

显然配置 selinux 并不是一件简单的事情。你可能希望从这里开始

setenforce 0

将 selinux 置于宽容模式,允许任何内容,但不会记录允许的内容。重新启动或

setenforce 1

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

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

答案4

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

相关内容