Support ホームへ

CGI のパーミッション (モード) について

suEXEC について

JCA-NET の Web サーバでは、個人 Web サイト (URL に「~」が入る場所) で CGI を実行するときは、suEXEC という保護機構が働きます。

suEXEC 機構によって、個人 Web サイトに置かれている CGI スクリプト は、その Web サイトのユーザの権限で実行されるようになります。

たとえば、掲示板 CGI のようにサーバ上のファイルにデータを記録する タイプの CGI では、suEXEC 機構は大変有用です。その個人 Web サイト にインストールされた CGI でないと、データファイルを書き換えたり内 容を表示したりできないようになるからです。

ほかのユーザが誤って (あるいは故意に)、データを書き換えてしまったり、 データの中身を覗けてしまったり、といったことを防ぐことができます。

そういうわけで、JCA-NET では 個人 Web サイト での CGI 実行については、 suEXEC 機構による保護を実施しています。

逆に言うと、個人 Web サイト以外の場所に CGI を設置することは、かな り危険です。ほかのユーザが、データを書き換えて しまったり、データの中身を覗けてしまったり、といったことが起こりう るからです。

安全性を高めるために、CGI スクリプトは個人 Web サイト内に置くこと を強くお奨めします


個人 Web サイトでのパーミッション設定について

個人 Web サイトでは、つぎのようなパーミッション設定をすることをお 奨めします。個人 Web サイトでは、以下の説明より緩いパーミッション に設定した場合、CGI が正しく動作しないことがあります。

CGI スクリプトと、CGI スクリプトを置くディレクトリ のパーミッション

ファイル/ディレクトリ パーミッション
数字表記 文字表記
CGI スクリプトのファイル 744 rwxr--r--
CGI スクリプトを置くディレクトリ 755 rwxr-xr-x

注意

CGI スクリプトが読書きするデータファイルと、それを格納するディレク トリのパーミッション

データファイルの内容をほかのユーザが見ることができない (CGI か らしか読書きできない) ようにする場合

ファイル/ディレクトリ パーミッション
数字表記 文字表記
データファイル 600 rw-------
データファイルを格納するディレクトリ 700 rwx------

データファイルの内容をほかのユーザが見ることができる (書き換える ことはできない) ようにする場合

ファイル/ディレクトリ パーミッション
数字表記 文字表記
データファイル 644 rw-r--r--
データファイルを格納するディレクトリ 755 rwxr-xr-x

注意


独自名称 Web サイトでのパーミッション設定について

独自名称 Web サイトでは、つぎのようなパーミッション設定をすることをお 奨めします。

CGI スクリプトと、CGI スクリプトを置くディレクトリ のパーミッション

ファイル/ディレクトリ パーミッション
数字表記 文字表記
CGI スクリプトのファイル 755 rwxr-xr-x
CGI スクリプトを置くディレクトリ 755 rwxr-xr-x

注意

CGI スクリプトが読み込むデータファイルと、それを格納するディレク トリのパーミッション

ファイル/ディレクトリ パーミッション
数字表記 文字表記
データファイル 644 rw-r--r--
データファイルを格納するディレクトリ 755 rwxr-xr-x

注意


危険なパーミッション

既成の CGI や、CGI の解説書のなかには、suEXEC 機構を前提にしていな いものがしばしば見受けられます。これらは suEXEC 機構が利用できない ために、非常に危険な設定を奨めている場合があります。

CGI のインストールの説明につぎのような指示がある場合は、指示どおり にしてはいけません:

危険な指示の例
ファイルのパーミッションは 666 にしてください。
ファイルのパーミッションは 777 にしてください。
ディレクトリのパーミッションは 777 にしてください。

このような指示がある CGI は、個人 Web サイトにインストールしなけれ ばなりません。

また、パーミッションの設定については指示どおりにせず、上記「個人 Web サイトでのパーミッション設定について」にしたがってに設定します。