「設定 - SELinux」の版間の差分

ナビゲーションに移動 検索に移動
179行目: 179行目:
<br>
<br>
==== モジュール宣言 ====
==== モジュール宣言 ====
  policy_module(モジュール名, バージョン)
ポリシーパッケージの名前とバージョンを定義する。<br>
これは、TEファイルの最初に記述する必要がある。<br>
<br>
* モジュール名
*: ポリシーパッケージの名前
* バージョン
*: ポリシーの更新管理に使用される。
<br>
  policy_module(<モジュール名>, <バージョン>)
   
   
  例:
  例:
185行目: 193行目:
<br>
<br>
==== タイプ定義 ====
==== タイプ定義 ====
  type タイプ名;
セキュリティコンテキストの一部となるタイプを定義する。<br>
<br>
* タイプ
*: SELinuxのセキュリティコンテキストの一部である。
*: 一般的に、プロセス用のタイプ (_t)、実行ファイル用のタイプ (_exec_t)、データ用のタイプ (_data_t) 等を定義する。
*: タイプ名は、アンダースコアで区切られた意味のある名前にすること。
<br>
  type <タイプ名>;
   
   
  例:
  例:
193行目: 208行目:
<br>
<br>
==== ドメイン遷移ルール ====
==== ドメイン遷移ルール ====
  domain_auto_trans(ソースドメイン, 実行ファイルタイプ, ターゲットドメイン)
プロセスのドメイン変更を自動化する。<br>
<br>
このルールにより、特定のタイプの実行ファイルが実行された時に、プロセスのドメインが自動的に変更される。<br>
以下の例では、unconfined_tドメインのプロセスがmyapp_exec_tタイプの実行ファイルを実行する時、新しいプロセスはmyapp_tドメインで動作する。<br>
<br>
  domain_auto_trans(<ソースドメイン>, <実行ファイルタイプ>, <ターゲットドメイン>)
   
   
  例:
  例:
199行目: 219行目:
<br>
<br>
==== allowルール ====
==== allowルール ====
  allow ソースタイプ ターゲットタイプ:クラス { パーミッション };
基本的なアクセス制御を定義する。<br>
ソースタイプ (通常はプロセス) がターゲットタイプ (ファイルやディレクトリ等) に対して特定の操作を行うことを許可する。<br>
<br>
* クラス
*: ファイル、ディレクトリ、ソケット等のリソースタイプを指定する。
* パーミッション
*: read、write、execute等の操作を指定する。
<br>
  allow <ソースタイプ> <ターゲットタイプ>:<クラス> { <パーミッション> };
   
   
  例:
  例:
205行目: 233行目:
<br>
<br>
==== インタフェース使用 ====
==== インタフェース使用 ====
  インタフェース名(タイプ1, タイプ2, ...)
再利用可能なポリシールールを活用する。<br>
インタフェースは、再利用可能なポリシールールの集合である。<br>
<br>
共通の操作 (例: 設定ファイルの読み取り、ログの書き込み) に対して定義されている。<br>
これにより、ポリシーの記述が簡潔になり、一貫性が保たれる。<br>
<br>
  インタフェース名(<タイプ1>, <タイプ2>, ...)
   
   
  例:
  例:
211行目: 245行目:
<br>
<br>
==== 属性の定義と割り当て ====
==== 属性の定義と割り当て ====
  attribute 属性名;
複数のタイプをグループ化する。<br>
  typeattribute タイプ名 属性名;
<br>
* 属性名
*: 複数のタイプをグループ化するために使用される。
*: これにより、複数のタイプに対して1度にルールを適用できる。
*: 例えば、全てのネットワークデーモンに共通のルールを適用する場合等に便利である。
<br>
  attribute <属性名>;
  typeattribute <タイプ名> <属性名>;
   
   
  例:
  例:
219行目: 260行目:
<br>
<br>
==== ブール値の定義 ====
==== ブール値の定義 ====
  bool ブール名 default 初期値;
ランタイムでのポリシー調整を可能にする。<br>
ブール値は、ランタイムでポリシーの動作を変更するために使用される。<br>
<br>
管理者は、<code>setsebool</code>コマンドを使用してこれらの値を変更できる。<br>
これにより、システムの再起動やポリシーの再コンパイル無しでポリシーを調整できる。<br>
<br>
  bool <ブール名> default <初期値>;
   
   
  例:
  例:
225行目: 272行目:
<br>
<br>
==== 条件付きポリシー ====
==== 条件付きポリシー ====
  if (条件) {
動的なポリシー適用を実現する。<br>
条件付きポリシーは、ブール値の状態に基づいてポリシールールを動的に適用または除外する。<br>
<br>
これにより、単一のポリシーモジュール内で異なる設定をサポートすることができる。<br>
<br>
  if (<条件>) {
     // ポリシールール
     // ポリシールール
  }
  }
238行目: 290行目:
<br>
<br>
==== ロールの割り当て ====
==== ロールの割り当て ====
  role ロール名 types タイプ名;
ユーザのアクセス可能なドメインを制限する。<br>
<br>
* ロール
*: ユーザがアクセスできるドメイン (タイプ) を制限するために使用される。
*: 特定のロールにタイプを関連付けることにより、そのロールを持つユーザのみがそのタイプのプロセスを実行できる。
<br>
  role <ロール名> types <タイプ名>;
   
   
  例:
  例:
244行目: 302行目:
<br>
<br>
==== ファイルコンテキストの指定 ====
==== ファイルコンテキストの指定 ====
  files_type(タイプ名)
ファイルシステムのラベリングルールを定義する。<br>
これは、指定されたタイプをファイルタイプとして宣言する。<br>
<br>
ファイルタイプには、ファイルシステム関連の共通属性が自動的に割り当てられる。<br>
これにより、ファイルシステムのラベリングルールを簡単に定義できる。<br>
<br>
  files_type(<タイプ名>)
   
   
  例:
  例:

案内メニュー