## 6.7 SELinux

[6.7.1 检查 SELinux 是否启用](selinux-checking.html)
[6.7.2 更改 SELinux 模式](selinux-mode.html)
[6.7.3 MySQL 服务器 SELinux 策略](selinux-policies.html)
[6.7.4 SELinux 文件上下文](selinux-file-context.html)
[6.7.5 SELinux TCP 端口上下文](selinux-context-tcp-port.html)
[6.7.6 SELinux 故障排除](selinux-troubleshooting.html)

[](<>)

Security-Enhanced Linux (SELinux) 是一种强制访问控制 (MAC) 系统，它通过应用称为安全标签的安全标签来实现访问权限。*SELinux 上下文*到每个系统对象。SELinux 策略模块使用 SELinux 上下文来定义进程、文件、端口和其他系统对象如何相互交互的规则。仅当策略规则允许时才允许系统对象之间的交互。

SELinux 上下文（应用于系统对象的标签）具有以下字段：`用户`,`角色`,`类型`， 和`安全级别`.类型信息而不是整个 SELinux 上下文最常用于定义进程如何与其他系统对象交互的规则。MySQL SELinux 策略模块，例如，使用定义策略规则`类型`信息。

您可以使用操作系统命令查看 SELinux 上下文，例如**ls**和**ps**与`-Z`选项。假设 SELinux 已启用并且 MySQL 服务器正在运行，以下命令显示了 SELinux 上下文[**mysqld**](mysqld.html)进程和MySQL数据目录：

[**mysqld**](mysqld.html)过程：

```
$> 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
```

在哪里：

-   `系统_u`是系统进程和对象的 SELinux 用户身份。

-   `系统_r`是用于系统进程的 SELinux 角色。

-   `对象_r`是用于系统对象的 SELinux 角色。

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

-   `mysqld_db_t`是与 MySQL 数据目录及其文件关联的类型。

-   `s0`是安全级别。

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