デバイスファイルのアクセス制御について考察

Simplified Policyの、
バイスファイルのアクセス制御について、本場の人からよく突っ込まれる。

SYAORANファイルシステム

PANDAさんのページのSYAORAN ファイルシステムの解説
http://kumaneko-sakura.sblo.jp/article/291615.html
なるほど、「/dev以外にデバイスを作成する」
ことは無いと考え、「/devだけを管理する」わけか。

現状のSimplified Policyにおけるデバイスファイルのアクセス制御

  • ファイルの書きこみ、作成、消去を個別に設定できる
  • 特権「devcreate」
    • これがないと、デバイスファイルの作成、消去は許可されない。しかし、逆にこれがあると、「ファイル生成可能」なディレクトリにデバイスを作成できる
  • allowtty,allowpts文
    • /dev/tty* /dev/pts以下の端末デバイスの、「作成」「読み書き」「ラベル変更」の制御が可能

となってる。
これらに、「/dev以外にデバイスを作成する」特権を許可する構文作ってやれば、http://d.hatena.ne.jp/himainu/20060119で指摘された問題も、だいぶ解消される。

さらに、SYAORANファイルシステムのパクリで、
「デバイスファイルの保護」のための文法を作って
そこにまとめたほうがわかりやすいかもしれない。
が、例によって、あまりに細かく設定できるようにすると、
今度はデバイスの管理が面倒になりそうなので、どこまでやるかが問題だが。