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