例外ポリシー構文
aggregator
このディレクティブは、複数のプログラムを同一視するために使用します。このディレクティブは、よく似た振る舞いをする一連のプログラムを集約するためのものです。
以下の例では /usr/bin/tac を /usr/bin/cat として扱うように指定しています:
aggregator /usr/bin/tac /usr/bin/cat
allow_read
このディレクティブは、ignore_global_allow_read という指定がされていない全てのドメインに対して、指定されたパス名を読み込みモードでオープンすることを許可します。
以下の例では /proc/meminfo の参照をデフォルトで許可しています:
allow_read /proc/meminfo
参照:
deny_rewrite
このディレクティブは、 allow_rewrite という指定がされていない全てのドメインに対して、指定されたパス名が指すファイルの内容を書き換えることを禁止します。
以下の例では /var/log/\* の書き換えをデフォルトで禁止しています:
deny_rewrite /var/log/\*
参照:
file_pattern
このディレクティブは、パス名を学習する際に、このディレクティブで指定されたパス名のパターンと一致した場合には、そのパターンを用いて学習するように指示します。
以下の例では /proc/$PID/status ( $PID の部分には整数値が入ります)というパス名に一致した場合には /proc/\$/status として学習するように指示しています:
file_pattern /proc/\$/status
initialize_domain
このディレクティブは、指定されたプログラム実行された場合に <kernel> の子ドメインで動作させるために使用します。
可能な組み合わせ:
- initialize_domain "program"
- initialize_domain "program" from "last_pathname_of_domain"
- initialize_domain "program" from "domain"
以下の例では /usr/sbin/sshd が実行されると <kernel> /usr/sbin/sshd ドメインに遷移するように指定しています:
initialize_domain /usr/sbin/sshd
no_initialize_domain
このディレクティブは initialize_domain ディレクティブの効果を打ち消すために使用します。
可能な組み合わせ:
- no_initialize_domain "program"
- no_initialize_domain "program" from "last_pathname_of_domain"
- no_initialize_domain "program" from "domain"
以下の例ではドメイン名が /bin/mail で終わるドメインから /usr/sbin/sendmail.sendmail が実行された場合には <kernel> /usr/sbin/sendmail.sendmail ドメインへと遷移しないようにしています:
initialize_domain /usr/sbin/sendmail.sendmail no_initialize_domain /usr/sbin/sendmail.sendmail from /bin/mail
keep_domain
このディレクティブは、指定されたプログラム実行された場合にドメイン遷移を行わせないようにするために使用します。
可能な組み合わせ:
- keep_domain "program" from "last_pathname_of_domain"
- keep_domain "program" from "domain"
- keep_domain "last_pathname_of_domain"
- keep_domain "domain"
以下の例では <kernel> /usr/sbin/sshd /bin/bash ドメインからプログラムが実行されてもドメイン遷移を行わないように指定しています:
keep_domain <kernel> /usr/sbin/sshd /bin/bash
no_keep_domain
このディレクティブは keep_domain ディレクティブの効果を打ち消すために使用します。
可能な組み合わせ:
- no_keep_domain "program" from "last_pathname_of_domain"
- no_keep_domain "program" from "domain"
- no_keep_domain "last_pathname_of_domain"
- no_keep_domain "domain"
以下の例では /bin/cat が <kernel> /usr/sbin/sshd /bin/bash ドメインから実行された場合にはドメイン遷移を行うように指定しています:
keep_domain <kernel> /usr/sbin/sshd /bin/bash no_keep_domain /bin/cat from <kernel> /usr/sbin/sshd /bin/bash
number_group
このディレクティブは、数値のグループを定義します。
例えば、例外ポリシーで以下のように定義しておくことにより:
number_group CREATE-MODES 0644 number_group CREATE-MODES 0664
ドメインポリシーで以下のように参照することができます:
allow_create /tmp/file @CREATE-MODES
path_group
このディレクティブは、パス名のグループを定義します。
例えば、例外ポリシーで以下のように定義しておくことにより:
path_group HOME-DIR-FILE /home/\*/\*
path_group HOME-DIR-FILE /home/\*/\{\*\}/\*
ドメインポリシーで以下のように参照することができます:
allow_read @HOME-DIR-FILE