CNS には6000人以上のユーザがいます. 制限なく他人のファイルの内容を見たり, 変更できたりすると, いろいろな問題が起きる可能性があります. そこで個々のユーザはファイルやディレクトリごとに, 他のユーザからのアクセスを許可するか, 禁止するかなどを設定する必要が出てきます. すべてのファイルやディレクトリは ``保護モード'' を設定することで, 操作できるユーザを制限できます. ユーザは所有するファイルやディレクトリについて, 保護モードを設定することで他のユーザからの参照や書き込み, 実行を禁止できます. 保護モードは,``アクセス権'' や ``パーミッション'' ともいいます. 次に保護モードの概要と, その設定方法を説明します.
ファイルの保護モードには, それぞれのファイルやディレクトリごとに, 操作権限を持つユーザと操作権限が設定されています.
保護モードは対象となるユーザによって次の3種類が設定されています. ただし,CNS の学生ユーザはすべて同じグループ(student)に所属しています.
それぞれの対象によって保護モードを区別して設定できます.
操作権限には 読み出し, 書き込み, 実行 の3つがあります. 設定の効果は対象がファイルである場合と ディレクトリである場合によって異なります.
ファイルやディレクトリの保護モードを調べるには, lsコマンドに-lオプションを指定して実行します.
% ls -l <ENTER> total 5 drwx------ 32 t00000tf student 1024 11 24 10:55 Mail -rw-rw-rw- 1 t00000tf student 4515 11 18 10:42 READHELP drwxrwxr-x 4 t00000tf student 512 11 18 11:12 Wnn lrwxrwxrwx 1 t00000tf student 23 10 4 21:38 media -> /home/archives/t00000tf -rw-r--r-- 1 t00000tf student 177 11 24 14:43 memo drwxr-xr-x 2 t00000tf student 512 7 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 t00000tf student 1024 1 31 14:48 report.txt % chmod go-r <ENTER> % ls -l <ENTER> -rw------- 9 t00000tf student 1024 1 31 14:48 report.txt % chmod a+r <ENTER> % ls -l <ENTER> -rw-r--r-- 9 t00000tf student 1024 1 31 14:48 report.txt % _
`a+r', `g-r' などといった表記方法以外にも, モード設定の方法があります. 読み出し (`r') と書き込み (`w'), 実行 (`x') の順番でそれぞれ許可する場合を1, 許可しない場合を0の2進数で表して,それらをあわせて3桁の2進数ととらえ, 8進数の表現に直します. ユーザ,グループ,その他の3つの8進数の表現を合わせたものを 保護モードとして表現できます.
例えば,保護モード `rw-r--r--' を数字によって表現するとします. ユーザの保護モードが `rw-' であるので, 許可を1,拒否を0とした2進数で表現すると `110' となります. 8進数では6になります. グループの保護モード `r--' は `100'という2進数で表現され,8進数では4, その他の保護モードの8進数表現は4となります. 8進数で表現された6,4,4を合わせた数字`644'が `rw-r--r--' の数字による表現です (表4.3).
次にいくつか例をあげます.
% ls -lF <ENTER> drwxr-xr-x 4 t00000tf student 1024 1 31 14:51 Report/ % chmod 700 Report <ENTER> % ls -lF <ENTER> drwx------ 4 t00000tf student 1024 1 31 14:51 Report/ % chmod 755 Report <ENTER> % ls -lF <ENTER> drwxr-xr-x 4 t00000tf student 1024 1 31 14:51 Report/ % _