UNIX のパーミッション

UNIX のパーミッションに関する覚え書きです。

原則

ファイル名とファイルの中身を分けて考える。 ディレクトリはファイルの中身がファイルリストであるようなファイルだ。 昔は vi でディレクトリを編集できたらしい。

ファイルのパーミッション

r
そのファイルを読める
w
そのファイルを変更できる
x
そのファイルをプログラムとして実行できる

ファイルに対する s/t ビット

u+s
setuid
g+s
setgid
t
なし

ディレクトリのパーミッション

r
そのディレクトリを ls できる
w
そのディレクトリの中でファイルを作成・消去できる
x
そのディレクトリの中のファイルにアクセスできる

ディレクトリに対する s/t ビット

u+s
意味なし?
g+s
その下に作ったディレクトリの gid が同じになる
t
そのディレクトリ以下ではファイルの所有者と root しか ファイルを削除できなくなる (再帰的に有効)