About Permission
Linuxを含めたUNIX系OSの、パーミッションについておさらい。
UNIXを学び始めたころは、参考書でパーミッションのページを開くとわけが分からず目を
そむけたくなり、分かり始めると「そういうことか!」と理解できたことがうれしくなり、
日々の業務でルーチンになると空気にように当たり前に感じて、特に意識もしなくなる。
頭に定着したからこそ意識せずにいられる側面もあるけれど、こういうことは使わなく
なるとすぐに忘れる。ということで、初歩的なことからまとめておこう、と。
(以下はLinuxに限らずUNIX系OSに共通することですが、便宜上Linuxを想定して記述)
Linuxでls -lを実行した時に左側に表示されるr,w,x,- が並んでいる箇所が、対象ファイルや
ディレクトリのパーミッションの設定となる。
$ ls -ld Directory_A
drwxr-xr-x 5 root wheel 170 Jan 31 2008 Directory_A/
一番左の桁はファイルタイプを表し、通常は -,ディレクトリならd, シンボリックリンクならl,となっている。残りの9文字が3文字ずつ、それぞれ「所有ユーザ、所有グループ、その他のユーザ」の区分でパーミッションが指定されている。それぞれの「許可する権限の内容」は以下の通り。
r: 読取り権限あり
w: 書込み権限あり
x: 実行権限あり
-: 権限なし
ただし、パーミッションの意味はファイルとディレクトリでは少々異なる。

ディレクトリについては、実行権がないとカレントディレクトリの変更ができなくなるため、
通常実行権は与えたままにしておく。
r,w,x,-はそれぞれ数値で表すことができる。
r: 読取り権限 4
w: 書込み権限 2
x: 実行権限 1
-: 権限なし 0
「所有ユーザ、所有グループ、その他のユーザ」それぞれに数値をセットし、
ファイルの権限を”644″,”750″等と呼ぶことができる。
drwxr-xr-xの場合、以下の組み合わせで権限が”755″となる。
所有ユーザ: 4+2+1=7
所有グループ: 4+1=5
その他のユーザ: 4+1=5
パーミッションの変更にはchmodコマンドを使う。chmodにはシンボリックモード
と絶対モードの2つの方法がある。
シンボリックモードは文字列で許可する・しない権限を指定する。
絶対モードは上記の数値セットを指定する。個人的にはこちらの方が覚えやすく簡単。

例えばスクリプトを作成後、そのままでは実行ファイルにならないため、実行権を与える。
以下、どちらの方法でもよい(以下の例では所有者オーナーのみに実行権を与えている)。
$ chmod u+x scriptA
$ chmod 744 scriptA
こんなところだろうか。
うーむ、基本の基本をまとめるのは以外と難しい。