アクセス権の設定


UNIX では,ユーザー自身,同じグループに属する利用者,その他の利用者に分け,ファイルのアクセス権(パーミッション)を設定することができる。ファイルのアクセス権は「ls -l」で表示することができる。

    --------------------------------------------------
    % ls -l
    total 50
    drwxr-xr-x   3 ohna  lg       512 Jul 24  1996 bin/
    -rw-r--r--   1 ohna  lg        12 Nov  3 17:42 data.txt
    drwxr-xr-x   6 ohna  lg       512 Mar 29  1999 etxt/
    -rwxr-x---   1 ohna  lg       385 Nov  6  1998 sort.pl*
    --------------------------------------------------

最初の1文字がファイルの種類 (d ならディレクトリ) などを表わし,2文字目からがアクセス権を表わす。「rwx」3文字で一組となり,左から順に,ユーザー自身,グループ,その他に対するアクセス権を表わす。「-」となっている個所は該当するアクセス権がないことを示す。

r (readable) 読み取り権:読むことができる。
w (writable) 書き込み権:書き込むこと (変更) ができる。
x (executable) 実行権:実行できる。ディレクトリの場合は,その下にアクセスできる (cd で移動する,中にあるファイルを読む,など)。

-rwxr--r--」であれば,ユーザー自身は「読むこと」「書き込むこと」「実行すること」ができ,グループの者その他の者は「読むこと」のみができる。

アクセス権を変更するには chmod コマンドでファイルの属性の変更を行う。取り消す時は,+- にして指定する。実行可能にするには,x を指定する。

    chmod [ugoa]+[rwx] filename

       u  ユーザー本人に対するパーミッション
       g  グループのメンバーに対するパーミッション
       o  その他のパーミッション
       a  全パーミッション(ユーザ,グループ,その他)
    例. chmod  u+x  script.pl ユーザーが実行できるようにする
         chmod  ug+r script.pl ユーザー・グループが読めるようにする
         chmod  +x   script.pl ユーザー・グループ・その他が
                実行できるようにする

アクセス権を 755 のように,8進数の3桁の数字で指定することもできる。100 の位がユーザーに,10 の位がグループに,1 の位がその他に対するアクセス権を表わす。

100の位10の位1の位
usergroupothers
 r w x 
 4 2 1 
 r w x 
 4 2 1 
 r w x 
 4 2 1 

 r w x 
 4 2 1 
 合 計 
 + + + 
 + + - 
 + - + 
 + - - 
 - + + 
 - + - 
 - - + 
 - - - 
7
6
5
4
3
2
1
0

アクセス権が「755」であれば,ユーザーは「読み・書き・実行」ができ,グループとその他はそれぞれ「読み・実行」ができることになる。