UNIX互換オペレーティングシステム(OS)における、ファイルに関する操作(権限)を決めるための情報のこと。
UNIXは、複数の人間が同一のコンピュータを利用できるマルチユーザOSである。
IDとパスワードを入力することでOSを利用する方式とし、利用者毎に違った環境を構築することが可能になっている。
一つのOSを大勢で利用する場合、勝手に他人のファイルの中身を見たり、消したり、改変したり出来ては困る。安定した運用のためには、この制限を設ける必要がある。これがパーミッションである。
UNIXでは、「オーナー」「グループ」「その他」の三つに分けて扱う。
ファイルの持ち主がオーナーである。ユーザは何らかのグループに属するが、同じグループのユーザ単位でも制限を緩めたりすることが可能。そして、それ以外のユーザはその他である。
例えばWebサーバを想定すると、いわゆるページを見に来た外部の人は、パーミッションで「その他」の人に対応し、実際にページを作っている人は「オーナー」になるだろう。
制限は三種類あり「読み取り」「書き込み」「実行」がある。
これが、オーナー・グループ・その他で、それぞれ決めることができる。
これらにより、「他人に見せないファイルやディレクトリ」や、「他人は見えるけど書き換えられないファイル」などを作ることが出来る。
「読み取り」は、ファイルを読むことができる権限である。
「書き込み」は、ファイルの場合は内容を変更できる、ディレクトリの場合は中のファイルを削除したり、新たなファイルを作成したりできる権利である。
「実行」はファイルを実行したり、ディレクトリの中に移動することができる権利である。
いわゆる実行ファイルは実行(x)のパーミッションを付けなければ持ち主でも実行できない。また、ディレクトリにこの属性を付けないと、持ち主でもそのディレクトリを開くことができない。
削除の場合は、ファイル自身の書き込みパーミッションの値は意味を持たない。
UNIXのファイルシステムにおいては、ディレクトリとは「ファイル名の一覧」と「各ファイル名から実データへのポインタ」という構造の特殊ファイルなので、ファイルの追加や削除は、ディレクトリに対する「内容の変更」になるからである。
パーミッションはls -lなどで確認でき、chmodで変更できる。
ls -lでは、一番最初に、次のように表示される。
drwxr-xr-x
最初の文字がファイルのタイプである。次の9文字は、3つの領域に3つの文字が並んでおり、ここでオーナー・グループ・その他それぞれの読み・書き・実行のパーミッションが表示される。