如何通过 SELinux 允许 MySQL 连接?

xiv*_*vix 29 mysql selinux

我想暂时让 SELinux 在服务器上运行以提高安全性。
我通常禁用 SELinux 以使其正常工作。
如何告诉 SELinux 允许 MySQL 连接?
我在文档中找到的最多的是来自 mysql.com 的这一行:

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

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

小智 51

检查 SELinux

sestatus
Run Code Online (Sandbox Code Playgroud)

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

getsebool -a | grep httpd
Run Code Online (Sandbox Code Playgroud)

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

setsebool httpd_can_network_connect_db 1
Run Code Online (Sandbox Code Playgroud)

使用 -P 选项使更改永久化。如果没有此选项,则布尔值将在重新启动时重置为 0。

setsebool -P httpd_can_network_connect_db 1
Run Code Online (Sandbox Code Playgroud)

  • 通过 127.0.0.1 环回连接时似乎也有必要? (5认同)
  • @Devin,当然。 (2认同)
  • 如果要允许用户连接到本地 mysql 服务器,还必须打开 selinuxuser_mysql_connect_enabled 布尔值。 (2认同)

小智 2

你有错误吗?你使用什么风格的Linux?如果您遇到错误,安全上下文是一个很好的起点。ls -Z 会给出上下文...但你的问题非常模糊。