[ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
それぞれのファイルには,ファイルに対してユーザ持つアクセスの種類を制御す る許可の設定があります.ファイルに対する許可はアクセスモード とも呼ばれます.それらは,抽象的な形式または8進数で表示可能です.
6.1 ファイルの許可の構造 | Structure of file permissions. | |
6.2 象徴的なモード | Mnemonic permissions representation. | |
6.3 数値的なモード | Permissions as octal numbers. |
ユーザがファイルに対して持つ3種類の許可があります.
ファイル上で上記のあらゆる処理を行うため,異なる許可を持つ,3つのユーザ の分類があります.
ファイルが作成されるとき,所有者とグループが与えられます.通常,所有者は
現在のユーザで,グループはファイルがあるディレクトリのグループですが,こ
れはオペレーティングシステム,ファイルが作成されるファイルシステム,そし
てファイルが作成される方法で変化します.chown
とchgrp
コマン
ドを使用してファイルの所有者とグループを変更可能です.
上記でリストアップされた3つの許可の3つの設定に加えて,ファイルの許可は3 つの特別な構成部分があり,それは実行可能なファイル(プログラム)と,いくつ かのシステムのディレクトリにのみ効果があります.
象徴的なモードは,単一文字のシンボルの処理として,ファイルの許可を
変更することを表します.それは,ファイルの許可の部分のどれかまたは全てを
編集可能にし,オプションでそれらに前置される値と,おそらく現在の
umask
にも基づきます(see section 6.2.6 umaskと保護).
抽象的なモードの書式は以下の通りです.
[ugoa...][[+-=][rwxXstugo...]...][,...] |
以下のセクションで,抽象的なモードのその他の詳細の処理を記述します.
6.2.1 許可の設定 | Basic operations on permissions. | |
6.2.2 既存の許可をコピー | Copying existing permissions. | |
6.2.3 特定の許可を変更 | Special permissions. | |
6.2.4 実行可能の条件 | Conditionally affecting executability. | |
6.2.5 複数の変更 | Making multiple changes. | |
6.2.6 umaskと保護 | The effect of the umask. |
ファイルの許可での基本的な抽象的処理で,特定ユーザのファイルの読み込み, 書き込み,実行の許可を,加えたり,削除したり,設定します.これらの処理は 以下の書式です.
users operation permissions |
上記の3つの部分の間のスペースは,可読性のみのために表示しています.抽象 的なモードではスペースを含めることはできません.
users部は,ファイルアクセスを変更されるユーザを伝えます.それは, 一つ以上の以下の文字から成り立ちます(または,空にすることもできます.そ のとき生じることは,see section 6.2.6 umaskと保護).これらの文字の一つ以 上が与えられたとき,その順番は重要ではありません.
u
g
o
a
operation部は,ファイルにアクセスするユーザの効果を変更する方法を 伝え,以下のシンボルの一つになります.
+
-
=
permissions部は,ファイルが変更されるアクセスの種類を伝えます.ゼ ロ以上の文字になります.users部を用いた場合,1文字以上与えられたと きは,その順序は重要ではありません.permissions部の省略は, `='の時のみ役に立ち,それは指定されたusersにそのファイルに対 する全てのアクセス権を取り除きます.
r
w
x
例えば,全員にファイルの読み込みと書き込みの許可を与え,実行を与えないた めに,以下を使用してください.
a=rw |
ファイルの所有者以外の全てのユーザから書き込み許可を削除するため,以下を 使用してください.
go-w |
上記のコマンドは,ファイルの所有者のアクセス権に効果が無く,その他のユー ザが,ファイルの読み込みと実行が可能かどうかにも効果がありません.
ファイルの所有者以外全員に,そのファイルに対しあらゆる許可を与えないため に,以下のモードを使用してください.他のユーザは,ファイルがあるディレク トリに書き込み許可がある場合,ファイルを削除可能です.
go= |
同じことを指定するもう1つの方法です.
og-rxw |
ファイルの許可を,既存の許可の部分を基準にすることができます.こうするた めに,オペレータの後に`r',`w'や`x'を使用する代わりに,文 字`u',`g'や`o'を使用します.例えば以下のモードです.
o+g |
それは,ファイルのグループにいるユーザに対する許可を,その他のユーザがそ のファイルに対して持っている許可に加えます.このため,ファイルが最初にモー ド664 (`rw-rw-r--')の場合,上記のモードは,それを666 (`rw-rw-rw-')に変更します.ファイルが最初にモード741 (`rwxr----x')の場合,上記のモードは,それを745 (`rwxr--r-x')に 変更します.`-'と`='の処理は同様に働きます.
ファイルの読み込み,書き込み,そして実行の許可の変更に加えて,特別な許可 を変更できます.許可の概要は,See section 6.1 ファイルの許可の構造.
実行時にファイルの許可をユーザIDに設定するため,象徴的なモードの users部での`u'と,permissions部での`s'を使用してく ださい.
実行時にファイルの許可をグループIDに設定するため,象徴的なモードの users部での`g'とpermissions部での`s'を使用してくだ さい.
スワップデバイスに永久に残すファイルの許可を変更するため,象徴的なモード のusers部での`o'とpermissions部での`t'を使用してく ださい.
例えば,ユーザID許可をプログラムに加えるため,以下のモードを使用可能です.
u+s |
ユーザIDのとグループIDの許可の設定をそれから削除するため,以下のモードを 使用可能です.
ug-s |
プログラムがスワップデバイスに保存されるようにするため,以下のモードを使 用可能です.
o+t |
特別な許可は実行形式のファイルと,いくつかのシステムのディレクトリ(そこ では異なる意味を持ちます.see section 6.1 ファイルの許可の構造)のみに効果があることを, 覚えておいてください.象徴的なモードのusers部で`a'を持ちいた 場合,特別な許可は効果がありません.このため,以下の例を考えます.
a+s |
これは,全く効果がありません.特別な許可を効果的にするために, `u',`g'と,`o'を明示的に使用する必要があります.また, `u+t',`g+t'と,`o+s'の組み合わせも効果がありません.
`='オペレータは,特別な許可に用いる場合,全く役に立ちません.例えば, モードを以下のようにします.
o=t |
これは,ファイルをスワップデバイスに保存するようにしますが,それは,ファ イルのグループにいないユーザが持っている可能性のある,全ての,読み込み, 書き込み,そして実行の許可を削除します.
象徴的な許可の特別な形式がもう1つあります.`x'の代わりに`X'を 用いた場合,実行許可は,既に実行形式があるファイル,またはディレクトリの みに効果があります.それは,ディレクトリが最初にあらゆる実行許可を持って いない場合でも,ディレクトリの実行許可に効果があります.
例えば,このようなモードにします.
a+X |
これは,全てのユーザに,それまでに持っていなかった,ファイルの実行(やディ レクトリの検索)の許可を与えます.
象徴的なモードの書式は,実際に上記で記述したより複雑です(see section 6.2.1 許可の設定).それは,ファイルの許可を複数変更する2つの方法を提供します.
最初の方法は,象徴的なモードで,複数のoperation部と permissions部をusers部の後で指定する方法です.
例えば,以下のようなモードにします.
og+rX-w |
これは,ファイルの所有者以外のユーザに,ファイルの読み込み許可を与え,そ れがディレクトリの場合や,既に誰かに実行形式の許可がある場合,実行許可を 与えます.そして,それはファイルの書き込み許可を禁止します.それはファイ ルの所有者が持つ許可に影響しません.上記のモードは以下の2つのモードと同 じです.
og+rX og-w |
複数の変更をするための2番目の方法は,カンマで分けられた,単純な象徴的な モードを1つの以上の指定することです.例えば,以下のようなモードにします.
a+r,go-w |
これは,全員にファイルの読み込み許可を与え,所有者以外全員の書き込み許可 を削除します.もう1つの例です.
u=rwx,g=rx,o= |
これは,ファイルに明示的に特別でない許可の全てを設定します.(それはファ イルのグループではないユーザに,許可を全く与えません.)
2つの方法は組み合わせ可能です.以下のモードになります.
a+r,g+x-w |
これは,全てのユーザに,ファイルの読み込み許可を与え,ファイルのグループ にいるユーザに実行許可も与えますが,書き込み許可は与えません.上記のモー ドは異なる方法で書くこともできます.その1つは以下になります.
u+r,g+rx,o+r,g-w |
象徴的なモードのusers部が省略された場合,システム変数umask
で無効に設定されているあらゆる許可以外,デフォルトは
`a'(で,全てのユーザに影響します).umask
の値はumask
コ
マンドを使用して設定できます.そのデフォルト値は,システム毎に異なります.
象徴的なモードのusers部の省略は,`+'以外のオペレーションでは
一般に役に立ちません.希望しないファイルに対する余分な許可を与えるために,
簡単にカスタマイズ可能な保護としてumask
が使用可能なので,それは
`+'とともに用いると役に立ちます.
例として,umask
の値が2の場合,それはファイルのグループ以外のユー
ザに対し書き込み許可を削除します.以下のモードを考えます.
+w |
これは,その所有者とファイルのグループのユーザに対する書き込み許可を加え ますが,それ以外のユーザには与えません.対照的に,以下のモードを 考えます.
a+w |
これはumask
を無視し,全てのユーザに対し,書き込み許可を与える
のです.
ファイルの許可は,内部では16ビットの整数で保存されます.象徴的なモードの 代わりとして,新しいモードの内部に対応した適切な8進数(基数8)で与えること ができます.この数は常に8進数で処理されます.Cで行うような,前置される0 は不要です.モード0055はモード55と同じです.
数値的なモードは,通常対応する象徴的なモードより短くなりますが,ファイル の前の許可を考慮にいれることに制限があります.それは絶対的な設定が可能な だけです.
ユーザ,ファイルのグループのその他のユーザ,そしてファイルのグループでは ないその他のユーザに応じた許可は,それぞれ3つのビットになり,それは1つの 8進数として表現されます.ここに16ビットの整数にアレンジされたビットがあ り,最下位ビットからはじめます.
対応する値 モード 許可 ファイルのグループにいないその他のユーザ: 1 実行 2 書き込み 4 読み込み ファイルのグループのその他のユーザ: 10 実行 20 書き込み 40 読み込み ファイルの所有者: 100 実行 200 書き込み 400 読み込み 特別な許可: 1000 テキストイメージをスワップデバイスに保存 2000 実行時のグループIDを設定 4000 実行時のユーザIDを設定 |
例えば,数値的なモードの4755は,象徴的なモードの`u=rwxs,go=rx'に, 数値的なモードの664は,象徴的なモードの`ug=rw,o=r'に対応します.数 値的なモードの0は,象徴的なモードの`ugo='に対応します.
[ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |