【UNIX】パーミッション別コマンド実行結果まとめ


Unix系OS パーミッションとそのときの各種コマンドの実行結果まとめ。
きっかけは、自分所有のディレクトリだとしても、実行権(x)がないとその配下に移動(cd;Change Directory)できないことを今更知ったことに起因する。

 


 


 

Noコマンドパーミッション結果

枝番 r(4) w(2) x(1) 判断 概要
1 cd 1-1 r - - × 移動できない。権限がない旨のエラーで怒られる。
1-2 - w - × 1-1同様
1-3 - - x 移動できる。
が、r(読込)がないので移動先でls打っても内容が得られず、
ディレクトリ内に何が入ってるかわからない。
よって移動できても意味がない。
1-4 r w - × 1-1同様
1-5 r - x 移動できる。
r(読込)もあるからlsで中身も見れる。
1-6 - w x 1-3同様
2 ls 2-1 r - - 配下のディレクトリ・ファイルのリストが得られる
2-2 - w - × 実行できない。権限がない旨のエラーで怒られる。
2-3 - - x × 2-2同様
2-4 r w - 2-1同様
2-5 r - x 2-1同様
2-6 - w x × 2-2同様
3 rm 3-1 r - - × 削除できない。「ディレクトリが空ではない」と言われる。
-rf付けても同じこと言われる。
(-rfでそういわれるとなると原因は違う気もするが…)
3-2 - w - × 削除できない。権限がない旨のエラーで怒られる。
3-3 - - x × 3-2同様
3-4 r w - × 3-1同様
3-5 r - x × 3-1同様
3-6 - w x × 3-2同様
4 find 4-1 r - - × 実行できない。権限がない旨のエラーで怒られる。
4-2 - w - × 4-1同様
4-3 - - x × 4-1同様
4-4 r w - × 4-1同様
4-5 r - x 実行できる(配下のディレクトリ・ファイル群のリストが得られる)。
4-6 - w x × 4-1同様
5 du 5-1 r - - エラーにはならないが、正しく集計されない(容量0になる)。
5-2 - w - 5-1同様
5-3 - - x 5-1同様
5-4 r w - 5-1同様
5-5 r - x 実行できるし、正しい集計結果が得られる。
5-6 - w x 5-1同様
6 tar 6-1 r - - × tarファイルは出来上がるが、配下のディレクトリ・ファイル群が含まれていない空のtarファイルになる。
実行時に権限がない旨のエラーが発生し怒られるため、
「親ディレクトリそのものは圧縮できるが子はできない」という状態なのだろう。
6-2 - w - × 6-1同様
6-3 - - x × 6-1同様
6-4 r w - × 6-1同様
6-5 r - x 実行できる。配下のディレクトリ・ファイル群もちゃんと圧縮される。
6-6 - w x × 6-1同様
7 mv 7-1 r - - 実行できる(名前の変更が可能)。
6-2 - w - 7-1同様
7-3 - - x 7-1同様
7-4 r w - 7-1同様
7-5 r - x 7-1同様
7-6 - w x × 7-1同様
8 cp ※コピー元としてこのディレクトリを指定した場合の動きについて記述。(cp -r A BのAが、↓に書いてあるパーミッションだったら、という意味)
8-1 r - - × コピーできない。権限がない旨のエラーが発生し怒られる。
コピー先のディレクトリは出来上がるが、中身が空。
8-2 - w - × 8-1同様
8-3 - - x × 8-1同様
8-4 r w - × 8-1同様
8-5 r - x コピーできる。
8-6 - w x × 8-1同様



基本的に5以上(r,xもち)にしておけば大体どのコマンドも実行できるようである。
そんなにキツイumaskを見たことがないが、この結果を見るに、umaskも222以下にしておいた方がよさそうだ。
まあその後でchmodされることもあるしなんとも言えないが…
(今回、冒頭で書いた例(xがないとcdできない)も、後で無理やりchmodで権限変更したケースだしね)
とにかくディレクトリのパーミッションは5以上にしておこう、という教訓を得ました。