UNIX系OSでは、ファイルごとにアクセス権(パーミッション、モードなどとも呼ばれる)が設定されている。 これらアクセス権により、ユーザーからのファイルの見え方、操作できることが決まる。
アクセス権は基本的に3種類ある。Read、Write、eXecuteだ。また、権限を設定する対象(クラス)が3種類ある。User、Group、Otherだ。アクセス権と対象の組み合わせで、3×3=計9種類のアクセス権が存在する。このほかに、実行に関係する特殊なアクセス権がある。SetUserID、SetGroupID、sTickyの3種類だ。よって計12種類。それぞれの権限の有無が、ファイルごとに設定されている。
後述の八進数表記を鑑みるに、特殊権限、Userの権限、Groupの権限、Otherの権限、の順にビットがならんでいるのかな?
- 権限の意味
ls -l
を実行すると、ファイルのアクセス権が確認できる。ちなみに左端の文字の意味は下記の通り。
アクセス権は chmod
(CHange MODe)コマンドで変更できる。chmodコマンドでのアクセス件の指定方法には、記号表記と八進数表記の二種類がある。
ファイル作成時のデフォルト権限は、"umask"というビットマスクで決まる。通常、新規ファイルは0666,新規ディレクトリファイルは0777からそれぞれumaskの値を引いた権限が設定される。
umaskでは許可しない権限を指定している、と言い換えても良い。
多くの場合は0022が設定されている。
umask
で確認可能である。