switch to a 60 bit hash
[httpd-crcsyncproxy.git] / docs / manual / suexec.html.ja.utf8
blobd9952980a171221cdf789afa8d73a8ef603d0781
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head><!--
4 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
5 This file is generated from xml source: DO NOT EDIT
6 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
7 -->
8 <title>suEXEC サポート - Apache HTTP サーバ</title>
9 <link href="./style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
10 <link href="./style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
11 <link href="./style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
12 <link href="./images/favicon.ico" rel="shortcut icon" /></head>
13 <body id="manual-page"><div id="page-header">
14 <p class="menu"><a href="./mod/">モジュール</a> | <a href="./mod/directives.html">ディレクティブ</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">用語</a> | <a href="./sitemap.html">サイトマップ</a></p>
15 <p class="apache">Apache HTTP サーバ バージョン 2.3</p>
16 <img alt="" src="./images/feather.gif" /></div>
17 <div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="./images/left.gif" /></a></div>
18 <div id="path">
19 <a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP サーバ</a> &gt; <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> &gt; <a href="./">バージョン
20 2.3</a></div><div id="page-content"><div id="preamble"><h1>suEXEC サポート</h1>
21 <div class="toplang">
22 <p><span>言語: </span><a href="./en/suexec.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
23 <a href="./fr/suexec.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
24 <a href="./ja/suexec.html" title="Japanese">&nbsp;ja&nbsp;</a> |
25 <a href="./ko/suexec.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
26 <a href="./tr/suexec.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
27 </div>
28 <div class="outofdate">この日本語訳はすでに古くなっている可能性があります。
29 更新された内容を見るには英語版をご覧下さい。</div>
31 <p><strong>suEXEC</strong>
32 機能により、Apache ユーザは Web サーバを実行しているユーザ ID とは
33 異なるユーザ ID で <strong>CGI</strong> プログラムや <strong>SSI</strong>
34 プログラムを実行することができます。CGI プログラムまたは SSI
35 プログラムを実行する場合、通常は web サーバと同じユーザで実行されます。
36 </p>
38 <p>適切に使用すると、この機能によりユーザが個別の CGI
39 や SSI プログラムを開発し実行することで生じるセキュリティ上の危険を、
40 かなり減らすことができます。しかし、suEXEC の設定が不適切だと、
41 多くの問題が生じ、あなたのコンピュータに新しいセキュリティホールを
42 作ってしまう可能性があります。あなたが <em>setuid root</em>
43 されたプログラムと、それらから生じるセキュリティ上の問題の管理に
44 詳しくないようなら、suEXEC の使用を検討しないように強く推奨します。
45 </p>
46 </div>
47 <div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#before">始める前に</a></li>
48 <li><img alt="" src="./images/down.gif" /> <a href="#model">suEXEC セキュリティモデル</a></li>
49 <li><img alt="" src="./images/down.gif" /> <a href="#install">suEXEC
50 の設定とインストール</a></li>
51 <li><img alt="" src="./images/down.gif" /> <a href="#enable">suEXEC
52 の有効化と無効化</a></li>
53 <li><img alt="" src="./images/down.gif" /> <a href="#usage">suEXEC の使用</a></li>
54 <li><img alt="" src="./images/down.gif" /> <a href="#debug">suEXEC のデバッグ</a></li>
55 <li><img alt="" src="./images/down.gif" /> <a href="#jabberwock">とかげに注意: 警告と事例</a></li>
56 </ul></div>
57 <div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
58 <div class="section">
59 <h2><a name="before" id="before">始める前に</a></h2>
61 <p>この文書の先頭に飛ぶ前に、Apache
62 グループとこの文書での仮定を知っておくべきでしょう。
63 </p>
65 <p>1 に、あなたが <strong>setuid</strong>
66 <strong>setgid</strong> 操作が可能な UNIX
67 由来のオペレーティングシステムを使っていることを想定しています。
68 これは、すべてのコマンド例にあてはまります。
69 その他のプラットホームでは、もし suEXEC
70 がサポートされていたとしても設定は異なるかもしれません。</p>
72 <p>2 に、あなたが使用中のコンピュータの
73 セキュリティに関する基本的な概念と、それらの管理について詳しいことを
74 想定しています。これは、<strong>setuid/setgid</strong>
75 操作、あなたのシステム上でのその操作による様々な効果、
76 セキュリティレベルについてあなたが理解しているということを含みます。
77 </p>
79 <p>3 に、<strong>改造されていない</strong> suEXEC
80 コードの使用を想定しています。suEXEC のコードは、
81 多くのベータテスタだけでなく、開発者によっても注意深く精査され
82 テストされています。それらの注意により、簡潔で信頼できる安全な
83 コードの基盤が保証されます。このコードを改変することで、
84 予期されない問題や新しいセキュリティ上の危険が生じることがあります。
85 セキュリティプログラミングの詳細に通じていて、
86 今後の検討のために成果を Apache
87 グループと共有しようと思うのでなければ、suEXEC
88 コードは変えないことを <strong>強く</strong>推奨します。</p>
90 <p>4 に、これが最後ですが、suEXEC を Apache
91 のデフォルトインストールには<strong>含めない</strong>ことが
92 Apache グループで決定されています。これは、suEXEC
93 の設定には管理者の詳細にわたる慎重な注意が必要だからです。
94 suEXEC の様々な設定について検討が終われば、管理者は suEXEC
95 を通常のインストール方法でインストールすることができます。
96 これらの設定値は、suEXEC
97 機能の使用中にシステムセキュリティを適切に保つために、
98 管理者によって慎重に決定され指定されることが必要です。
99 この詳細な手順により、Apache グループは、suEXEC
100 のインストールについて、注意深く十分に検討してそれを使用することを
101 決定した場合に限っていただきたいと考えています。
102 </p>
104 <p>それでも進みますか? よろしい。では、先へ進みましょう!</p>
105 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
106 <div class="section">
107 <h2><a name="model" id="model">suEXEC セキュリティモデル</a></h2>
109 <p>suEXEC の設定とインストールを始める前に、
110 まず実装しようとしているセキュリティモデルについて論じておきます。
111 それには、suEXEC の内部で行なわれていること、
112 システムのセキュリティを保証するために警告されることを
113 よく理解しておいた方がよいでしょう。</p>
115 <p><strong>suEXEC</strong> は、Apache web
116 サーバから呼び出される setuid された "wrapper"
117 プログラムが基本となっています。設計した CGI、または SSI
118 プログラムへの HTTP リクエストがあると、この wrapper
119 が呼び出されます。このようなリクエストがあると、Apache
120 はそのプログラムが実行される際のプログラム名とユーザ ID とグループ
121 ID を指定して suEXEC wrapper を実行します。
122 </p>
124 <p>それから、wrapper は成功または失敗を決定するため
125 以下の処理を行ないます。これらの状態のうち一つでも失敗した場合、
126 プログラムは失敗をログに記録してエラーで終了します。
127 そうでなければ、後の処理が続けられます。</p>
129 <ol>
130 <li>
131 <strong>wrapper
132 を実行しているユーザはこのシステムの正当なユーザか?</strong>
134 <p class="indent">
135 これは、wrapper を実行しているユーザが
136 本当にシステムの利用者であることを保証するためです。
137 </p>
138 </li>
141 <li>
142 <strong>wrapper が適切な数の引数で呼び出されたか?</strong>
145 <p class="indent">
146 wrapper は適切な数の引数が与えられた場合にのみ実行されます。
147 適切な引数のフォーマットは Apache Web サーバに解釈されます。
148 適切な数の引数を受け取らなければ、攻撃をされたか
149 あなたの Apache バイナリの suEXEC の部分が
150 どこかおかしい可能性があります。
151 </p>
152 </li>
154 <li>
155 <strong>この正当なユーザは wrapper
156 の実行を許可されているか?</strong>
158 <p class="indent">
159 このユーザは wrapper 実行を許可されたユーザですか?
160 ただ一人のユーザ (Apache ユーザ) だけが、
161 このプログラムの実行を許可されます。
162 </p>
163 </li>
165 <li>
166 <strong>対象の CGI, SSI プログラムが安全でない階層の参照をしているか?
167 </strong>
169 <p class="indent">
170 対象の CGI, SSI プログラムが '/' から始まる、または
171 '..' による参照を行なっていますか? これらは許可されません。
172 対象のプログラムは suEXEC のドキュメントルート
173 (下記の <code>--with-suexec-docroot=<em>DIR</em></code> を参照)
174 内に存在しなければなりません。
175 </p>
176 </li>
178 <li>
179 <strong>対象となるユーザ名は正当なものか?</strong>
181 <p class="indent">
182 対象となるユーザ名は存在していますか?
183 </p>
184 </li>
186 <li>
187 <strong>対象となるグループ名は正当なものか?</strong>
189 <p class="indent">
190 対象となるグループ名は存在していますか?
191 </p>
192 </li>
194 <li>
195 <strong>目的のユーザはスーパーユーザでは<em>ない</em>か?
196 </strong>
198 <p class="indent">
199 今のところ、suEXEC は <code><em>root</em></code> による CGI/SSI
200 プログラムの実行を許可していません。
201 </p>
202 </li>
204 <li>
205 <strong>対象となるユーザ ID は、最小の ID
206 番号よりも<em>大きい</em>か? </strong>
208 <p class="indent">
209 最小ユーザ ID 番号は設定時に指定されます。これは、
210 CGI/SSI プログラム実行を許可されるユーザ ID
211 のとりうる最小値です。これは
212 "system" 用のアカウントを閉め出すのに有効です。
213 </p>
214 </li>
216 <li>
217 <strong>対象となるグループはスーパーユーザのグループでは
218 <em>ない</em>か?</strong>
220 <p class="indent">
221 今のところ、suEXEC は 'root' グループによる CGI/SSI
222 プログラムの実行を許可していません。
223 </p>
224 </li>
226 <li>
227 <strong>対象となるグループ ID は最小の ID
228 番号よりも<em>大きい</em>か?</strong>
230 <p class="indent">
231 最小グループ ID 番号は設定時に指定されます。これは、
232 CGI/SSI プログラム実行を許可されるグループ
233 ID のとりうる最小値です。
234 これは "system" 用のグループを閉め出すのに有効です。
235 </p>
236 </li>
238 <li>
239 <strong>wrapper が正常に対象となるユーザとグループになれるか?
240 </strong>
242 <p class="indent">
243 ここで、setuid と setgid
244 の起動によりプログラムは対象となるユーザとグループになります。
245 グループアクセスリストは、
246 ユーザが属しているすべてのグループで初期化されます。
247 </p>
248 </li>
250 <li>
251 <strong>CGI/SSI プログラムが置かれているディレクトリに移動
252 (change directory) できるか?</strong>
254 <p class="indent">
255 ディレクトリが存在しないなら、そのファイルも存在しないかもしれません。
256 ディレクトリに移動できないのであれば、おそらく存在もしないでしょう。
257 </p>
258 </li>
260 <li>
261 <strong>ディレクトリが Apache のドキュメントツリー内にあるか?
262 </strong>
264 <p class="indent">
265 リクエストがサーバ内のものであれば、
266 要求されたディレクトリが suEXEC のドキュメントルート配下にありますか?
267 リクエストが UserDir のものであれば、要求されたディレクトリが suEXEC
268 のユーザのドキュメントルート配下にありますか?
269 (<a href="#install">suEXEC 設定オプション</a> 参照)
270 </p>
271 </li>
273 <li>
274 <strong>ディレクトリを他のユーザが書き込めるようになって
275 <em>いない</em>か?</strong>
277 <p class="indent">
278 ディレクトリを他ユーザに開放しないようにします。
279 所有ユーザだけがこのディレクトリの内容を改変できるようにします。
280 </p>
281 </li>
284 <li>
285 <strong>対象となる CGI/SSI プログラムは存在するか?</strong>
287 <p class="indent">
288 存在しなければ実行できません。
289 </p>
290 </li>
292 <li>
293 <strong>対象となる CGI/SSI プログラムファイルが他アカウントから
294 書き込めるようになって<em>いない</em>か?</strong>
296 <p class="indent">
297 所有者以外には CGI/SSI プログラムを変更する権限は与えられません。
298 </p>
299 </li>
302 <li>
303 <strong>対象となる CGI/SSI プログラムが setuid または setgid
304 されて<em>いない</em>か?</strong>
306 <p class="indent">
307 UID/GID を再度変更してのプログラム実行はしません
308 </p>
309 </li>
312 <li>
313 <strong>対象となるユーザ/グループがプログラムの
314 ユーザ/グループと同じか?</strong>
316 <p class="indent">
317 ユーザがそのファイルの所有者ですか?
318 </p>
319 </li>
321 <li>
322 <strong>安全な動作を保証するための環境変数クリアが可能か?
323 </strong>
325 <p class="indent">
326 suEXEC は、安全な環境変数のリスト
327 (これらは設定時に作成されます) 内の変数として渡される安全な
328 PATH 変数 (設定時に指定されます) を設定することで、
329 プロセスの環境変数をクリアします。
330 </p>
331 </li>
334 <li>
335 <strong>対象となる CGI/SSI プログラムを exec して実行できるか?</strong>
338 <p class="indent">
339 ここで suEXEC が終了し、対象となるプログラムが開始されます。
340 </p>
341 </li>
342 </ol>
344 <p>ここまでが suEXEC の wrapper
345 におけるセキュリティモデルの標準的な動作です。もう少し厳重に
346 CGI/SSI 設計についての新しい制限や規定を取り入れることもできますが、
347 suEXEC はセキュリティに注意して慎重に少しずつ開発されてきました。
348 </p>
350 <p>このセキュリティモデルを用いて
351 サーバ設定時にどのように許すことを制限するか、また、suEXEC
352 を適切に設定するとどのようなセキュリティ上の危険を避けられるかに
353 関するより詳しい情報については、<a href="#jabberwock">"とかげに注意"
354 (Beware the Jabberwock)</a> の章を参照してください。
355 </p>
356 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
357 <div class="section">
358 <h2><a name="install" id="install">suEXEC
359 の設定とインストール</a></h2>
361 <p>ここから楽しくなります。</p>
363 <p><strong>suEXEC
364 設定オプション</strong><br />
365 </p>
367 <dl>
368 <dt><code>--enable-suexec</code></dt>
370 <dd>このオプションは、デフォルトではインストールされず、
371 有効にはならない suEXEC 機能を有効にします。
372 suEXEC を使うように APACI に要求するには、<code>--enable-suexec</code>
373 オプションにあわせて少なくとも一つは <code>--with-suexec-xxxxx</code>
374 オプションが指定されなければなりません。</dd>
376 <dt><code>--with-suexec-bin=<em>PATH</em></code></dt>
378 <dd>セキュリティ上の理由により、<code>suexec</code> バイナリのパスはサーバに
379 ハードコードされている必要があります。デフォルトのパスを
380 変えたいときはこのオプションを使ってください。<em>例えば</em>
381 <code>--with-suexec-bin=/usr/sbin/suexec</code> のように。</dd>
383 <dt><code>--with-suexec-caller=<em>UID</em></code></dt>
385 <dd>Apache を通常動作させる<a href="mod/mpm_common.html#user">ユーザ名</a>を指定します。
386 このユーザだけが suexec の実行を許可されたユーザになります。</dd>
388 <dt><code>--with-suexec-userdir=<em>DIR</em></code></dt>
390 <dd>suEXEC がアクセスを許されるユーザホームディレクトリ配下の
391 サブディレクトリを指定します。
392 このディレクトリ以下の全実行ファイルは、"安全な"プログラムになるよう、
393 suEXEC がそのユーザとして実行できるようにします。
394 "単純な" UserDir ディレクティブを使っている場合
395 (すなわち "*" を含まないもの)、これと同じ値を設定すべきです。
396 Userdir ディレクティブがそのユーザのパスワードファイル内の
397 ホームディレクトリと同じ場所を指していなければ、
398 suEXEC は適切に動作しません。デフォルトは "public_html" です。
399 <br />
400 各 UserDir が異なった仮想ホストを設定している場合、
401 それらを全て一つの親ディレクトリに含めて、
402 その親ディレクトリの名前をここで指定する必要があります。
403 <strong>このように指定されなければ "~userdir" cgi
404 へのリクエストが動作しません。</strong></dd>
406 <dt><code>--with-suexec-docroot=<em>DIR</em></code></dt>
408 <dd>Apache のドキュメントルートを設定します。これが suEXEC
409 の動作で使用する唯一のディレクトリ階層になります (UserDir
410 の指定は別)。デフォルトでは <code>--datedir</code>"/htdocs"
411 というサフィックスをつけたものです。
412 "<code>--datadir=/home/apache</code>" として設定すると、
413 suEXEC wrapper にとって "/home/apache/htdocs"
414 がドキュメントルートとして使われます。</dd>
416 <dt><code>--with-suexec-uidmin=<em>UID</em></code></dt>
418 <dd>suEXEC の対象ユーザとして許される UID の最小値を指定します。
419 大抵のシステムでは 500100 が一般的です。
420 デフォルト値は 100 です。</dd>
422 <dt><code>--with-suexec-gidmin=<em>GID</em></code></dt>
424 <dd>suEXEC の対象グループとして許される GID
425 の最小値を指定します。大抵のシステムでは 100 が一般的なので、
426 デフォルト値としても 100 が使われています。</dd>
428 <dt><code>--with-suexec-logfile=<em>FILE</em></code></dt>
430 <dd>suEXEC の処理とエラーが記録されるファイル名を指定します。
431 (監査やデバッグ目的に有用)
432 デフォルトではログファイルは "suexec_log" という名前で、
433 標準のログファイルディレクトリ (<code>--logfiledir</code>) に置かれます。
434 </dd>
436 <dt><code>--with-suexec-safepath=<em>PATH</em></code></dt>
438 <dd>CGI 実行ファイルに渡される安全な PATH 環境変数です。
439 デフォルト値は "/usr/local/bin:/usr/bin:/bin" です。
440 </dd>
441 </dl>
443 <p><strong>suEXEC wrapper
444 のコンパイルとインストール</strong><br />
445 <code>--enable-suexec</code> オプションで suEXEC 機能を有効にすると、
446 "make" コマンドを実行した時に <code>suexec</code> のバイナリ (Apache 自体も)
447 が自動的に作成されます。
448 <br />
449 すべての構成要素が作成されると、それらのインストールには
450 <code>make install</code> コマンドが実行できます。バイナリイメージの <code>suexec</code>
451 <code>--sbindir</code> オプションで指定されたディレクトリにインストールされます。
452 デフォルトの場所は "/usr/local/apache/bin/suexec" です。<br />
453 インストール時には <strong><em>root</em></strong>
454 権限が必要なので注意してください。wrapper がユーザ ID
455 を設定するために、所有者 <code><em>root</em></code>
456 でのセットユーザ ID
457 ビットをそのファイルのモードに設定しなければなりません。
458 </p>
460 <p><strong>安全なパーミッションを設定する</strong><br />
461 suEXEC ラッパーは、<code>--with-suexec-caller</code> <code class="program"><a href="./programs/configure.html">configure</a></code>
462 オプションで指定した正しいユーザで起動されていることを確認しますが、
463 システム上でこのチェックが行なわれる前に、
464 suEXEC が呼ぶシステムやライブラリが脆弱である可能性は残ります。対抗策として、
465 一般に良い習慣ともされいますが、
466 ファイルシステムパーミッションを使って
467 Apache の実行時のグループのみが suEXEC を実行できるように
468 するのが良いでしょう。</p>
470 <p>たとえば、次のようにサーバが設定されていたとします。</p>
472 <div class="example"><p><code>
473 User www<br />
474 Group webgroup<br />
475 </code></p></div>
477 <p><code class="program"><a href="./programs/suexec.html">suexec</a></code>"/usr/local/apache2/bin/suexec"
478 にインストールされていた場合、次のように設定する必要があります。</p>
480 <div class="example"><p><code>
481 chgrp webgroup /usr/local/apache2/bin/suexec<br />
482 chmod 4750 /usr/local/apache2/bin/suexec<br />
483 </code></p></div>
485 <p>これで Apache が実行されるグループのみが
486 suEXEC ラッパーを実行できるということを
487 確証します。</p>
488 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
489 <div class="section">
490 <h2><a name="enable" id="enable">suEXEC
491 の有効化と無効化</a></h2>
493 <p>起動時に、Apache は <code>--sbindir</code>
494 オプションで設定されたディレクトリで
495 <code>suexec</code> を探します
496 (デフォルトは "/usr/local/apache/sbin/suexec") 。
497 適切に設定された suEXEC がみつかると、
498 エラーログに以下のメッセージが出力されます。</p>
500 <div class="example"><p><code>
501 [notice] suEXEC mechanism enabled (wrapper: <var>/path/to/suexec</var>)
502 </code></p></div>
504 <p>サーバ起動時にこのメッセージが出ない場合、
505 大抵はサーバが想定した場所で wrapper プログラムが見つからなかったか、
506 <em>setuid root</em> としてインストールされていないかです。</p>
508 <p>suEXEC の仕組みを使用するのが初めてで、Apache が既に動作中であれば、
509 Apache を kill して、再起動しなければなりません。HUP シグナルや
510 USR1 シグナルによる単純な再起動では不十分です。</p>
511 <p>suEXEC を無効にする場合は、<code>suexec</code> ファイルを削除してから
512 Apache を kill して再起動します。
513 </p>
514 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
515 <div class="section">
516 <h2><a name="usage" id="usage">suEXEC の使用</a></h2>
518 <p>CGI プログラムへのリクエストが suEXEC ラッパーを呼ぶのは、
519 <code class="directive"><a href="./mod/mod_suexec.html#suexecusergroup">SuexecUserGroup</a></code> ディレクティブを
520 含むバーチャルホストへのリクエストか、<code class="module"><a href="./mod/mod_userdir.html">mod_userdir</a></code> により
521 処理されたリクエストの場合に限ります。</p>
523 <p><strong>仮想ホスト:</strong><br />
524 suEXEC wrapper の使い方として、
525 <code class="directive"><a href="./mod/core.html#virtualhost">VirtualHost</a></code> 設定での
526 <code class="directive"><a href="./mod/mod_suexec.html#suexecusergroup">SuexecUserGroup</a></code>
527 ディレクティブを通したものがあります。
528 このディレクティブをメインサーバのユーザ ID
529 と異なるものにすると、CGI リソースへのすべてのリクエストは、その
530 <code class="directive"><a href="./mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> で指定された <em>User</em>
531 <em>Group</em> として実行されます。<code class="directive"><a href="./mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>
532 でこのディレクティブが指定されていない場合、
533 メインサーバのユーザ ID が想定されます。</p>
535 <p><strong>ユーザディレクトリ:</strong><br />
536 <code class="module"><a href="./mod/mod_userdir.html">mod_userdir</a></code> により処理されたリクエストは
537 リクエストされたユーザディレクトリのユーザ ID で CGI プログラムを
538 実行するために suEXEC ラッパーを呼びます。
539 この機能を動作させるために必要なことは、CGI
540 をそのユーザで実行できること、そのスクリプトが上記の<a href="#model">セキュリティ検査</a>をパスできることです。
541 <a href="#install">コンパイル
542 時のオプション</a> <code>--with-suexec-userdir</code> も参照してください。</p>
543 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
544 <div class="section">
545 <h2><a name="debug" id="debug">suEXEC のデバッグ</a></h2>
547 <p>suEXEC wrapper は、上記で述べた <code>--with-suexec-logfile</code>
548 オプションで指定されたファイルにログ情報を記録します。
549 wrapper を適切に設定、インストールできていると思う場合、
550 どこで迷っているか見ようとするならこのログとサーバの
551 エラーログを見るとよいでしょう。</p>
552 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
553 <div class="section">
554 <h2><a name="jabberwock" id="jabberwock">とかげに注意: 警告と事例</a></h2>
556 <p><strong>注意!</strong>
557 この章は完全ではありません。この章の最新改訂版については、
558 Apache グループの<a href="http://httpd.apache.org/docs/trunk/suexec.html">
559 オンラインドキュメント</a>版を参照してください。
560 </p>
562 <p>サーバの設定に制限をもうける wrapper について、
563 いくつか興味深い点があります。suEXEC に関する "バグ"
564 を報告する前にこれらを確認してください。</p>
566 <ul>
567 <li><strong>suEXEC の興味深い点</strong></li>
569 <li>階層構造の制限
572 <p class="indent">
573 セキュリティと効率の理由から、<code>suEXEC</code> の全てのリクエストは
574 仮想ホストへのリクエストにおける最上位のドキュメントルート内か、
575 ユーザディレクトリへのリクエストにおける個々のユーザの最上位の
576 ドキュメントルート内に残らなければなりません。
577 例えば、四つの仮想ホストを設定している場合、
578 仮想ホストの suEXEC に有利なように、メインの Apache
579 ドキュメント階層の外側に全ての仮想ホストのドキュメントルートを
580 構築する必要があります。(例は後日記載)
581 </p>
582 </li>
584 <li>suEXEC の PATH 環境変数
587 <p class="indent">
588 これを変更するのは危険です。この指定に含まれる各パスが
589 <strong>信頼できる</strong>
590 ディレクトリであることを確認してください。
591 世界からのアクセスにより、誰かがホスト上でトロイの木馬
592 を実行できるようにはしたくないでしょう。
593 </p>
594 </li>
596 <li>suEXEC コードの改造
599 <p class="indent">
600 繰り返しますが、何をやろうとしているか把握せずにこれをやると
601 <strong>大きな問題</strong>を引き起こしかねません。
602 可能な限り避けてください。
603 </p>
604 </li>
605 </ul>
606 </div></div>
607 <div class="bottomlang">
608 <p><span>言語: </span><a href="./en/suexec.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
609 <a href="./fr/suexec.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
610 <a href="./ja/suexec.html" title="Japanese">&nbsp;ja&nbsp;</a> |
611 <a href="./ko/suexec.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
612 <a href="./tr/suexec.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
613 </div><div id="footer">
614 <p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
615 <p class="menu"><a href="./mod/">モジュール</a> | <a href="./mod/directives.html">ディレクティブ</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">用語</a> | <a href="./sitemap.html">サイトマップ</a></p></div>
616 </body></html>