Linuxではファイルを使用する権限をファイルごとに設定することができます。パーミッション(アクセス権限:”許可、権限”の意味)と言います。ディレクトリに対しても同様です。
それぞれのファイルを使用できるかどうかの対象としては、
- 所有者
- グループ
- その他(すべてのユーザー)
の3種類があります。ちなみにこのパーミッションの考え方はUNIXと同じです。
「所有者」はほとんどの場合、ファイルの作成者です。
また「グループ」を作成すると、そのグループに参加するユーザーを権限の対象とすることができます。
「その他」はもちろん全てのユーザーです。
また使用権限には3種類あって、
- 読み( r )
- 書き( w )
- 実行( x )
です。カッコ内の文字(r、w、x )は権限を表す文字です。
ls コマンドを -l オプション付きで表示すると、パーミッションは以下のように表示されます。


上のターミナルの画像で、’test1.txt’というファイルの例では、
 ーrwーrwーrーー 1 pito pito 13 10月 21 17:43 test1.txt
となっています。この最初の「ーrwーrwーrーー」の部分がパーミッションです。
パーミッションの一番左端は「ディレクトリ」か「ファイル」かの種別で、ディレクトリの場合は’d’が表示されます。
その次の3文字(3バイト)は「所有者」の権限が表示されます。以下、「グループ」「その他ユーザー」が順に表示されます。
’r’が表示されていると読み取り可です。次に’w’が表示されていると書き込み(編集)可です。最後に’w’が表示されていると実行可です。ディレクトリの場合は、その中のファイルの実行可を意味します。
実行可能かどうかについては、当然ですがファイルが実行可能ファイル(プログラム)であることが前提です。
また、アクセス権は数値で表せます。下表の通りで、2進数表示の場合、読み取り権限(r)書き込み権限(w)実行権限(w)の各場所が’1’の場合は「可」で、’0’の場合は「不可」になります。
8進数で表示すると、
 読み取り(r = 4)
 書き込み(w = 2)
 実行  (x = 1)
となります。つまり全権限(rwx)は「4+2+1=7」となります。
| 記号 | 2進数表示 | 8進数表示 | 
| — | 000 | 0 | 
| –x | 001 | 1 | 
| -w- | 010 | 2 | 
| -wx | 011 | 3 | 
| r– | 100 | 4 | 
| r-x | 101 | 5 | 
| rw- | 110 | 6 | 
| rwx | 111 | 7 | 
ちょっと、面白いでしょ(笑)うまくできてるなぁ・・・というのが最初の印象です。
この権限(アクセス権限)を変更するコマンドは chmod コマンドといい、別の記事で紹介しますね。chmod コマンドを使う場合に上の考え方が上手に使えるのです。いや、うまくできているなぁ・・・。

コメント