第20章 MariaDB (MySQL の代替)
MariaDB データベースは、マルチユーザーのマルチスレッドの SQL データベースサーバーで、MariaDB サーバーデーモン (
mysqld
) と、多くのクライアントプログラムおよびライブラリーで設定されます。[18]
Red Hat Enterprise Linux では、mariadb-server パッケージにより、MariaDB が提供されます。以下のコマンドを実行して、mariadb-server パッケージがインストールされているかどうかを確認します。
~]$ rpm -q mariadb-server
package mariadb-server is not installed
インストールされていない場合は、root で
yum
ユーティリティーを使用してインストールします。
~]# yum install mariadb-server
20.1. MariaDB と 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
です。コンテキストの 2 番目の部分mysqld_t
はタイプです。タイプは、プロセスのドメインとファイルのタイプを定義します。この例では、mysqld
プロセスがmysqld_t
ドメインで実行しています。