UNIX入門:6. ファイル管理

6.1. アクセス権とその確認法

 UNIX では,各ファイルに対し「所有者」があり,その所有者が所有するファイルのアクセス権を設定します。各ユーザは,管理者グループ,WWW グループなど,必ず何かしらの「グループ」に所属しています。

■ファイルの所有者からみたユーザの区分
u:所有者 (user)
g:その所有者が属すグループ(group)
o:その他 (others)

ファイルに対するアクセスは,読み込み権,書き込み権,実行権があります。

■アクセスの区分
r:読み込み可 (readable)
w:書き込み可 (writable)
x:実行可 (executable)

したがって,各ファイルに対し「所有者 (u)」「グループ (g)」「その他 (o)」の3つにユーザを区分し,各々の区分に対し読み込み権 (r),書き込み権 (w),実行権 (x) を所有者が指定することになります。

 以下の表における taro はそのファイルの所有者 (u),staff はユーザ名 taro が属すグループ (g) です。

% ls -l
drwxr-xr-x  1 taro  staff  14 Feb 21 18:15 Jobs
lrwxr-xr-x  1 taro  staff  14 Feb 21 18:08 My_Programs -> ../My_Programs
-rwxr--r--  1 taro  staff  56 Feb 21 18:05 benchmark.sh
%

drwxr-xr-x 部分の読み方
・1桁目:ファイルの種類
 d:ディレクトリ
 l:"->" 以下をオリジナルファイルにもつ「シンボリックリンク」 (6.3 を参照)
 -:ファイル
・残り9桁
 3分割して見る。
  最初の3つ:所有者 (u) のアクセス権
  次の3つ:グループ (g) のアクセス権
  残り3つ:他の人 (o) のアクセス権

6.2. アクセス権の変更

 ファイルのアクセス権の変更は,その所有者のみ可能です。その方法は次の通り。

■アクセス権の変更法
chmod [who][+/-][permission] file
[凡例]
 who
  u:ユーザ(所有者),g:グループ,o:その他

 +/-
  +:権限を与える,-:権限を奪う

 permission
  r:読み込み,w:書き込み,x:実行

[ノート]アクセス権については,数字による指定のみしか受け付けない環境がある。次がその対応表になる。
  r w x
  4 2 1
例えば,rwxr--r-- であれば,u に 4+2+1=7,g に 4+0+0,o に 4+0+0 と計算して,次のようにアクセス権を与える。
  chmod 744 ファイル名

6.3. ファイル/ディレクトリへのリンク:「シンボリック・リンク (Symbolic Link)」

 シンボリック・リンクは,Macintosh でいうところの「エイリアス」,Windows でいうところの「ショートカット」に相当します。但し,UNIX で「エイリアス」といった場合,コマンドへのリンクをいい,「シンボリック・リンク」はあくまでもファイルやディレクトリをオリジナルとします (「エイリアス」については下記第7項を参照)。

 シンボリック・リンクへのアクセス権は,オリジナルのアクセス権に従います。したがって,シンボリック・リンクのアクセス権を読み込み,書き込み,実行禁止にしても,オリジナルがそうでなければ読み書き,あるいは実行できます。

■シンボリック・リンクの作成
 ファイル/ディレクトリ original にリンク名 symlink でリンク
     % ln -s original symlink

■シンボリック・リンクの削除
  % rm symlink