allowfs文の実装完了

  • genfs_contextsで、「unsupportedfs_t」となっているファイルシステムは,simplified policyではサポートされていない(そのファイルシステムへは全てのドメインがフルアクセスできるようになっている)
  • が,カスタマイズ次第で,任意のファイルシステムをサポートすることができる。
    • unsupportedfs_tとなっているやつをサポートしたい場合。例としてrootfsをサポートしたくなった場合。
      • (1) genfs_contextsで,タイプ付与する。
      • (2) types.teに type rootfs_t,fs_type,file_type;を追加。
      • (3) converter.confのsupported_fsの行に「rootfs」を追加。
      • (4) すると,デフォルトでドメインはrootfsにアクセスできなくなる。
      • (5) allowfs rootfs r;という設定によって,rootfsへのアクセス許可を与えることができるようになる。
  • 課題
    • tmpfs,procなどもこいつに統合できないか?
      • tmpfsはファイルタイプ遷移使ってるので無理かもしれないが…
    • (2)でのタイプをいちいちtypes.teに書かなければいけないのが冗長なような。

マルチディストリ対応メモ:

  • ディストリ毎にサポートしているアクセスベクタが違う。
    • 例:FC4はname_connect(allownet connect)をサポートするが,他のdistroの多くはサポートしない。
  • 新しいdistroaccess_vectorファイルを持ってくればポリシのコンパイルは通る。
    • 例:access_vectorsに,そのdistroカーネルがサポートしていないアクセスベクタが登録されていても,害はない。
    • access_vectors(とsecurity_classes)は,古いdistroでも,新しいdistro(FC4)のものを常に使っていれば問題ない。
  • ただ,どのSimplified Policyの要素がサポートされていないかをわかるように,何か外部のファイルに入れておいて,警告を出したりGUIに表示したりする仕組みは必要だろう。