20.2. タイプ
高度なプロセス分離を提供するために、SELinux Targeted ポリシーで使用される主要なパーミッション制御方法は Type Enforcement です。すべてのファイルとプロセスにはタイプのラベルが付いています。タイプはプロセスの SELinux ドメインを定義し、ファイルの SELinux タイプを定義します。SELinux ポリシールールは、タイプにアクセスするドメインであるか、別のドメインにアクセスするドメインであるかにかかわらず、タイプが相互にアクセスする方法を定義します。アクセスは、それを許可する特定の SELinux ポリシールールが存在する場合にのみ許可されます。
mysqld
では、以下のタイプが使用されます。異なるタイプを使用すると、柔軟なアクセスを設定できます。
mysqld_db_t
- このタイプは、MariaDB データベースの場所に使用されます。Red Hat Enterprise Linux では、データベースのデフォルトの場所は
/var/lib/mysql/
ディレクトリーですが、これは変更できます。MariaDB データベースの場所を変更する場合は、このタイプのラベルを、新しい場所に作成する必要があります。デフォルトのデータベースの場所を変更する方法と、新しいセクションに適切なラベルを付ける方法は、「MariaDB によるデータベースの場所の変更」 の例を参照してください。 mysqld_etc_t
- このタイプは、MariaDB のメイン設定ファイル
/etc/my.cnf
および/etc/mysql/
ディレクトリー内のその他の設定ファイルに使用されます。 mysqld_exec_t
- このタイプは、
/usr/libexec/mysqld
にあるmysqld
バイナリーに使用されます。これは、Red Hat Enterprise Linux における MariaDB バイナリーのデフォルトの場所です。他のシステムは、このバイナリーを/usr/sbin/mysqld
に置くことができます。このバイナリーには、このタイプのラベルを付ける必要があります。 mysqld_unit_file_t
- このタイプは、Red Hat Enterprise Linux のデフォルトでは、
/usr/lib/systemd/system/
ディレクトリーにある実行ファイル MariaDB 関連のファイルに使用されます。 mysqld_log_t
- MariaDB のログには、適切な操作を行うためにこのタイプのラベルを付ける必要があります。
mysql.*
ワイルドカードに一致する/var/log/
ディレクトリー内のすべてのログファイルに、この種類のラベルを付ける必要があります。 mysqld_var_run_t
- このタイプは、
/var/run/mariadb/
ディレクトリーのファイル、特に、実行時にmysqld
デーモンにより作成される/var/run/mariadb/mariadb.pid
という名前のプロセス ID (PID) で使用されます。このタイプは、/var/lib/mysql/mysql.sock
などの関連するソケットファイルにも使用されます。このようなファイルには、限定サービスとして適切な操作を行うために、正しくラベルを付ける必要があります。