6.5 SELinux
增强安全性的 Linux(SELinux)是强制性访问控制(MAC)系统,它通过对每个系统对象应用称为* SELinux context *的安全标签来实现访问权限。 SELinux 策略模块使用 SELinux 上下文来定义有关进程,文件,端口和其他系统对象如何交互的规则。仅当策略规则允许时,才允许系统对象之间进行交互。
SELinux 上下文(应用于系统对象的标签)具有以下字段:user
,role
,type
和security level
。类型信息而不是整个 SELinux 上下文最常用于定义有关进程如何与其他系统对象交互的规则。例如,MySQL SELinux 策略模块使用type
信息定义策略规则。
您可以使用带有-Z
选项的 os 命令(例如 ls 和 ps )查看 SELinux 上下文。假设已启用 SELinux 并且 MySQL 服务器正在运行,以下命令将显示mysqld进程和 MySQL 数据目录的 SELinux 上下文:
mysqld process:
shell> ps -eZ | grep mysqld
system_u:system_r:mysqld_t:s0 5924 ? 00:00:03 mysqld
MySQL 数据目录:
shell> cd /var/lib
shell> ls -Z | grep mysql
system_u:object_r:mysqld_db_t:s0 mysql
where:
-
system_u
是系统进程和对象的 SELinux 用户身份。 -
system_r
是用于系统进程的 SELinux 角色。 -
objects_r
是用于系统对象的 SELinux 角色。 -
mysqld_t
是与 mysqld 进程关联的类型。 -
mysqld_db_t
是与 MySQL 数据目录及其文件关联的类型。 -
s0
是安全级别。
有关解释 SELinux 上下文的更多信息,请参考发行版的 SELinux 文档。