10.2. タイプ
Type Enforcement が SELinux の targeted ポリシーで使用されるメインのパーミッション制御になります。全ファイルおよびプロセスにタイプのラベルが付けられます。ファイルの場合はタイプ、プロセスの場合はドメインを定義します。任意のタイプにアクセスするドメインなのか、 別のドメインにアクセスするドメインなのかなど、SELinux のポリシールールではタイプによって互いがアクセスしあう方法を定義します。 アクセスを許可する特定の SELinux ポリシールールが存在する場合にのみ、 そのアクセスが許可されます。
mysqld
で使用されるタイプを以下に示します。 タイプに応じて柔軟なアクセス設定ができます。
mysqld_db_t
- このタイプは MySQL データベースの場所に使用します。 Red Hat Enterprise Linux では、 データベースのデフォルトの場所は
/var/lib/mysql
になりますが、 この場所は変更することができます。 MySQL データベース用の場所を変更する場合は、 新しい場所にこのタイプのラベルを付ける必要があります。 デフォルトのデータベースの場所を変更する方法、 新しいセクションに適切にラベル付けを行なう方法について以下の例で説明していきます。 mysqld_etc_t
- このタイプは、 MySQL のメイン設定ファイル
/etc/my.cnf
および/etc/mysql
ディレクトリにある他の設定ファイルすべてに使用されます。 mysqld_exec_t
- このタイプは
/usr/libexec/mysqld
にあるmysqld
バイナリに使用されます。 Red Hat Enterprise Linux では MySQL バイナリのデフォルトの場所になります。 他のシステムでは、 このバイナリは/usr/sbin/mysqld
に配置されることがあります。 この場合にもこのタイプのラベルを付けるようにしてください。 mysqld_initrc_exec_t
- このタイプは、 Red Hat Enterprise Linux ではデフォルトで
/etc/rc.d/init.d/mysqld
に配置されている MySQL の初期設定ファイルに使用されます。 mysqld_log_t
- 正常に動作させるため、 MySQL のログにはこのタイプのラベルを付ける必要があります。
/var/log/
内にあるログファイルで、mysql.*
のワイルドカードに一致するログファイルはすべて、このタイプのラベルを付ける必要があります。 mysqld_var_run_t
- このタイプは
/var/run/mysqld
内のファイルで使用されます。特に、mysqld
デーモンの実行時に作成される/var/run/mysqld/mysqld.pid
と言う名前のプロセス ID (PID) に使用されます。また、/var/lib/mysql/mysql.sock
などの関連ソケットファイルにも使用されます。このようなファイルには、 制限のあるサービスとして正常に動作させるため適切なラベル付けが必要になります。