ファイルタイプの設定以外にドメイン/タイプの追加や各コマンドのポリシーを変更する場合は、selinux-policy-targeted-sources.noarchをインストールする必要があるが、これをyumでインストールすると幾つかの設定ファイルが上書きされるようなので、/etc/selinuxをバックアップしておいた方がよい。
ポリシーの設定
各プログラムのアクセス制御ポリシーの設定ファイルは以下にある。
/etc/selinux/targeted/src/policy/domains/program/*.te
このファイルを修正後、/etc/selinux/targeted/src/policy配下で
# make reload
とすれば、/etc/selinux/targeted/policy/policy.19(ポリシーをバイナリ化してまとめたファイル)が更新される。
発生しているエラーをモグラ叩きで潰している場合は、audit2allow -dとすることでエラーログから*.teに追加すべきallow文を出力してくれるので、これを該当プログラムの*.teに追加すると楽をできる。-oでファイルに直接書き込むこともできる。ただし、追加するポリシーが妥当なのか(セキュリティ上問題ないのか)の検討は別途必要。
# audit2allow -d
allow fsadm_t ramfs_t:fifo_file write;
allow kudzu_t modules_conf_t:file rename;
allow pppd_t sbin_t:lnk_file read;
allow文で指定できるアクセスベクター(ファイル/ソケット等へのアクセス手段)の一覧は以下のファイルで参照できる。
/etc/selinux/targeted/src/policy/flask/access_vectors
ドメイン/タイプの定義
以下のファイルに定義がある。
/etc/selinux/targeted/src/policy/policy.conf
残項目
ユーザ、ロールの定義