パーミッション再考関連

さらにパーミッションを除去できないか、見直している。
ポリシ自動生成(ログー>seeditポリシ変換)を考えると、
パーミッションの数はなるべく少ないほうがいい。

ファイル関連

以前から思っているが、
dir: write
dir: add_name
dir: remove_name
こいつらは、冗長な気がしている。

dir:add_name, remove_nameは削れる。
ソース見てみると、
link,unlink,rename,mkdir,rmdir,renameシステムコールの中で、
他のパーミッションチェックと重複して使われてる。
(may_create,may_link,may_rename)
これは冗長!

  • renameの統合場所

e->cに引越し

UNIXドメインソケットファイルについて

オブジェクトクラス:「sock_file」は、UNIXドメインソケットで使うファイル。
こいつのアクセス制御は、冗長?
SELinuxは、ドメイン間のUNIXドメインソケット通信を制御できるので。。
が、UNIXドメインソケットにおいて、
UNIXドメインソケットのファイル名は「ポート番号」に相当する。
ってことは、これのアクセス制御をはずすのはまずいか。。

かわりに、自動生成に邪魔なパーミッションを以下のように除去。
allow domain domain:unix_dgram_socket { create getattr getopt ioctl lock relabelfrom relabelto setattr setopt shutdown };
allow domain domain:unix_stream_socket { create getattr getopt ioctl lock relabelfrom relabelto setattr setopt shutdown };
これらのパーミッションがあろうとも、ソケットを作ることはできても、
実際にデータを送受信することはできないので、無害。
relabel関係のパーミッションは使われてないパーミッション

object class file_fileについて

fifo_fileは、パイプに使う。
タイプがファイル名のときは、名前つきパイプ(FIFO)
タイプがドメインのときは、無名パイプ。