無駄なパーミッション

id:himainu:20051104の続き
SELinuxには意味が重なるアクセスベクタ定義が沢山ある。
これらをうまく整理すれば,設定要素を減らせる。
旧バージョンのPolicy Editorでは,
私の経験と勘に基づき,設定要素を減らしてましたが(適当だ…),
今改めて考え直してます。

完全に他のアクセスベクタ定義で置き換え可能なもの

  • capability kill
    • process: sig**で置き換え可能
  • capability ipc_owner
    • sem,shm,msgq等で定義されているアクセスベクタで置き換え可能
  • capability net_bind_service
    • socketのname_bindで置き換え可
  • capablity audit_write
    • netlink_audit_socketのnlmsg_relayで置き換え
  • capability ptrace
    • process ptraceで置き換え
  • dac_override
  • dac_read_search
    • ファイル関連のアクセスベクタ定義で置き換え

以上は無駄なパーミッション

微妙なもの

  • capablity: audit_control
    • netlink_audit_socketへの制御は,netlink_audit_socketのnlmsg_read,nlmsg_write,nlmsg_readprivで置き換え
    • /proc/pid/loginuidの書き込みの置き換えが微妙
  • capability: sys_admin
  • process: setsched,setrlimit,getattr

以上は,他のアクセスベクタ定義と意味が重なるが,
完全に重なるわけではない。
省略しても問題なさそうなら省略したいもの。

この辺を定式化してるが,かえって分かりづらいorz