英語キーボードにまだ慣れない。。。

今日の修正

  • 存在しないファイル(存在を特定できないファイル)の扱い

allow ~/public_html r,s;
と設定を書いたとき、
allow ~/public_html/* r,s;と扱われてしまっていたので修正。
存在しない(存在を特定できないファイル)にディレクトリ用ラベルを付与するようにした

  • audit2spdl修正
    • w,xを提示する際、同時にr,sも提示。同様にrでもsも提示

見直し

ディレクトリに対してパーミッションを設定した時の扱いを少し見直す。
現在、例えば、
allow /var/log/* w;
としたとき、/var/log自体と、/var/log/中のファイルに対してwが与えられる。
wは消去を含むパーミッション
/var/log自身の消去も含んでしまうが、/var/logの中身が空にならないと消せない
ので、大丈夫か。

ディレクトリに対してもパーミッション設定できるが、
どんな意味があるか見直す。
s; -> ディレクトリの中身閲覧(ファイル名一覧取得),ディレクトリ自体へのgetattr
r; -> 意味なし
x; -> 意味なし
a,o: 意味なし
c: ディレクトリ内にファイル作成
e: ディレクトリ内のファイル消去,ディレクトリ自体の消去(rmdir)。ただし、ディレクトリ内のファイルを消す場合はそのファイルにeパーミッションが必要。ディレクトリ自体を消す場合も、ディレクトリが空である必要。
t: ディレクトリそのものへのsetattr
w: a+o+c+e+t

実用上、ディレクトリそのものへパーミッション設定するのはsぐらい。