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の位 user group others r w x
4 2 1r w x
4 2 1r w x
4 2 1
r w x
4 2 1合 計 + + +
+ + -
+ - +
+ - -
- + +
- + -
- - +
- - -
7
6
5
4
3
2
1
0
アクセス権が「755」であれば,ユーザーは「読み・書き・実行」ができ,グループとその他はそれぞれ「読み・実行」ができることになる。