[ < ] | [ > ] | [ << ] | [上] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
それぞれのファイルには,ファイルに対してユーザ持つアクセスの種類を制御 する権限(permissions)の設定があります.ファイルに対する権限は アクセスモード(access mode)とも呼ばれます.それらは,抽象的な形式 または八進数で表示可能です.
6.1 ファイルの権限の構造 | Structure of file permissions. | |
6.2 記号的なモード | Mnemonic permissions representation. | |
6.3 数値的なモード | Permissions as octal numbers. |
[ < ] | [ > ] | [ << ] | [上] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
ユーザがファイルに対して持つ権限は三種類のあります.
ファイル上で上記のあらゆる処理を行うため,異なる権限を持つ,三つのユー ザの分類があります.
ファイルが作成されるとき,所有者とグループが与えられます.通常,所有者
は現在のユーザで,グループはファイルがあるディレクトリのグループですが,
これはオペレーティングシステム,ファイルが作成されるファイルシステム,
そしてファイルが作成される方法で変化します.chown
とchgrp
コマンドを使用してファイルの所有者とグループを変更することが可能です.
上記でリストアップされた三つの権限の三つの設定に加えて,ファイルの権限 には三つの特別な構成部分があり,それは実行可能なファイル(プログラム)と, システムによっては,ディレクトリだけに効果があります.
[ < ] | [ > ] | [ << ] | [上] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
記号的なモード(symbolic modes)とは,単一文字のシンボルを処理して,
ファイルの権限を変更することを表します.それは,ファイルの権限のすべて
または選択された部分を修正可能にし,オプションでそれらに前置される値と,
おそらく現在のumask
にも基づきます(see section 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 |
上記の三つの部分の間のスペースは,可読性のみのために表示しています.記 号的なモードではスペースを含めることはできません.
users部は,変更されるファイルのユーザアクセス権限を伝えます.それ は,一文字以上の以下の文字から成り立ちます(または,空にすることもできま す.そのとき生じることは,see section umaskと保護).これらの文字の 一つ以上が与えられるとき,その順番は重要ではありません.
u
ファイルを所有しているユーザ.
g
ファイルのグループのその他のユーザ.
o
その他すべてのユーザ.
a
すべてのユーザで,‘ugo’と同じです.
operation部は,ファイルにアクセスするユーザの効果を変更する方法を 伝え,以下のシンボルの一つになります.
+
usersが既に持つ,そのファイルに対するあらゆる権限に, permissionsを加えます.
-
usersが既に持つ,そのファイルに対するあらゆる権限から, permissionsを削除します.
=
usersが持つ,そのファイルに対する権限を,permissionsのみにし ます.
permissions部は,ファイルの変更されるアクセスの種類を伝えます.ゼ ロ以上の文字になります.users部を用いた場合,一文字以上与えられた ときは,その順序は重要ではありません.permissions部の省略は, ‘=’の時のみ役に立ち,それは指定されたusersにそのファイルに対 するすべてのアクセス権を取り除きます.
r
usersがファイルを読み込むのに必要な権限です.
w
usersがファイルに書き込むのに必要な権限です.
x
usersがファイルを実行するのに必要な権限です.
例えば,全員にファイルの読み込みと書き込みの権限を与え,実行を与えない ために,以下を使用してください.
a=rw |
ファイルの所有者以外のすべてのユーザから書き込み権限を削除するため,以下を 使用してください.
go-w |
上記のコマンドは,ファイルの所有者のアクセス権に効果が無く,その他のユー ザが,ファイルの読み込みと実行が可能かどうかにも効果がありません.
ファイルの所有者以外全員に,そのファイルに対しあらゆる権限を与えないた めに,以下のモードを使用してください.他のユーザは,ファイルがあるディ レクトリに書き込み権限がある場合,ファイルを削除可能です.
go= |
同じことを指定するもう一つの方法です.
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 ファイルの権限の構造.
実行時にファイルの権限をユーザ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 ファイルの権限の構造)だけに効果があることを, 覚えておいてください.記号的なモードのusers部で‘a’を用いる場 合,特別な権限には効果がありません.このため,以下の例を考えます.
a+s |
これは,全く効果がありません.特別な権限を効果的にするために, ‘u’,‘g’,そして‘o’を明示的に使用する必要があります.ま た,‘u+t’,‘g+t’,そして‘o+s’の組み合わせも効果がありま せん.
‘=’オペレータは,特別な権限に用いる場合,全く役に立ちません.例え ば,モードを以下のようにします.
o=t |
これは,ファイルをスワップデバイスに保存するようにしますが,それは,ファ イルのグループにいないユーザが持っている可能性のある,すべての,読み込 み,書き込み,そして実行の権限を削除します.
[ < ] | [ > ] | [ << ] | [上] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
記号的な権限の特別な形式がもう一つあります.‘x’の代わりに‘X’ を用いた場合,実行権限は,既に実行形式があるファイル,またはディレクト リのみに効果があります.それは,ディレクトリが最初にあらゆる実行権限を 持っていない場合でも,ディレクトリの実行権限に効果があります.
例えば,以下のようなモードにします.
a+X |
これは,すべてのユーザに,それまでに持っていなかった,ファイルの実行(や ディレクトリの検索)の権限を与えます.
[ < ] | [ > ] | [ << ] | [上] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
記号的なモードの書式は,実際に上記で記述したより複雑です (see section 権限の設定).それは,ファイルの権限を複数変更する二つ の方法を提供します.
最初の方法は,記号的なモードで,複数の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
を無視し,すべてのユーザに対し,書き込み権限を与える
のです.
[ < ] | [ > ] | [ << ] | [上] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
ファイルの権限は,内部では16ビットの整数で保存されます.記号的なモード の代わりとして,新しいモードの内部に対応した適切な八進数(基数8)で与える ことができます.この数は常に八進数で処理されます.Cのような0を前置する 必要はありません.モード0055はモード55と同じです.
通常,数値的なモードは,対応する記号的なモードより短くなりますが,以前 のファイルの権限を考慮にいれることに制限があります.それは絶対的な設定 が可能なだけです.
ユーザ,ファイルのグループのその他のユーザ,そしてファイルのグループで はないその他のユーザに応じた権限は,それぞれ三つのビットになり,それは 一つの八進数として表現されます.ここに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=’に対応します.
[ << ] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
この文書は新堂 安孝によって2009年9月22日にtexi2html 1.82を用いて生成されました。