next up previous contents
Next: 2. ホストとユーザ情報 Up: 1. ファイルとディレクトリ Previous: 1.11 ファイルへのリンク



1.12 ファイルの保護モード

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


1.12.1 ファイルのアクセス権

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

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

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

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

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

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

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

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

% ls -l<RET>
total 5
drwx------ 32 t99000tf   1024 Nov 24 10:55 Mail
-rw-rw-rw-  1 t99000tf   4515 Nov 18 10:42 READHELP
drwxrwxr-x  4 t99000tf    512 Nov 18 11:12 Wnn
-rw-r--r--  1 t99000tf    177 Nov 24 14:43 memo
drwxr-xr-x  2 t99000tf    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).


1.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 s99000hf     1024 Jan 31 14:48 report.txt
% chmod go-r<RET>
% ls -l<RET>
-rw-------  9 s99000hf     1024 Jan 31 14:48 report.txt
% chmod a+r<RET>
% ls -l<RET>
-rw-r--r--  9 s99000hf     1024 Jan 31 14:48 report.txt
% _


8進法によるモード設定

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


表 1.3: 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 s99000hf     1024 Jan 31 14:51 Report/
% chmod 700<RET>
% ls -lF<RET>
drwx------  4 s99000hf     1024 Jan 31 14:51 Report/
% chmod 755<RET>
% ls -lF<RET>
drwxr-xr-x  4 s99000hf     1024 Jan 31 14:51 Report/
% _


next up previous contents
Next: 2. ホストとユーザ情報 Up: 1. ファイルとディレクトリ Previous: 1.11 ファイルへのリンク