我想让 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
返回阻止政策不允许的任何内容。
答案4
你确定是 selinux 吗?selinux 应该允许来自外部的正常连接。所以也可能是防火墙。如果你有本地服务尝试连接到 mysqld,那就不同了: http://docs.fedoraproject.org/en-US/Fedora/13/html/Managing_Confined_Services/sect-Managing_Confined_Services-MySQL-Booleans.html