github.com/krum110487/go-htaccess@v0.0.0-20240316004156-60641c8e7598/tests/data/apache_2_2_34/manual/suexec.html.ja.utf8 (about)

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