第 20 章 MariaDB(MariaDB 的替代)
MariaDB 数据库是一个多用户、多线程的 SQL 数据库服务器,它由 MariaDB 服务器守护进程(
mysqld
)和很多客户端程序和库组成。[18]
在红帽企业 Linux 中,mariad b-server 软件包提供 MariaDB。输入以下命令查看是否安装了 mariadb-server 软件包:
~]$ rpm -q mariadb-server
package mariadb-server is not installed
如果没有安装它,请以 root 用户身份使用
yum
工具安装它:
~]# yum install mariadb-server
20.1. MariaDB and SELinux
启用 MariaDB 时,它会默认限制运行。受限制的进程在其自己的域中运行,并且与其他受限制的进程隔开。如果一个受攻击者限制的进程受到 SELinux 策略配置的影响,攻击者对资源的访问权限和可能受到的破坏会受到限制。以下示例演示了在自己的域中运行的 MariaDB 进程。本例假设安装了 mariadb-server 软件包:
- 运行 getenforce 命令,确认 SELinux 是否在 enforcing 模式下运行:
~]$ getenforce Enforcing
当 SELinux 处于 enforcing 模式时,命令会返回Enforcing
。 - 以 root 用户身份输入以下命令来启动
mariadb
:~]# systemctl start mariadb.service
确认 服务正在运行。输出中应包括以下信息(只有时间戳有所不同):~]# systemctl status mariadb.service mariadb.service - MariaDB database server Loaded: loaded (/usr/lib/systemd/system/mariadb.service; disabled) Active: active (running) since Mon 2013-08-05 11:20:11 CEST; 3h 28min ago
- 输入以下命令来查看
mysqld
进程:~]$ ps -eZ | grep mysqld system_u:system_r:mysqld_safe_t:s0 12831 ? 00:00:00 mysqld_safe system_u:system_r:mysqld_t:s0 13014 ? 00:00:00 mysqld
与mysqld
进程关联的 SELinux 上下文为system_u:system_r:mysqld_t:s0
。上下文的最后一部分(mysqld_t
)是类型。类型定义进程的域以及文件的类型。在本例中,mysqld
进程在mysqld_t
域中运行。