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 などの関連ソケットファイルにも使用されます。このようなファイルには、 制限のあるサービスとして正常に動作させるため適切なラベル付けが必要になります。