パーミッションについての備忘録、今回はその2です。
パーミッションの種類
パーミッションの「読み」、「書き」、「実行」は【1】の記号で表される。「読み」はその名のとおり読む(見る)ことができること、「書き」は書き換えや削除ができるということ、「実行」はCGIのようなサーバサイドでスクリプトを動作させられるという意味だ。ちなみに、HTMLやCSSのように動作はせず、JavaScriptもサーバでなくブラウザ上で動作するものなので、これらのファイルの場合は「実行」は設定してもしなくても特に意味はない。
パーミッションには「記号表記」と「八進記述」の二通りの記述方法がある。まず、「記号表記」だが【2】のように9桁で表記する。3桁ごとに「所有者」、「グループ」、「その他」を示し、それぞれの1桁目は「読み」、2桁目は「書き」、3桁目は「実行」となる。ここに【1】の記号が入ればそれが可能であることを指し、「-」の場合は不可となる。これをふまえると、「rwx——」は、所有者は読み、書き、実行すべて可能で、グループと他人は何もできないということになる。逆に、「rwxrwxrwx」では、すべての人にすべての実行権があることを示す。ちなみに、これはセキュリティ上問題がある指定なので使用はお勧めできない。
次に「八進表記」だ。先ほどの記号表記を八進法で表すものだ。こちらのほうがなじみ深い人も多いだろう。「r=4」、「w=2」、「x=1」と数字で表す。記号表記で「rw-r–r–」のものを八進表記に置き換えると、所有者は「r+w=4+2=6」、グループとその他は「r=4」となり、「644」と表記できる【3】。この数字を見れば、r、w、x、-がわかる。記号表記と八進表記の対応を示したのが【4】だ。
【1】
「読み」、「書き」、「実行」を記号で表す。execuseが「e」ではなく「x」なのは、こうした記号には通常子音を使うことから
【2】
記号表記では9桁で「所有者」、「グループ」、「その他」に対し、3つの保護モードをそれぞれ指す
【3】
八進表記でよく使われるのは「0」、「4」、「5」、「6」、「7」
【4】
記号表記と八進表記を照らし合わせると、上記のようになる