某ディストリでのテスト

某ディストリの評価版をもらったので,テスト。
とりあえず,テキストベースログインでは動くことを確認。しかし,グラフィカルログインでロールが切り替わらない。kdmを使ってるが,これがSELinuxに対応していないようだ。
RBAC省略ポリシの必要性を実感。

RBAC省略ポリシへの対応

mkinstfiles.shの「$TYPE_UNUSED」および
「norbac」のdefineで,RBAC部分を切り替えることで対応。
seedit-policyのインストールオプションは以下のようになる。

  • make install のオプション
    • DISTRO=(ディストリビューションを指定。
      • 今のところfc4(デフォルト), tl10s, ax2を指定可。この変数次第で,defineされる要素が変わる。何がdefineされるかは,mkinsfiles.sh参照。
    • TYPE=(easy, strictを指定可
      • easyにすると,RBACが省略。SELinuxのtargetedポリシみたいになる。
      • strict(デフォルト)にすると普通にRBACあり)
    • DEVELFLAG=(1,0を指定。
      • 1(デフォルト)にすると開発者用インストール。マクロを使った設定がかかれている。強力な設定記述が可能だが,ifdefなどが入り組んでいて一般ユーザにはきついしGUIから使えない。
      • 0にすると,ユーザ用インストール。マクロが展開されている。マクロが展開されており,設定の意味を把握しやすい。GUIから編集可能。その代わり,マクロを使えないので,開発者には物足りない。
    • SELINUXTYPE:インストールディレクトリを指定。
      • /etc/SELINUXTYPE以下にインストールされる。デフォルトは,「seedit」

だいぶ,複数ディストリ,及び複数種別ポリシに柔軟に対応できるようになってきた。もう少し,段階を追って調整できるといいかも。

あとは,開発者用ソースに,やはりifdefが入り組んできた。
そのうちreferenceポリシの考え方を拝借したほうがいいかも。

webminモジュール(seedit-gui), seedit-doc用のRPM作成

これで,全部RPMからインストールできるようになった。

開発者インストールした時の特殊なmakeターゲット

/etc/selinux/seedit-devel/src/policy
make export
にて,マクロを全部展開,
そして/etc/selinux/seedit/以下に,ポリシを一式インストールする。