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