[ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
26.1 ファイルの許可の構造 | Structure of file permissions. | |
26.2 象徴的なモード | Mnemonic permissions representation. | |
26.3 数値的なモード | Permissions as octal numbers. |
ユーザがファイルに対して持つ三種類の許可があります.
ファイル上で上記のあらゆる処理を行うため,異なる許可を持つ,三つのユーザ の分類があります.
ファイルが作成されるとき,所有者とグループが与えられます.通常,所有者は
現在のユーザで,グループはファイルがあるディレクトリのグループですが,こ
れはオペレーティングシステム,ファイルが作成されるファイルシステム,そし
てファイルが作成される方法で変化します.chown
とchgrp
コマンドを使用してファイルの所有者とグループを変更可能です.
上記でリストアップされた三つの許可の三つの設定に加えて,ファイルの許可は 三つの特別な構成部分があり,それは実行可能なファイル(プログラム)と,いく つかのシステムのディレクトリにのみ効果があります.
上記の追加の許可として,ファイルシステム特有のファイル属性があるかもし れません.例えば,アクセス制御リスト(ACL)で,ファイルが圧縮されている かどうか,ファイルが編集可能かどうか(不変性),ファイルのダンプが可能か どうかなどです.これらは通常,ファイルシステム特有のプログラムで設定さ れます.例えば以下のものがあります.
chattr
を使用して設定します.
chrflags
を使用して設定します.
ファイルの許可"ビット"はファイル上で処理可能であっても,処理が失敗す る可能性もあります.その理由は以下の通りです.
例えば,ファイル上の不変属性が設定されている場合,chmod a+w
FILE
を実行したという事実によらず,編集することは不可能です.
象徴的なモード(Symbolic modes)は,単一文字のシンボルの演算子として,
ファイルの許可を変更することを表します.それは,ファイルの許可の部分のど
れかまたは全てを編集可能にし,オプションでそれらに前置される値と,おそら
く現在のumask
にも基づきます(see section 26.2.6 umaskと保護).
象徴的なモードの書式は以下の通りです.
[ugoa...][[+-=][rwxXstugo...]...][,...] |
以下のセクションで,象徴的なモードのその他の詳細の処理を記述します.
26.2.1 許可の設定 | Basic operations on permissions. | |
26.2.2 既存の許可をコピー | Copying existing permissions. | |
26.2.3 特別な許可を変更 | Special permissions. | |
26.2.4 実行可能の条件 | Conditionally affecting executability. | |
26.2.5 複数の変更 | Making multiple changes. | |
26.2.6 umaskと保護 | The effect of the umask. |
ファイルの許可での基本的な象徴的処理で,特定ユーザのファイルの読み込み, 書き込み,実行の許可を,加えたり,削除したり,設定します.これらの処理は 以下の書式です.
users operation permissions |
上記の三つの部分の間のスペースは,可読性のみのために表示しています.象徴 的なモードではスペースを含めることはできません.
users部は,ファイルアクセスを変更されるユーザを伝えます.それは以 下の,一つ以上の文字から成り立ちます(または,空にすることもできます.そ のとき生じることは,see section 26.2.6 umaskと保護).これらの文字の一つ以 上が与えられたとき,その順番は重要ではありません.
u
g
o
a
operation部は,ファイルにアクセスするユーザの効果を変更する方法を 伝え,以下のシンボルの一つになります.
+
-
=
permissions部は,ファイルが変更されるアクセスの種類を伝えます.ゼ ロ以上の文字になります.users部を用いた場合,一文字以上与えられた ときの順序は重要ではありません.permissions部の省略は,`='の ときだけ役に立ち,それは指定されたusersにそのファイルに対する全て のアクセス権を取り除きます.
r
w
x
例えば,全員にファイルの読み込みと書き込みの許可を与え,実行を与えないた めに,以下を使用してください.
a=rw |
ファイルの所有者以外の全てのユーザから書き込み許可を削除するため,以下を 使用してください.
go-w |
上記のコマンドは,ファイルの所有者のアクセス権に影響せず,その他のユーザ が,ファイルの読み込みと実行が可能かどうかにも影響がありません.
ファイルの所有者以外全員に,そのファイルに対しあらゆる許可を与えないため に,以下のモードを使用してください.他のユーザは,ファイルがあるディレク トリに書き込み許可がある場合,ファイルを削除可能です.
go= |
同じことを指定するもう一つの方法です.
og-rxw |
ファイルの許可を,既存の許可を基準にすることができます.こうするために, オペレータの後に`r',`w'や`x'を使用する代わりに,文字 `u',`g'や`o'を使用します.例えば以下のモードです.
o+g |
ファイルの読み込み,書き込み,そして実行の許可の変更に加えて,特別な許可 を変更できます.許可の概要は,See section 26.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 26.1 ファイルの許可の構造)のみに効果があることを, 覚えておいてください.また,`u+t',`g+t',そして`o+s'の様 な組合わせには効果はありません.
`='オペレータは,特別な許可に用いる場合,全く役に立ちません.例えば, モードを以下のようにします.
o=t |
これは,ファイルをスワップデバイスに保存するようにしますが,それは,ファ イルのグループにいないユーザが持っている可能性のある,全ての,読み込み, 書き込み,そして実行の許可を削除します.
象徴的な許可の特別な形式がもう一つあります.`x'の代わりに`X'を 用いた場合,実行許可は,既に実行形式があるファイル,またはディレクトリの みに効果があります.それは,ディレクトリが最初にあらゆる実行許可を持って いない場合でも,ディレクトリの実行許可に効果があります.
例えば,以下のようなモードにします.
a+X |
これは,全てのユーザに,それまでに持っていなかった,ファイルの実行(やディ レクトリの検索)の許可を与えます.
象徴的なモードの書式は,実際に上記で記述したより複雑です(see section 26.2.1 許可の設定).それは,ファイルの許可を複数変更する二つの方法を提供しま す.
最初の方法は,象徴的なモードで,複数のoperation部と permissions部をusers部の後で指定する方法です.
例えば,以下のようなモードにします.
og+rX-w |
これは,ファイルの所有者以外のユーザに,ファイルの読み込み許可を与え,そ れがディレクトリの場合や,既に誰かに実行形式の許可がある場合,実行許可を 与えます.そして,それはファイルの書き込み許可を禁止します.それはファイ ルの所有者が持つ許可に影響しません.上記のモードは以下の二つのモードと同 じです.
og+rX og-w |
複数の変更をするための二番目の方法は,カンマで分けられた,単純な象徴的な モードを一つ以上指定することです.例えば,以下のようなモードにします.
a+r,go-w |
これは,全員にファイルの読み込み許可を与え,所有者以外全員の書き込み許可 を削除します.もう一つの例です.
u=rwx,g=rx,o= |
これは,ファイルに明示的に特別でない許可の全てを設定します.(それはファ イルのグループではないユーザに,許可を全く与えません.)
二つの方法は組み合わせ可能です.以下のモードになります.
a+r,g+x-w |
これは,全てのユーザに,ファイルの読み込み許可を与え,ファイルのグループ にいるユーザに実行許可も与えますが,書き込み許可は与えません.上記のモー ドは異なる方法で書くこともできます.その一つは以下になります.
u+r,g+rx,o+r,g-w |
象徴的なモードのusers部が省略された場合,システム変数umask
で無効に設定されているあらゆる許可以外,デフォルトは
`a'になります(全てのユーザに影響します).umask
の値は
umask
コマンドを使用して設定できます.そのデフォルト値は,シス
テムごとに異なります.
象徴的なモードのusers部の省略は,`+'以外のオペレーションでは
一般に役に立ちません.希望しないファイルに対する余分な許可を与えることに
対して,簡単にカスタマイズ可能な保護としてumask
が使用可能になるの
で,それは`+'とともに用いると役に立ちます.
例として,umask
の値が2の場合,それはファイルのグループ以外のユー
ザに対し書き込み許可を削除します.以下のモードを考えます.
+w |
これは,その所有者とファイルのグループのユーザに対する書き込み許可を加え ますが,それ以外のユーザには与えません.対照的に,以下のモードを 考えます.
a+w |
これはumask
を無視し,全てのユーザに対し,書き込み許可を与える
のです.
ファイルの許可は,内部では整数で保存されます.象徴的なモードの代わりとし て,新しいモードの内部に対応した適切な八進数(基数8)で与えることができま す.この数は常に八進数で処理されます.Cで行うような,前置される0は不要で す.モード0055はモード55と同じです.
数値的なモードは,通常対応する象徴的なモードより短くなりますが,ファイル の前の許可を考慮するとき制限があります.それは絶対的な設定が可能なだけで す.
ほとんどのシステム上では,ユーザ,ファイルのグループのその他のユーザ,そ してファイルのグループではないその他のユーザに応じた許可は,それぞれ三つ のビットになり,それは一つの八進数として表現されます.ここにビットを整え る方法があり,それは最下位ビットからはじめます.
対応する値 モード 許可 ファイルのグループにいないその他のユーザ: 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] | [ ? ] |