[id:himainu:20050922]の続き。
ファイルパーミッションの数を増やしたやつを実装。CVSにcommit。
互換性のために「w」は今までと同じにする。
結果今のところのファイルパーミッション

  • s(Stat): ファイルの属性情報取得,ディレクトリ一覧取得。
    • つまり「ls -l」に必要な権限
  • r(Read): ファイル読み込み
  • x(eXecute): ファイル実行
  • o(Overwrite): ファイル書き込み(上書き保存)の意味
  • a(Append):ファイル,ディレクトリの追記。
    • ディレクトリの追記は「ファイルの新規作成」を意味する。ファイルの消去は不可。
  • e(Erase):ファイル,ディレクトリの消去。
  • w(Write): 今までの「w」と同じ。
  • ※オブジェクトクラスdirのアクセスベクタsearchは,全ドメインに許可されている(base_policy/default.teで許可してる)。dirのsearchは冗長だと判断したからである。searchは「cd <ディレクトリ名>」でディレクトリを移動する権限を与える。しかし,これが許可されただけでは,ファイルの一覧取得すらできず,実質何もできない。searchをサポートしても,必要な設定行数が増えるだけ。
  • 関連設定要素として allowpriv devcreateとallowpriv setattrがある。

詳細は,CVSツリー seedit-policyモジュールのseedit-macros.teのallow_file_(permission)マクロ定義を参照。
このようにした理由は,大学のレポートにまとめる予定。
ただし,このようにパーミッションを増やしても,全ての要求を満たせるわけではないと思う。より柔軟に設定できる仕組みも必要だと思うが,別のパーミッションの見直しに進む予定。