|
●パーミッションとは
パーミッションとはサーバーの中でCGIプログラムが働く時に各ファイルに与えられる権限のことで、それが的確に設定されていなければCGIプログラムは正常に機能することが出来ません。
また最近はプロバイダによってサーバーのセキュリティを高めていますのでCGIプログラムに書かれている設定では駄目な場合も多く、プロバイダのCGI設置に関する説明での設定数値を優先する必要があります。
なおファイルの設定値には大きく分けて3種類あり、.cgiのように実行するファイル、.plのように参照されるだけのファイル、また.txtや.log、.dataのように読み書きされるものに分類され、それぞれによって設定値が変わります。(ただし一部.plでも実行ファイルのこともありますのでその場合は.plでも実行ファイルとみなします。)
またその値は一般的には実行ファイルの場合は755または705、参照ファイルの場合は644または604、読み書きされるファィルは666または606が多いようですが、あくまでもプロバイダのサーバーの設定の方が優先されます。
●パーミッションの設定について
一般的にパーミッションの設定はFTPソフトによって行われます。
転送したファイルを選択して右クリックすればメニューが現れ、その中のパーミッション(UNIX)を選択すれば下のような設定画面が現れます。(多少形はソフトによって変わりますが内容は殆ど同じです。)
このうちReadは4、Writeは2、Executeは1の値を示し、チェックしたものの合計がその値となります。例えば全部チェックすれば7、ReadとExecuteなら5、全部外せば0という具合です。ですから上の例では705ということになります。
数値を設定後OKを押せばそのファイルあるいはディレクトリはそのパーミッションに設定されます。
また注意したいのは、ファイルを書き直して上書きなどをした場合は必ずパーミッションの再設定を行って下さい。
●プロバイダによる違い
CGIのパーミッション設定についてプロバイダによってその設定数値の違いだけでなく、方法の違うプロバイダもあります。
例えばCGI関連のファィルを全部メールの添付ファイルで送ってそれをプロバイダ側がチェックしてからプロバイダがアップロードしてくれるところもありますし(これはおそらく暴走プログラムを防ぐためだと思いますが)、また指定のディレクトリに転送すれば自動的にそれらのファイルのパーミッションが設定される場合もあります。
ただその場合は単純にファイルタイプによってパーミッションを設定している訳でたまに.plで実行ファイルの場合は実行ファイルとして設定されない場合があります。そのような場合はプロバイダに言ってそのファイルのパーミッションの設定を変えてもらわなければならないこともあります。
|