ファイルタイプ遷移再考

sourceforge.netのCVSが金曜から死んでる。。。

問題

SPDLでは,ファイルタイプ遷移の設定がしにくい。
/var/runにpidファイルを作るとき
allow /var/run exclusive syslogd_var_run_t;
allow syslogd_var_run_t r,w,s;
のようになるが,ぱっと見わかりにくい。

さらに、各デーモンでこの設定(pidファイル)は共通だが、
共通設定を実現しようとすると
m4で
allow /var/run exclusive $1_var_run_t;
allow $1_var_run_t r,w,s;
のようにせざるを得ない。
先日作ったinclude書式で、includeできない。
また、ファイルタイプ遷移書式が、ちらばっている(allow,allowfs)。

解決

ファイルタイプ遷移書式を一元化。
また、ラベルには、ドメイン、タイプによった名前を付けることが多い。
自動名前付け機能を作る。
ファイルタイプ遷移設定と同時にパーミッション設定もできるように。

新書式:allowtmp

「一時ファイル作成」のための書式。

allowtmp -dir|-fs <ディレクトリまたはファイルシステム名> -name auto <file_permission>;
allowtmp -dir|-fs <ディレクトリまたはファイルシステム名> -name <一時ファイルの識別名(ラベル)> <file_permission>;
allowtmp -dir|-fs <ディレクトリまたはファイルシステム名>/var/run -name * <file_permission>;
(file_permissionは省略可能)

domain syslogd_t
allow /var/run exclusive syslogd_var_run_t;
allow syslogd_var_run_t r,w,s;
は、
allowtmp -dir /var/run -name auto r,w,s;
となる。すっきり。

domain syslogd_t;
allowfs tmpfs exclusive syslogd_tmpfs_t;
allow hoge_tmpfs_t r,w,s;

allowtmp -fs tmpfs -name auto r,w,s;
となりすっきり。先日作ったinclude書式からも使える