CGIでのパーミッションの数字の意味は?

サイトを運営していてカウンターや掲示板といったCGI等を導入する際に「CGIのパーミッションを755、データフォルダを777にしろ」といった指定を受け、その数字の意味について疑問に思った方はいらっしゃいませんか?

以下の話の前提としてCGIが動く、多くのサーバーで利用されているUNIXのお話をしなければなりません。

どうして三桁の数字なの?

パーミッションが三桁の数字の理由は以下のとおりです。

UNIXでは「いろんな人がアクセスする」事を前提にそのシステムが構築されています。考え方としてはそれぞれのファイル・フォルダの「所有者」、ファイル・フォルダを「所有するグループ」、「それ以外」といった考え方でそれぞれのアクセス権限を設定すると言う事になっています。

つまり、冒頭の例でいうと「755」の場合、最初の左側の数字は「所有者の権限」、二番目の数字は「所有するグループの権限」、三番目の数字は「『それ以外』=>『一般の訪問者の権限』」を現しています。

「7」とか「5」とかの数字の意味は?

「ではその権限って何?」となりますが、通常ファイルやフォルダのアクセスの方法としては「読める」「書き込める」「実行できる」という3つのパターンがあります。

そこで「読める」の権限を4、「書き込める」権限を2、「実行できる」権限を1と規定して足し算をした結果でそれぞれの権限を表現しています。

つまり、その数が1であれば「実行できる」、2であれば「書き込める」、4であれば「読める」ということになります。4以上の場合。5の場合は「4+1」で「読んでかつ実行できる」、6の場合「4+2」で「読んでかつ書き込める」、7の場合「4+2+1」で「読んで、書けて、実行できる」という意味になります。

この数字をそれぞれ「所有者、グループ、その他」に並べていけばパーミッションの数字となるわけです。

パーミッションを「755」にしろと言う場合は「4+2+1、4+1、4+1」ですから、所有者は「読んで書いて実行できる」、グループは「読んでかつ実行できる」、その他の人も「読んでかつ実行できる」状態にしろ、ということになります。

グループ?

「所有者はわかるけど、グループなんてウチにはいないよ」と思う人もいるかも知れませんね。その通りで、通常のプロバイダ経由でサーバーにアクセスしている場合、グループはありませんよね。そこで、グループの部分を「0」にしてもよさそうなものです。例として755なら705でもOK!?というわけです。

考え方としてはそれで良いのですが、サーバーによってはそれではダメなケースもあります。(755でないと動作しない場合もある)。この辺はご自分のサーバーにご確認ください。

パーミッションの実際

よく使われるCGIのパーミッション「755」が代表的です。

またCGIを通じて読み書きをするデータファイルは通常「666」となります。データファイルの場合、実行する必要はなく読み書きができれば良いので「4+2、4+2、4+2」となり「666」となるわけです。

CGIが動作するためのフォルダのパーミッションは「777」(サーバーによっては「755」といういところも)。

普通のHTMLファイルの場合「644」となることが一般的です。(所有者だけが「読めて書ける=>4+1=6」他は「読むだけ=>4」と言う意味です。

(パーミッション設定に関する具体的な詳細例はそれぞれのサーバー管理者にお問い合わせください)

←前のページにもどる
前のページに戻らない場合にはブラウザの「戻る」ボタンを押してください



メルマガ登録・解除 ID: 0000224239
インターネット九条の会メルマガ
   
バックナンバー powered by まぐまぐトップページへ

copyright by kempo9.com since 2005