next up previous contents index
Next: 4. シェルを利用する Up: 3. ファイルとディレクトリ Previous: 3.11 ファイルへのリンク


     
3.12 ファイルの保護モード

ユーザの所有するファイル,ディレクトリについて,他のユーザからの参照や 書き込み,実行を禁止できる.このようにファイルのアクセス権を設定し,他 のユーザからファイルを保護するための機能をファイルの保護モードという. 次にファイルの保護モードの概説と,その設定方法を説明する.

   
3.12.1 ファイルのアクセス権

ファイルのアクセス権は,それぞれのファイルごとに,アクセスの対象(対象 となるユーザ)とアクセスの種類(許可される操作)が設定されている.

アクセスの対象(対象となるユーザ)

アクセス権は対象となるユーザによって次の3種類が設定されている.ただし, CNSではグループの設定をユーザは行えない.

それぞれの対象によってアクセス権を区別して設定できる.

アクセスの種類(許可される操作)

アクセスの種類は読み出し,書き込み,実行の3つである.設定の効果は対象 がファイルである場合とディレクトリである場合によって異なる.

3.12.2 ファイルの保護モードの調べ方

ファイルの保護モードを調べるには,lsコマンドに-lオプション をつけて実行する.

% ls -l<RET>
total 5
drwx------ 32 t98000tf   1024 Nov 24 10:55 Mail
-rw-rw-rw-  1 t98000tf   4515 Nov 18 10:42 READHELP
drwxrwxr-x  4 t98000tf    512 Nov 18 11:12 Wnn
-rw-r--r--  1 t98000tf    177 Nov 24 14:43 memo
drwxr-xr-x  2 t98000tf    512 Jul 20 09:57 public_html
% _
保護モードの状態を表すのは,最も左側の列である.

最初の文字は,そのファイルのタイプを表し,``-''は通常のファイル, ``d''はディレクトリ,``l''はリンクしたファイルを示している.

残りの部分は,3文字ずつの3つのフィールドで構成されている.最初の3文字 はファイルの所有者のアクセス権を示し,次の3文字は同じグループのメンバ, 最後の3文字はその他のユーザのアクセス権を表している.

アクセス権が許可されていれば,許可されている操作の頭文字(r, w, x)が表示され,許可されていなければ``-''が表示される.

メールが格納されている`Mail'ディレクトリは,ユーザ本人以外はすべ てのアクセス権が不許可になっており(rwx------), `public_html'ディレクトリ()は,他のユー ザへの読み出し(r)だけでなく,実行(x)が許可されている(rwxr-xr-x).

   
3.12.3 保護モードの変更 -- chmod

   

ファイルの保護モードを変更するにはchmodコマンドを用いる.モード の設定には次に示すように,``+''や``-''などの演算子を使う 方法と8進法を用いる方法がある.

演算子を使ってのモード設定

% chmod [モード設定] [ファイル,ディレクトリ名]<RET>
引数のモード設定は,3つの部分に分けられ,それらを並べて記述する.

1.
対象者(u,g,o,a)
最初に,誰に対する保護モードを変更するかを指定する.所有者なら``u'',グループなら``g'',その他のユーザなら``o''である.2 つ以上並べて,1度に指定もできる.``a''と入力するか省略すると, u,g,oすべてを対象とする.
2.
オペレータ(+,-,=)
次に,この後に書く許可条件を,追加``+''するのか,削除 ``-''するのか,それとも新たに設定``=''するのかを記述する. 設定すると,それまでの保護モードにかかわらず,指定した実行のみを許可し, それ以外は不許可とする.
3.
許可条件(r,w,x)
最後に,保護モードのうち,何の条件を変更するかを記述する.読み出し ``r'',書き込み``w'',実行``x''が指定できる.2つ以上 並べて,1度に指定もできる.

次に例を挙げる.

次に実行例を示す.

% ls -l<RET>
-rw-r--r--  9 s98000hf     1024 Jan 31 14:48 report.txt
% chmod go-r<RET>
% ls -l<RET>
-rw-------  9 s98000hf     1024 Jan 31 14:48 report.txt
% chmod a+r<RET>
% ls -l<RET>
-rw-r--r--  9 s98000hf     1024 Jan 31 14:48 report.txt
% _

   
8進法によるモード設定

 

a+rg-rなどといった表記方法以外にも,モード設定の方法があ る.保護モードは,対象別の3つの部分(ユーザ,グループ,その他)から成り 立っているが,読み出し(r)を4,書き込み(w)を2,実行(x)を1とし,許可する動作の数字だけを合計すると,モード設定のあらゆる組 み合わせを0から7までの8進法の数で表せる(表).この数字を3 つ並べたものを,chmodコマンドの引数(モード指定)として指定できる.


 
表: 8進数と保護モード
 
8進数 意味 rwx
0 許可なし ---
1 実行のみ可 --x
2 書き込みのみ可 -w-
3 書き込みと実行のみ可 -wx
8進数 意味 rwx
4 読み出しのみ可 r--
5 読み出しと実行のみ可 r-x
6 読み出しと書き込みのみ可 rw-
7 すべて許可 rwx

次にいくつか例を挙げる.

% ls -lF<RET>
drwxr-xr-x  4 s98000hf     1024 Jan 31 14:51 Report/
% chmod 700<RET>
% ls -lF<RET>
drwx------  4 s98000hf     1024 Jan 31 14:51 Report/
% chmod 755<RET>
% ls -lF<RET>
drwxr-xr-x  4 s98000hf     1024 Jan 31 14:51 Report/
% _