CNS には7000人以上のユーザがいます.全く自由に他人のファイルの内容を 見たり,変更できたりすると,いろいろな問題が起きる可能性があります.そこ で個々のユーザはファイルやディレクトリごとに,他のユーザからのアクセ スを許可するか,禁止するかなどを設定する必要が出てきます. すべてのファイルやディレクトリは ``保護モード''を設定することで,操作できるユーザを制限できます. ユーザは所有するファイルやディレクトリについて,保護モードを設定することで他のユーザからの参照や書き込み,実行を禁止できます. 保護モードは,``アクセス権''や``パーミッション'' ともいいます. 次に保護モードの概要と,その設定方法を説明します.
ファイルの保護モードには,それぞれのファイルやディレクトリごとに,操作権限を持つユーザと操作権限が設定されています.
保護モードは対象となるユーザによって次の3種類が設定されています. ただし,CNS の学生ユーザはすべて同じグループ(student)に所属しています.
それぞれの対象によって保護モードを区別して設定できます.
操作権限には``読み出し'',``書き込み'',``実行''の3つがあります. 設定の効果は対象がファイルである場合と ディレクトリである場合によって異なります.
ファイルやディレクトリの保護モードを調べるには,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').
ファイルやディレクトリの保護モードを変更するには,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).
次にいくつか例をあげます.
% 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/ % _