6.1 ファイルの権限の構造
ユーザがファイルに対して持つ権限は三種類のあります.
-
ファイルを読み込む権限です.ディレクトリに対しては,これはディレクトリ
の内容をリストアップする権限という意味があります.
-
ファイルを書き込む(変更する)権限です.ディレクトリに対しては,これはディ
レクトリでのファイルの作成と削除の権限を意味します.
-
ファイルを実行(それをプログラムとして実行)する権限です.ディレクトリに
対しては,これはディレクトリのファイルにアクセスする権限を意味します.
ファイル上で上記のあらゆる処理を行うため,異なる権限を持つ,三つのユー
ザの分類があります.
-
ファイルの所有者.
-
ファイルのグループにいるその他のユーザ.
-
その他全員.
ファイルが作成されるとき,所有者とグループが与えられます.通常,所有者
は現在のユーザで,グループはファイルがあるディレクトリのグループですが,
これはオペレーティングシステム,ファイルが作成されるファイルシステム,
そしてファイルが作成される方法で変化します.chown
とchgrp
コマンドを使用してファイルの所有者とグループを変更することが可能です.
上記でリストアップされた三つの権限の三つの設定に加えて,ファイルの権限
には三つの特別な構成部分があり,それは実行可能なファイル(プログラム)と,
システムによっては,ディレクトリだけに効果があります.
-
プロセスの事実上のユーザIDを,実行時にファイルのものに設定します
(setuid bitと呼ばれます).ディレクトリには効果がありません.
-
プロセスの事実上のグループIDを,実行時にファイルのものに設定します
(setgid bitと呼ばれます).システムによって,ディレクトリに対して,
そのディレクトリで作成されたファイルを同じグループのディレクトリに書き
込んでも,それを作成したユーザのグループは問題ありません.
-
スワップデバイス上にプログラムのテキストイメージを保存するので,実行時
により速くロードされます(sticky bitと呼ばれます).システムによっ
て,ディレクトリに対して,ユーザがそのディレクトリで所有していないファ
イルを削除することを妨げます.これは追加のみ(append-only)のディレ
クトリ作成と呼ばれます.