SELinux domain_auto_trans()

SELinux domain_auto_trans()

SELinux の domain_auto_trans() 関数に関する情報を取得しようとしています。SELinux の Web ページを検索してみましたが、関数とその構文の明確な定義を見つけることができませんでした。この関数とその使用例が記載されているページを教えていただけませんか。

ご協力いただきありがとうございます

答え1

このマクロに関するドキュメントは、RHEL4、Red Hat SELinux ガイドこのマクロに関するセクションは、ガイドの以降のバージョンでは削除されていることに注意してください。

domain_auto_trans と domain_trans

特定の遷移をドメインのデフォルトの遷移動作にしたい場合は、core_macros.te の domain_auto_trans を使用します。これは、実際の作業を行うために domain_trans() を呼び出します。遷移を許可し、setexeccon() を使用してコンテキストを処理するだけの場合は、domain_trans() のみを使用できます。

# domain_auto_trans(parent_domain, program_type, child_domain)
  define(`domain_auto_trans',`
  domain_trans($1,$2,$3)
  type_transition $1 $2:process $3;
 ')

domain_trans マクロは、親プロセスに新しいドメインに移行するための一般的な権限セットを許可します。このマクロは、いくつかの dontaudit ルールを設定し、親プロセスがプログラムを実行できるようにし、子プロセスが新しいドメインを取得して親プロセスとファイルの説明を交換して使用し、名前付きパイプ (FIFO) を介して古いドメインに書き戻すことを許可します。最後に、新しいドメインにプログラムの読み取りと実行の権限が与えられ、プログラムがドメインのエントリ ポイントになります。

特定のタイプのペアに対してデフォルトで設定できる遷移は 1 つだけなので、1 つの domain_auto_trans ルールの後に、他のオプションを許可する複数の domain_trans ルールを設定できます。これらは、セキュリティ対応アプリケーションで使用できます。

関連情報