2003 CNS GUIDE
copyright
 

5.13 保護モード

CNS には7000人以上のユーザがいます.全く自由に他人のファイルの内容を 見たり,変更できたりすると,いろいろな問題が起きる可能性があります.そこ で個々のユーザはファイルやディレクトリごとに,他のユーザからのアクセ スを許可するか,禁止するかなどを設定する必要が出てきます. すべてのファイルやディレクトリは ``保護モード''を設定することで,操作できるユーザを制限できます. ユーザは所有するファイルやディレクトリについて,保護モードを設定することで他のユーザからの参照や書き込み,実行を禁止できます. 保護モードは,``アクセス権''や``パーミッション'' ともいいます. 次に保護モードの概要と,その設定方法を説明します.

5.13.1 保護モードの設定

ファイルの保護モードには,それぞれのファイルやディレクトリごとに,操作権限を持つユーザと操作権限が設定されています.

5.13.1.1 アクセスの対象ユーザ

保護モードは対象となるユーザによって次の3種類が設定されています. ただし,CNS の学生ユーザはすべて同じグループ(student)に所属しています.

それぞれの対象によって保護モードを区別して設定できます.

5.13.1.2 操作権限

操作権限には``読み出し'',``書き込み'',``実行''の3つがあります. 設定の効果は対象がファイルである場合と ディレクトリである場合によって異なります.

5.13.2 保護モードの調べ方 -- (ls -l)

ファイルやディレクトリの保護モードを調べるには,lsコマンドに`-l'オプションを指定して実行します.

% ls -l <ENTER>
total 5
drwx------ 32 t03000tf   1024 Nov 24 10:55 Mail
-rw-rw-rw-  1 t03000tf   4515 Nov 18 10:42 READHELP
drwxrwxr-x  4 t03000tf    512 Nov 18 11:12 Wnn
lrwxrwxrwx  1 t03000tf     23 Oct  4 21:38 archives -> /home/archives/t03000tf
-rw-r--r--  1 t03000tf    177 Nov 24 14:43 memo
drwxr-xr-x  2 t03000tf    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').

5.13.3 保護モードの変更 -- (chmod)

ファイルやディレクトリの保護モードを変更するには,chmodコマンド(CHange MODe)を利用します.

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

数字によるモード変更

`a+r',`g-r' などといった表記方法以外にも,モード設定の方法があります. 読み出し(`r')と書き込み(`w'),実行(`x')の順番でそれぞれ許可する場合を1,許可しない場合を0の2進数で表して,それらをあわせて3桁の2進数ととらえ,10進数の表現に直します. ユーザ,グループ,その他の3つの10進数の表現を合わせたものを 保護モードとして表現できます.

例えば,保護モード`rw-r-r-'を数字によって表現するとします. まず,ユーザの保護モードが`rw-'であるので,許可を1,拒否を0とした2進数で表現すると`110'となります. 10進数では6になります.同様に,グループの保護モード `r-'は `100'という2進数で表現され,10進数では4,その他の 保護モードの10進数表現は4となります. 10進数で表現された6,4,4を合わせた数字`644'が`rw-r-r-' の数字による表現です(表5.4).


保護モードの数字表現
  ユーザ グループ その他
保護モード rw- r- r-
2進数表現 110 100 100
10進数表現 6 4 4

次にいくつか例をあげます.

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