20.2. 类型
SELinux 目标策略中用于提供高级进程隔离的主要权限控制方法是 Type Enforcement。所有文件和进程都设置了类型标签:type 为进程定义 SELinux 域,以及文件的 SELinux 类型。SELinux 策略规则定义类型如何相互访问,无论是访问某一类型的域还是访问其他域的域。只有在存在允许访问的特定 SELinux 策略规则时才允许访问。
以下类型与
mysqld
一起使用:不同的类型允许您配置灵活的访问:
mysqld_db_t
- 此类型用于 MariaDB 数据库的位置。在 Red Hat Enterprise Linux 中,数据库的默认位置是
/var/lib/mysql/
目录,但这可能会更改。如果 MariaDB 数据库的位置发生更改,则必须使用此类型标记新位置。有关如何更改默认数据库位置以及如何相应地标记新部分的说明,请参阅 第 20.4.1 节 “MariaDB 更改数据库位置” 中的示例。 mysqld_etc_t
- 这个类型用于 MariaDB 主配置文件
/etc/my.cnf
,以及/etc/mysql/
目录中的任何其他配置文件。 mysqld_exec_t
- 此类型用于位于
/usr/libexec/
二进制文件,这是 Red Hat Enterprise Linux 上 MariaDB 二进制文件的默认位置。其他系统可以在mysqld
的 mysqld/usr/sbin/mysqld
中找到此二进制文件,该二进制文件也应该使用这个类型进行标记。 mysqld_unit_file_t
- 默认情况下,这个类型用于 Red Hat Enterprise Linux 中的
/usr/lib/systemd/system/
目录中的可执行与 MariaDB 相关的文件。 mysqld_log_t
- MariaDB 的日志需要使用此类型进行标记才能正常运行。匹配
mysql
llowedRegistries 通配符的/var/log/
目录中的所有日志文件都必须使用这个类型进行标记。 mysqld_var_run_t
- 此类型供
/var/run/mariadb/
目录中的文件使用,特别是名为/var/run/mariadb/mariadb.pid
的进程 ID (PID),该文件在运行时由mysqld
守护进程创建。此类型还用于相关的套接字文件,如/var/lib/mysql/mysql.sock
。此类文件必须正确标记,才能作为受限制的服务进行正常操作。