21.2. タイプ
高度なプロセス分離を提供するために、SELinux Targeted ポリシーで使用される主要なパーミッション制御方法は Type Enforcement です。すべてのファイルとプロセスにはタイプのラベルが付いています。タイプはプロセスの SELinux ドメインを定義し、ファイルの SELinux タイプを定義します。SELinux ポリシールールは、タイプにアクセスするドメインであるか、別のドメインにアクセスするドメインであるかにかかわらず、タイプが相互にアクセスする方法を定義します。アクセスは、それを許可する特定の SELinux ポリシールールが存在する場合にのみ許可されます。
postgresql
では、以下のタイプが使用されます。異なるタイプを使用すると、柔軟なアクセスを設定できます。以下の一覧では、使用可能な場所全体を一致させるために、複数の正規表現を使用していることに注意してください。
postgresql_db_t
- このタイプは複数の場所で使用されます。このタイプのラベルが付いた場所は、PostgreSQL のデータファイルに使用されます。
/usr/lib/pgsql/test/regres
/usr/share/jonas/pgsql
/var/lib/pgsql/data
/var/lib/postgres(ql)?
postgresql_etc_t
- このタイプは、
/etc/postgresql/
ディレクトリーの設定ファイルに使用されます。 postgresql_exec_t
- このタイプは複数の場所で使用されます。このタイプのラベルが付いた場所は、PostgreSQL のバイナリーに使用されます。
/usr/bin/initdb(.sepgsql)?
/usr/bin/(se)?postgres
/usr/lib(64)?/postgresql/bin/.*
/usr/lib(64)?/pgsql/test/regress/pg_regress
systemd_unit_file_t
- このタイプは、
/usr/lib/systemd/system/
ディレクトリーに置かれている PostgreSQL 関連の実行ファイルに使用されます。 postgresql_log_t
- このタイプは複数の場所で使用されます。このタイプのラベルが付いた場所は、ログファイルに使用されます。
/var/lib/pgsql/logfile
/var/lib/pgsql/pgstartup.log
/var/lib/sepgsql/pgstartup.log
/var/log/postgresql
/var/log/postgres.log.*
/var/log/rhdb/rhdb
/var/log/sepostgresql.log.*
postgresql_var_run_t
- このタイプは、
/var/run/postgresql/
ディレクトリーのプロセス ID (PID) など、PostgreSQL のランタイムファイルに使用されます。