|
||||||||||||
|
||||||||||||
| suExecについて | ||||||||||||||||
| 通常、HTTPとして動作するCGIプログラムが動作する場合、所有者権限は「nobody」で動作します。 これに対して、SuExec環境に対応したサーバーの場合、CGIプログラムは「nobody」ではなく、 そのCGIプログラムファイルの「所有者権限(ユーザ権限)」、つまりお客様の権限としてプログラムが動作します。 これにより、ファイルの読み書き、実行がその「所有者権限(ユーザ権限)」で実行されるため、セキュリティ上安全になります。 |
||||||||||||||||
| なぜファイルの「所有者権限(ユーザ権限)」で動作をさせたほうが安全か | ||||||||||||||||
| 例えば、一般サーバでは、掲示板のログファイル(書き込み内容の保存に使用するファイル。例として「.log」・「.txt」等)は パーミッション(日本語では『許可』という意味。サーバー上のファイルに対する権限設定の事です)を『666』または『606』に設定します。 表1.
上の表1.のように3番目の数字が「nobody」の実行権限を意味しています。 各数字の意味に関しては、下の表2.の通りです。 表2.
ブラウザでの操作が「nobody」権限となる為、「nobody」のパーミッションを『6』、つまり「読み書き可能」にする必要があります。 しかし、このようなパーミッション設定では、例えばログファイルのURLを直接アドレスバーに入力することにより、 ダウンロードする事が可能になってしまう等の危険性が考えられます。 そこで、CGIプログラムを「nobody」権限ではなく「owner」権限で動作させるようにすれば、ログファイルのパーミッションを「600」、 つまり「nobody」に権限を与えなくても読み書きが可能となり、直接ダウンロードされるような危険性がなくなる事になります。 |
||||||||||||||||
| パーミッション設定例 | ||||||||||||||||
上記のパーミッションは、設定例ですが、セキュリティ上低い数字にする方が好ましいですが、 ファイルやCGIによって決まったパーミッションは、ありません。 |