Documentation Home
MySQL 8.3 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 40.8Mb
PDF (A4) - 40.9Mb
Man Pages (TGZ) - 294.0Kb
Man Pages (Zip) - 409.0Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb
Excerpts from this Manual

MySQL 8.3 Reference Manual  /  Security  /  SELinux

8.7 SELinux

Security-Enhanced Linux (SELinux) 是一种强制访问控制(MAC)系统,它通过将安全标签应用于每个系统对象来实现访问权限。SELinux 策略模块使用 SELinux 上下文来定义规则,以确定进程、文件、端口和其他系统对象之间的交互方式。只有在策略规则允许的情况下,系统对象之间的交互才是允许的。

SELinux 上下文(应用于系统对象的标签)具有以下字段:用户角色类型安全级别。类型信息而不是整个 SELinux 上下文通常用于定义进程与其他系统对象之间的交互规则。例如,MySQL SELinux 策略模块使用 类型 信息来定义策略规则。

您可以使用操作系统命令,例如 lsps,带有 -Z 选项来查看 SELinux 上下文。假设 SELinux 已启用且 MySQL 服务器正在运行,以下命令将显示 mysqld 进程和 MySQL 数据目录的 SELinux 上下文:

mysqld 进程:

$> ps -eZ | grep mysqld
system_u:system_r:mysqld_t:s0    5924 ?        00:00:03 mysqld

MySQL 数据目录:

$> cd /var/lib
$> ls -Z | grep mysql
system_u:object_r:mysqld_db_t:s0 mysql

其中:

  • system_u 是系统进程和对象的 SELinux 用户身份。

  • system_r 是系统进程使用的 SELinux 角色。

  • objects_r 是系统对象使用的 SELinux 角色。

  • mysqld_t 是与 mysqld 进程关联的类型。

  • mysqld_db_t 是与 MySQL 数据目录和其文件关联的类型。

  • s0 是安全级别。

有关解释 SELinux 上下文的更多信息,请参阅您的发行版的 SELinux 文档。