■
[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)マクロ定義を参照。
このようにした理由は,大学のレポートにまとめる予定。
ただし,このようにパーミッションを増やしても,全ての要求を満たせるわけではないと思う。より柔軟に設定できる仕組みも必要だと思うが,別のパーミッションの見直しに進む予定。