<?xml version="1.0" encoding="EUC-KR" ?>
<!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="./style/manual.ko.xsl"?>
<!-- English Revision: 106090:698397 (outdated) -->

<!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
 this work for additional information regarding copyright ownership.
 The ASF licenses this file to You under the Apache License, Version 2.0
 (the "License"); you may not use this file except in compliance with
 the License.  You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.
-->

<manualpage metafile="suexec.xml.meta">

  <title>suEXEC Áö¿ø</title>

  <summary>
    <p><strong>suEXEC</strong> ±â´ÉÀº ¾ÆÆÄÄ¡°¡ <strong>CGI</strong>¿Í
    <strong>SSI</strong> ÇÁ·Î±×·¥À» À¥¼­¹ö¸¦ ½ÇÇàÇÑ »ç¿ëÀÚ ID°¡
    ¾Æ´Ñ ´Ù¸¥ »ç¿ëÀÚ ID·Î ½ÇÇàÇÏµµ·Ï ÇÑ´Ù. º¸Åë CGI³ª SSI ÇÁ·Î±×·¥À»
    ½ÇÇàÇÏ¸é À¥¼­¹ö¸¦ ½ÇÇàÇÑ »ç¿ëÀÚ¿Í °°Àº »ç¿ëÀÚ·Î ½ÇÇàÇÑ´Ù.</p>

    <p>ÀÌ ±â´ÉÀ» ÀûÀýÈ÷ »ç¿ëÇÏ¸é »ç¿ëÀÚ°¡ Á÷Á¢ CGI³ª SSI ÇÁ·Î±×·¥À»
    °³¹ßÇÏ°í ½ÇÇàÇÒ¶§ ¹ß»ýÇÒ ¼ö ÀÖ´Â º¸¾ÈÀ§ÇèÀ» »ó´çÈ÷ ÁÙÀÏ
    ¼ö ÀÖ´Ù. ±×·¯³ª suEXEC°¡ ºÎÀûÀýÇÏ°Ô ¼³Á¤µÇ¸é ¸¹Àº ¹®Á¦¿Í
    ÄÄÇ»ÅÍ¿¡ »õ·Î¿î º¸¾È ÇãÁ¡À» ¸¸µé ¼ö ÀÖ´Ù. ¸¸¾à <em>setuid root</em>
    ÇÁ·Î±×·¥°ú ÀÌ·± ÇÁ·Î±×·¥ÀÇ º¸¾È ¹®Á¦¿¡ »ý¼ÒÇÏ´Ù¸é suEXEC¸¦
    »ç¿ëÇÏÁö¾Ê±æ Áø½ÉÀ¸·Î ¹Ù¶õ´Ù.</p>
  </summary>

<section id="before"><title>½ÃÀÛÇÏ±â Àü¿¡</title>

    <p>½ÃÀÛÇÏ±â Àü¿¡ ¿ì¼± ¾ÆÆÄÄ¡±×·ì°ú ÀÌ ¹®¼­ÀÇ °¡Á¤À» ¹àÈù´Ù.</p>

    <p>¸ÕÀú <strong>setuid</strong>¿Í <strong>setgid</strong>
    ±â´ÉÀÌ °¡´ÉÇÑ À¯´Ð½º·ù ¿î¿µÃ¼Á¦¸¦ »ç¿ëÇÑ´Ù°í °¡Á¤ÇÑ´Ù. ¸ðµç
    ¸í·É¾î ¿¹µéµµ °°Àº °¡Á¤À» ÇÑ´Ù. suEXEC¸¦ Áö¿øÇÏ´Â ´Ù¸¥ ÇÃ·¡ÆûÀ»
    »ç¿ëÇÏ´Ù¸é ¼³Á¤ÀÌ ´Ù¸¦ ¼ö ÀÖ´Ù.</p>

    <p>µÎ¹øÂ°, ´ç½ÅÀÌ ÄÄÇ»ÅÍ º¸¾ÈÀÇ ±âº» °³³ä°ú °ü¸®¿¡ ÀÍ¼÷ÇÏ´Ù°í
    °¡Á¤ÇÑ´Ù. ¿©±â¿¡´Â <strong>setuid/setgid</strong> ±â´É°ú
    ÀÌµéÀÌ ½Ã½ºÅÛ°ú º¸¾È¿¡ ¹ÌÄ¡´Â ¿©·¯ ¿µÇâ¿¡ ´ëÇÑ ÀÌÇØ°¡ Æ÷ÇÔµÈ´Ù.</p>

    <p>¼¼¹øÂ°, suEXEC ÄÚµåÀÇ <strong>¼öÁ¤ÇÏÁö¾ÊÀº</strong>
    ¹öÀüÀ» »ç¿ëÇÑ´Ù°í °¡Á¤ÇÑ´Ù. °³¹ßÀÚ¿Í ¿©·¯ º£Å¸Å×½ºÅÍµéÀº
    suEXEC¿Í °ü·ÃµÈ ¸ðµç ÄÚµå¸¦ Á¶½É½º·´°Ô Á¶»çÇÏ°í °Ë»çÇß´Ù.
    ÄÚµå¸¦ °£´ÜÇÏ°Ô ÇÏ°í È®½ÇÇÑ ¾ÈÀüÀ» º¸ÀåÇÏ±âÀ§ÇØ ¸ðµç ÁÖÀÇ¸¦
    ±â¿ï¿´´Ù. ÀÌ ÄÚµå¸¦ ¼öÁ¤ÇÏ¸é ¿¹»óÄ¡¸øÇÑ ¹®Á¦¿Í »õ·Î¿î º¸¾È
    À§ÇèÀÌ ¹ß»ýÇÒ ¼ö ÀÖ´Ù. º¸¾È ÇÁ·Î±×·¡¹Ö¿¡ ´ëÇØ ¸Å¿ì Àß ¾Ë°í
    ÄÚµå¸¦ »ìÆìº¸±âÀ§ÇØ ¾ÆÆÄÄ¡±×·ì°ú ÀÛ¾÷À» °øÀ¯ÇÒ ÀÇ»ç°¡ ¾ø´Ù¸é
    suEXEC ÄÚµå¸¦ ¼öÁ¤ÇÏÁö¾Ê±æ <strong>°­·ÂÈ÷</strong> ±ÇÇÑ´Ù.</p>

    <p>³×¹øÂ°ÀÌÀÚ ¸¶Áö¸·À¸·Î, ¾ÆÆÄÄ¡±×·ìÀº suEXEC¸¦ ¾ÆÆÄÄ¡
    ±âº»¼³Ä¡¿¡ Æ÷ÇÔÇÏÁö <strong>¾Ê±â·Î</strong> °áÁ¤Çß´Ù. °á±¹
    °ü¸®ÀÚ°¡ ÁÖÀÇ¸¦ ±â¿ï¿©¼­ suEXEC¸¦ ¼³Á¤ÇØ¾ß ÇÑ´Ù. suEXECÀÇ
    ¿©·¯ ¼³Á¤À» Àß °í·ÁÇÑÈÄ °ü¸®ÀÚ´Â ÀÏ¹ÝÀûÀÎ ¼³Ä¡¹æ¹ýÀ» suEXEC¸¦
    ¼³Ä¡ÇÒ ¼ö ÀÖ´Ù. suEXEC ±â´ÉÀ» »ç¿ëÇÏ´Â ½Ã½ºÅÛÀÇ º¸¾ÈÀ» Ã¥ÀÓÁö´Â
    °ü¸®ÀÚ´Â ÀÌ ¼³Á¤°ªµéÀ» ÁÖÀÇÀÖ°Ô »ìÆìº¸°í ÁöÁ¤ÇØ¾ß ÇÑ´Ù.
    ÀÌ·± »ó¼¼ÇÑ °úÁ¤Àº suEXEC¸¦ »ç¿ëÇÒ¸¸Å­ ÁÖÀÇÀÖ°í ´ÜÈ£ÇÑ 
    »ç¶÷¸¸ÀÌ suEXEC¸¦ »ç¿ëÇÏµµ·Ï ¾ÆÆÄÄ¡±×·ìÀÌ ¿øÇÏ±â ¶§¹®ÀÌ´Ù.</p>

    <p>¾ÆÁ÷µµ »ç¿ëÇÏ±æ ¿øÇÏ´Â°¡? ±×·±°¡? ÁÁ´Ù. ÀÌÁ¦ ½ÃÀÛÇÏÀÚ!</p>
</section>

<section id="model"><title>suEXEC º¸¾È¸ðµ¨</title>

    <p>suEXEC¸¦ ±¸¼ºÇÏ°í ¼³Ä¡ÇÏ±â Àü¿¡ ¿ì¸®´Â º¸¾È¸ðµ¨À» ¸ÕÀú
    ¼³¸íÇÑ´Ù. ÀÌ¸¦ ÅëÇØ Á¤È®È÷ suEXEC ¾È¿¡¼­´Â ¹«½¼ ÀÏÀÌ ÀÏ¾î³ª¸ç
    ½Ã½ºÅÛÀÇ º¸¾ÈÀ» À§ÇØ ¹«¾ùÀ» Á¶½ÉÇØ¾ß ÇÒÁö ´õ Àß ÀÌÇØÇÒ ¼ö
    ÀÖ´Ù.</p>

    <p><strong>suEXEC</strong>´Â ¾ÆÆÄÄ¡ À¥¼­¹ö°¡ ºÎ¸£´Â setuid
    "wrapper" ÇÁ·Î±×·¥À» ±â¹ÝÀ¸·Î ÇÑ´Ù. ÀÌ wrapper´Â °ü¸®ÀÚ°¡
    ÁÖ¼­¹ö¿Í ´Ù¸¥ userid·Î ½ÇÇàÇÏµµ·Ï ¼³Á¤ÇÑ CGI³ª SSI ÇÁ·Î±×·¥¿¡
    HTTP ¿äÃ»ÀÌ ¿À¸é ºÒ¸°´Ù. ÀÌ·± ¿äÃ»ÀÌ ¿À¸é ¾ÆÆÄÄ¡´Â suEXEC
    wrapper¿¡°Ô ÇÁ·Î±×·¥¸í°ú ÇÁ·Î±×·¥À» ½ÇÇàÇÒ »ç¿ëÀÚ¿Í ±×·ì
    ID¸¦ Á¦°øÇÑ´Ù.</p>

    <p>±×·¯¸é wrapper´Â ´ÙÀ½ °úÁ¤À» ÅëÇØ ¼º°ø°ú ½ÇÆÐ¸¦ °áÁ¤ÇÑ´Ù.
    ÀÌ Á¶°ÇÁß ÇÏ³ª¶óµµ ½ÇÆÐÇÏ¸é ÇÁ·Î±×·¥Àº ½ÇÆÐ·Î ±â·ÏµÇ°í ¿À·ù¸¦
    ³»¸ç Á¾·áÇÑ´Ù. ½ÇÆÐÇÏÁö ¾ÊÀ¸¸é °úÁ¤À» °è¼ÓÇÑ´Ù:</p>

    <ol>
      <li>
        <strong>wrapper¸¦ ½ÇÇàÇÏ´Â »ç¿ëÀÚ°¡ ½Ã½ºÅÛÀÇ Á¤»óÀûÀÎ
        »ç¿ëÀÚÀÎ°¡?</strong> 

        <p class="indent">
          wrapper¸¦ ½ÇÇàÇÏ´Â »ç¿ëÀÚ°¡ ½ÇÁ¦·Î ½Ã½ºÅÛÀÇ »ç¿ëÀÚÀÎÁö
          È®ÀÎÇÑ´Ù.
        </p>
     </li>

     <li>
        <strong>ÀûÀýÇÑ ¼öÀÇ ¾Æ±Ô¸ÕÆ®·Î wrapper¸¦ ½ÇÇàÇÏ´Â°¡?</strong>

        <p class="indent">
          wrapper´Â ÀûÀýÇÑ ¼öÀÇ ¾Æ±Ô¸ÕÆ®°¡ ÀÖ¾î¾ß¸¸ ½ÇÇàµÈ´Ù.
          ¾ÆÆÄÄ¡ À¥¼­¹ö°¡ ÀÌ °³¼ö¸¦ ¾È´Ù. wrapper°¡ ÀûÀýÇÑ ¼öÀÇ
          ¾Æ±Ô¸ÕÆ®¸¦ ¹ÞÁö¸øÇÏ¸é ÇØÅ·µÇ¾ú°Å³ª ¾ÆÆÄÄ¡ÀÇ suEXEC¿¡
          ¹º°¡ ¹®Á¦°¡ ÀÖ´Â °ÍÀÌ´Ù.
        </p>
      </li>

      <li>
        <strong>ÀÌ »ç¿ëÀÚ°¡ wrapper¸¦ ½ÇÇàÇÏµµ·Ï Çã¿ëµÇ¾ú³ª?</strong> 

        <p class="indent">
          ÀÌ »ç¿ëÀÚ°¡ wrapper¸¦ ½ÇÇàÇÏµµ·Ï Çã¿ëµÇ¾ú³ª? ¿ÀÁ÷
          ÇÑ »ç¿ëÀÚ(¾ÆÆÄÄ¡ »ç¿ëÀÚ)¸¸ÀÌ ÀÌ ÇÁ·Î±×·¥À» ½ÇÇàÇÒ
          ¼ö ÀÖ´Ù.
        </p>
      </li>

      <li>
        <strong>ÁöÁ¤ÇÑ CGI³ª SSI ÇÁ·Î±×·¥ÀÌ ¾ÈÀüÇÏÁö¾ÊÀº °èÃþÂüÁ¶¸¦
        °¡Áö´Â°¡?</strong>

        <p class="indent">
          ÁöÁ¤ÇÑ CGI³ª SSI ÇÁ·Î±×·¥ÀÌ '/'·Î ½ÃÀÛÇÏ°Å³ª µÞÂüÁ¶
          '..'À» °¡Áö´Â°¡? ÀÌµéÀ» »ç¿ëÇÒ ¼ö ¾ø´Ù. ÁöÁ¤ÇÑ CGI/SSI
          ÇÁ·Î±×·¥Àº suEXEC ¹®¼­ root (¾Æ·¡
          <code>--with-suexec-docroot=<em>DIR</em></code> Âü°í)
          ³»¿¡ ÀÖ¾î¾ß ÇÑ´Ù.
        </p>
      </li>

      <li>
        <strong>ÁöÁ¤ÇÑ »ç¿ëÀÚ¸íÀÌ À¯È¿ÇÑ°¡?</strong> 

        <p class="indent">
          ÁöÁ¤ÇÑ »ç¿ëÀÚ°¡ Á¸ÀçÇÏ´Â°¡?
        </p>
      </li>

      <li>
        <strong>ÁöÁ¤ÇÑ ±×·ì¸íÀÌ À¯È¿ÇÑ°¡?</strong> 

        <p class="indent">
          ÁöÁ¤ÇÑ ±×·ìÀÌ Á¸ÀçÇÏ´Â°¡?
        </p>
      </li>

      <li>
        <strong>ÁöÁ¤ÇÑ »ç¿ëÀÚ°¡ superuser°¡ <em>¾Æ´Ñ°¡</em>?</strong>
        

        <p class="indent">
          ÇöÀç suEXEC´Â <code><em>root</em></code>°¡ CGI/SSI
          ÇÁ·Î±×·¥À» ½ÇÇàÇÒ ¼ö ¾øµµ·Ï ÇÑ´Ù.
        </p>
      </li>

      <li>
        <strong>ÁöÁ¤ÇÑ userid°¡ ÃÖ¼Ò ID ¼ýÀÚº¸´Ù <em>Å«°¡</em>?</strong>

        <p class="indent">
          ¼³Á¤¿¡¼­ ÃÖ¼Ò »ç¿ëÀÚ ID ¼ýÀÚ¸¦ ÁöÁ¤ÇÑ´Ù. ±×·¡¼­ CGI/SSI
          ÇÁ·Î±×·¥À» ½ÇÇàÇÒ ¼ö ÀÖ´Â useridÀÇ ÃÖ¼ÒÄ¡¸¦ ÁöÁ¤ÇÒ
          ¼ö ÀÖ´Ù. "½Ã½ºÅÛ¿ë" °èÁ¤À» Á¦¿ÜÇÒ¶§ À¯¿ëÇÏ´Ù.
        </p>
      </li>

      <li>
        <strong>ÁöÁ¤ÇÑ ±×·ìÀÌ superuser ±×·ìÀÌ <em>¾Æ´Ñ°¡</em>?</strong> 

        <p class="indent">
          ÇöÀç suEXEC´Â <code><em>root</em></code> ±×·ìÀÌ CGI/SSI
          ÇÁ·Î±×·¥À» ½ÇÇàÇÒ ¼ö ¾øµµ·Ï ÇÑ´Ù.
        </p>
      </li>

      <li>
        <strong>ÁöÁ¤ÇÑ groupid°¡ ÃÖ¼Ò ID ¼ýÀÚº¸´Ù <em>Å«°¡</em>?</strong> 

        <p class="indent">
          ¼³Á¤¿¡¼­ ÃÖ¼Ò ±×·ì ID ¼ýÀÚ¸¦ ÁöÁ¤ÇÑ´Ù. ±×·¡¼­ CGI/SSI
          ÇÁ·Î±×·¥À» ½ÇÇàÇÒ ¼ö ÀÖ´Â groupidÀÇ ÃÖ¼ÒÄ¡¸¦ ÁöÁ¤ÇÒ
          ¼ö ÀÖ´Ù. "½Ã½ºÅÛ¿ë" ±×·ìÀ» Á¦¿ÜÇÒ¶§ À¯¿ëÇÏ´Ù.
        </p>
      </li>

      <li>
        <strong>wrapper°¡ ¼º°øÀûÀ¸·Î ÁöÁ¤ÇÑ »ç¿ëÀÚ¿Í ±×·ìÀÌ
        µÉ ¼ö ÀÖ´Â°¡?</strong>

        <p class="indent">
          ÀÌ ´Ü°è¿¡¼­ ÇÁ·Î±×·¥Àº setuid¿Í setgid È£ÃâÀ» ÇÏ¿©
          ÁöÁ¤ÇÑ »ç¿ëÀÚ¿Í ±×·ìÀÌ µÈ´Ù. ¶Ç, ±×·ì Á¢±Ù¸ñ·ÏÀº
          »ç¿ëÀÚ°¡ ÇØ´çµÈ ¸ðµç ±×·ìÀ¸·Î ÃÊ±âÈ­µÈ´Ù.
        </p>
      </li>

      <li>
        <strong>CGI/SSI ÇÁ·Î±×·¥ÀÌ ÀÖ´Â µð·ºÅä¸®·Î µð·ºÅä¸®¸¦
        º¯°æÇÒ ¼ö ÀÖ´Â°¡?</strong>

        <p class="indent">
          µð·ºÅä¸®°¡ Á¸ÀçÇÏÁö ¾Ê´Ù¸é ÆÄÀÏÀÌ ÀÖÀ» ¼ö ¾ø´Ù. ÀÌ°÷À¸·Î
          µð·ºÅä¸®¸¦ º¯°æÇÒ ¼ö ¾ø´Ù¸é µð·ºÅä¸®´Â Á¸ÀçÇÏÁö ¾ÊÀ»
          °ÍÀÌ´Ù.
        </p>
      </li>

      <li>
        <strong>µð·ºÅä¸®°¡ ¾ÆÆÄÄ¡ À¥°ø°£ ¾È¿¡ ÀÖ´Â°¡?</strong>

        <p class="indent">
          ¼­¹öÀÇ ÀÏ¹ÝÀûÀÎ ºÎºÐÀ» ¿äÃ»ÇÒ °æ¿ì ¿äÃ»ÇÏ´Â µð·ºÅä¸®°¡
          suEXEC ¹®¼­ root ¾Æ·¡ ÀÖ´Â°¡? UserDirÀ» ¿äÃ»ÇÒ °æ¿ì
          ¿äÃ»ÇÏ´Â µð·ºÅä¸®°¡ suEXEC userdir·Î ¼³Á¤ÇÑ (<a
          href="#install">suEXEC ¼³Á¤ ¿É¼Ç</a> Âü°í) µð·ºÅä¸®
          ¾Æ·¡¿¡ ÀÖ´Â°¡?
        </p>
      </li>

      <li>
        <strong>´Ù¸¥ ´©±¸µµ µð·ºÅä¸®¿¡ ¾²±â±ÇÇÑÀÌ <em>¾ø´Â°¡</em>?</strong>

        <p class="indent">
          µð·ºÅä¸®¸¦ ´Ù¸¥ »ç¶÷¿¡°Ô ¿­¾îµÎ±æ ¿øÇÏÁö¾Ê´Â´Ù. ¿ÀÁ÷
          ¼ÒÀ¯ÀÚ¸¸ÀÌ µð·ºÅä¸® ³»¿ëÀ» º¯°æÇÒ ¼ö ÀÖ´Ù.
        </p>
      </li>

      <li>
        <strong>ÁöÁ¤ÇÑ CGI/SSI ÇÁ·Î±×·¥ÀÌ Á¸ÀçÇÏ´Â°¡?</strong> 

        <p class="indent">
          Á¸ÀçÇÏÁö¾Ê´Ù¸é ½ÇÇàÇÒ ¼öµµ ¾ø´Ù.
        </p>
      </li>

      <li>
        <strong>´Ù¸¥ ´©±¸µµ ÁöÁ¤ÇÑ CGI/SSI ÇÁ·Î±×·¥¿¡ ¾²±â±ÇÇÑÀÌ
        <em>¾ø´Â°¡</em>?</strong>

        <p class="indent">
          ¼ÒÀ¯ÀÚ¿Ü ´©±¸µµ CGI/SSI ÇÁ·Î±×·¥À» º¯°æÇÏ±æ ¿øÇÏÁö¾Ê´Â´Ù.
        </p>
      </li>

      <li>
        <strong>ÁöÁ¤ÇÑ CGI/SSI ÇÁ·Î±×·¥ÀÌ setuid³ª setgid°¡
        <em>¾Æ´Ñ°¡</em>?</strong>

        <p class="indent">
          ¿ì¸®´Â ÇÁ·Î±×·¥ÀÌ ´Ù½Ã UID/GID¸¦ º¯°æÇÏ±æ ¿øÇÏÁö¾Ê´Â´Ù.
        </p>
      </li>

      <li>
        <strong>ÁöÁ¤ÇÑ »ç¿ëÀÚ/±×·ìÀÌ ÇÁ·Î±×·¥ÀÇ »ç¿ëÀÚ/±×·ì°ú °°Àº°¡?</strong>

        <p class="indent">
          »ç¿ëÀÚ°¡ ÆÄÀÏÀÇ ¼ÒÀ¯ÀÚÀÎ°¡?
        </p>
      </li>

      <li>
        <strong>¾ÈÀüÇÑ µ¿ÀÛÀ» À§ÇØ ÇÁ·Î¼¼½ºÀÇ È¯°æº¯¼ö¸¦ Ã»¼ÒÇÒ
        ¼ö ÀÖ´Â°¡?</strong>

        <p class="indent">
          suEXEC´Â (¼³Á¤¿¡¼­ Á¤ÀÇÇÑ) ¾ÈÀüÇÑ ½ÇÇà PATH¸¦ Àâ°í,
          (ÀÌ°Íµµ ¼³Á¤¿¡¼­ Á¤ÀÇ) ¾ÈÀüÇÑ È¯°æº¯¼ö ¸ñ·Ï¿¡ ¿­°ÅµÈ
          º¯¼ö¸¸ ³²±â°í ÇÁ·Î¼¼½ºÀÇ È¯°æº¯¼ö¸¦ Áö¿î´Ù.
        </p>
      </li>

      <li>
        <strong>¼º°øÀûÀ¸·Î ÁöÁ¤ÇÑ CGI/SSI ÇÁ·Î±×·¥À» ½ÇÇàÇÒ
        ¼ö ÀÖ´Â°¡?</strong> 

        <p class="indent">
          ¿©±â¼­ suEXEC°¡ ³¡³ª°í ÁöÁ¤ÇÑ CGI/SSI ÇÁ·Î±×·¥ÀÌ ½ÃÀÛÇÑ´Ù.
        </p>
      </li>
    </ol>

    <p>ÀÌ°ÍÀÌ suEXEC wrapper º¸¾È¸ðµ¨ÀÇ Ç¥ÁØ µ¿ÀÛÀÌ´Ù. ´Ù¼Ò
    ¾ö°ÝÇÏ°í CGI/SSI ¼³°è¿¡ »õ·Î¿î Á¦ÇÑÀÌ µÇÁö¸¸, º¸¾ÈÀ» ¿°µÎ¿¡
    µÎ°í ÇÑ´Ü°è¾¿ Á¶½É½º·´°Ô ¸¸µé¾îÁ³´Ù.</p>

    <p>ÀÌ º¸¾È ¸ðµ¨ÀÌ ¼­¹ö ¼³Á¤¿¡ ¾î¶² Á¦ÇÑÀ» ÁÖ´ÂÁö¿Í ÀûÀýÇÑ
    suEXEC ¼³Á¤À¸·Î ¾î¶² º¸¾È À§ÇèÀ» ÇÇÇÒ ¼ö ÀÖ´ÂÁö¿¡ ´ëÇØ ÀÌ
    ¹®¼­ÀÇ <a href="#jabberwock">"´Ù½Ã ÇÑ¹ø Á¶½ÉÇÏ¶ó"</a> ÀýÀ»
    Âü°íÇÏ¶ó.</p>
</section>

<section id="install"><title>suEXEC ±¸¼º°ú ¼³Ä¡</title>

    <p>ÀÌÁ¦ Àç¹ÌÀÖ´Â ³»¿ëÀÌ ½ÃÀÛÇÑ´Ù.</p>

    <p><strong>suEXEC ±¸¼º ¿É¼Ç</strong><br />
    </p>

    <dl>
      <dt><code>--enable-suexec</code></dt>

      <dd>ÀÌ ¿É¼ÇÀº ±âº»ÀûÀ¸·Î ¼³Ä¡µÇ°Å³ª È°¼ºÈ­µÇÁö¾Ê´Â suEXEC
      ±â´ÉÀ» È°¼ºÈ­ÇÑ´Ù. APACI°¡ suEXEC¸¦ ¹Þ¾ÆµéÀÌ·Á¸é
      <code>--enable-suexec</code> ¿É¼Ç¿Ü¿¡
      <code>--with-suexec-xxxxx</code> ¿É¼ÇÀÌ ÃÖ¼ÒÇÑ ÇÑ°³
      ÇÊ¿äÇÏ´Ù.</dd>

      <dt><code>--with-suexec-bin=<em>PATH</em></code></dt>

      <dd><code>suexec</code> ¹ÙÀÌ³Ê¸® °æ·Î´Â º¸¾È»ó ÀÌÀ¯·Î
      ¼­¹ö¿¡ ±â·ÏµÇ¾ß ÇÑ´Ù. °æ·Î ±âº»°ªÀ» ¹«½ÃÇÏ·Á¸é ÀÌ ¿É¼ÇÀ»
      »ç¿ëÇÑ´Ù. <em>¿¹¸¦ µé¾î</em>
      <code>--with-suexec-bin=/usr/sbin/suexec</code></dd>

      <dt><code>--with-suexec-caller=<em>UID</em></code></dt>

      <dd>º¸Åë ¾ÆÆÄÄ¡¸¦ ½ÇÇàÇÏ´Â <a
      href="mod/mpm_common.html#user">»ç¿ëÀÚ¸í</a>. ÇÁ·Î±×·¥À»
      ½ÇÇàÇÒ ¼ö ÀÖ´Â À¯ÀÏÇÑ »ç¿ëÀÚ´Ù.</dd>

      <dt><code>--with-suexec-userdir=<em>DIR</em></code></dt>

      <dd>suEXEC Á¢±ÙÀÌ Çã¿ëµÇ´Â »ç¿ëÀÚ È¨µð·ºÅä¸®ÀÇ ÇÏÀ§µð·ºÅä¸®¸¦
      ÁöÁ¤ÇÑ´Ù. ÀÌ µð·ºÅä¸®¿¡ ÀÖ´Â ¸ðµç ½ÇÇàÆÄÀÏÀ» »ç¿ëÀÚÀÇ
      suEXEC·Î ½ÇÇà¹Ç·Î, ¸ðµç ÇÁ·Î±×·¥ÀÌ "¾ÈÀüÇØ¾ß" ÇÑ´Ù. (¿¹¸¦
      µé¾î, °ª¿¡ "*"ÀÌ ¾ø´Â) "°£´ÜÇÑ" UserDir Áö½Ã¾î¸¦ »ç¿ëÇÑ´Ù¸é
      °°Àº °ªÀ» ¼³Á¤ÇØ¾ß ÇÑ´Ù. UserDir Áö½Ã¾î°¡ passwd ÆÄÀÏ¿¡
      ³ª¿Â »ç¿ëÀÚ È¨µð·ºÅä¸®¿Í ´Ù¸£¸é suEXEC´Â Á¤»óÀûÀ¸·Î
      ÀÛµ¿ÇÏÁö ¾Ê´Â´Ù. ±âº»°ªÀº "public_html"ÀÌ´Ù.<br />
      °¡»óÈ£½ºÆ®µéÀÌ °¢°¢ ´Ù¸¥ UserDirÀ» »ç¿ëÇÑ´Ù¸é ¸ðµÎ ÇÑ
      ºÎ¸ð µð·ºÅä¸® ¾È¿¡ ÀÖµµ·Ï Á¤ÀÇÇØ¾ß ÇÏ°í, ±× ºÎ¸ð µð·ºÅä¸®¸íÀ»
      ¿©±â Àû´Â´Ù. <strong>ÀÌ·¸°Ô Á¤ÀÇÇÏÁö ¾ÊÀ¸¸é, "~userdir"
      cgi ¿äÃ»ÀÌ ÀÛµ¿ÇÏÁö ¾Ê´Â´Ù!</strong></dd>

      <dt><code>--with-suexec-docroot=<em>DIR</em></code></dt>

      <dd>¾ÆÆÄÄ¡ÀÇ DocumentRoot¸¦ Á¤ÀÇÇÑ´Ù. ÀÌ´Â suEXEC°¡ »ç¿ëÇÒ
      ¼ö ÀÖ´Â (UserDirsÀ» Á¦¿ÜÇÑ) À¯ÀÏÇÑ °ø°£ÀÌ´Ù. ±âº» µð·ºÅä¸®´Â
      <code>--datadir</code> °ª¿¡ "/htdocs"À» ºÙÀÎ °ÍÀÌ´Ù.
      <em>¿¹¸¦ µé¾î</em> "<code>--datadir=/home/apache</code>"·Î
      ±¸¼ºÇß´Ù¸é suEXEC wrapper´Â document root·Î
      "/home/apache/htdocs" µð·ºÅä¸®¸¦ »ç¿ëÇÑ´Ù.</dd>

      <dt><code>--with-suexec-uidmin=<em>UID</em></code></dt>

      <dd>suEXEC¿¡¼­ ÁöÁ¤°¡´ÉÇÑ »ç¿ëÀÚÀÇ ÃÖ¼Ò UID¸¦ Á¤ÀÇÇÑ´Ù.
      ´ëºÎºÐÀÇ ½Ã½ºÅÛ¿¡¼­ 500ÀÌ³ª 100ÀÌ ÀûÀýÇÏ´Ù. ±âº»°ªÀº
      100ÀÌ´Ù.</dd>

      <dt><code>--with-suexec-gidmin=<em>GID</em></code></dt>

      <dd>suEXEC¿¡¼­ ÁöÁ¤°¡´ÉÇÑ ±×·ìÀÇ ÃÖ¼Ò GID¸¦ Á¤ÀÇÇÑ´Ù.
      ´ëºÎºÐÀÇ ½Ã½ºÅÛ¿¡¼­ 100ÀÌ ÀûÀýÇÏ¹Ç·Î ÀÌ °ªÀÌ ±âº»°ªÀÌ´Ù.</dd>

      <dt><code>--with-suexec-logfile=<em>FILE</em></code></dt>

      <dd>¸ðµç suEXEC ÀÛµ¿°ú ¿À·ù¸¦ (°¨½Ã³ª µð¹ö±ë ¸ñÀû¿¡ À¯¿ëÇÑ)
      ±â·ÏÇÒ ·Î±×ÆÄÀÏ¸íÀ» ÁöÁ¤ÇÑ´Ù. ±âº»ÀûÀ¸·Î ·Î±×ÆÄÀÏÀÇ ÀÌ¸§Àº
      "suexec_log"ÀÌ°í Ç¥ÁØ ·Î±×ÆÄÀÏ µð·ºÅä¸®¿¡
      (<code>--logfiledir</code>) À§Ä¡ÇÑ´Ù.</dd>

      <dt><code>--with-suexec-safepath=<em>PATH</em></code></dt>

      <dd>CGI ½ÇÇàÆÄÀÏ¿¡ ³Ñ°ÜÁú ¾ÈÀüÇÑ PATH È¯°æº¯¼ö¸¦ Á¤ÀÇÇÑ´Ù.
      ±âº»°ªÀº "/usr/local/bin:/usr/bin:/bin"ÀÌ´Ù.</dd>
    </dl>

    <p><strong>suEXEC wrapper¸¦ ÄÄÆÄÀÏÇÏ°í ¼³Ä¡ÇÏ±â</strong><br />
    <code>--enable-suexec</code> ¿É¼ÇÀ¸·Î suEXEC ±â´ÉÀ» °¡´ÉÇÏ°ÔÇÑ
    °æ¿ì <code>make</code> ¸í·É¾î¸¦ ½ÇÇàÇÏ¸é <code>suexec</code>
    ½ÇÇàÆÄÀÏÀÌ (¾ÆÆÄÄ¡¿Í ÇÔ²²) ÀÚµ¿À¸·Î ¸¸µé¾îÁø´Ù.<br />
    ¸ðµç°ÍÀ» ÄÄÆÄÀÏÇÑ ÈÄ <code>make install</code> ¸í·É¾î¸¦
    ½ÇÇàÇÏ¿© ¼³Ä¡ÇÒ ¼ö ÀÖ´Ù. ¹ÙÀÌ³Ê¸®ÆÄÀÏ <code>suexec</code>´Â
    <code>--sbindir</code> ¿É¼ÇÀ¸·Î ÁöÁ¤ÇÑ µð·ºÅä¸®¿¡ ¼³Ä¡µÈ´Ù.
    ±âº» À§Ä¡´Â "/usr/local/apache2/sbin/suexec"ÀÌ´Ù.<br />
    ¼³Ä¡ °úÁ¤¿¡ <strong><em>root ±ÇÇÑ</em></strong>ÀÌ ÇÊ¿äÇÔÀ»
    ÁÖÀÇÇÏ¶ó. wrapper°¡ »ç¿ëÀÚ ID¸¦ ¼³Á¤ÇÏ±âÀ§ÇØ¼­´Â ¼ÒÀ¯ÀÚ°¡
    <code><em>root</em></code>ÀÌ°í ÆÄÀÏ¸ðµå·Î setuserid ½ÇÇàºñÆ®°¡
    ¼³Á¤µÇ¾ß ÇÑ´Ù.</p>

    <p><strong>ÆíÁýÁõÀûÀÎ ±ÇÇÑ¼³Á¤</strong><br />
    suEXEC wrapper´Â ÀÚ½ÅÀ» ½ÇÇàÇÑ »ç¿ëÀÚ°¡ ±¸¼º ¿É¼Ç
    <code>--with-suexec-caller</code>·Î ÁöÁ¤ÇÑ ¿Ã¹Ù¸¥ »ç¿ëÀÚÀÎÁö
    È®ÀÎÀ» ÇÏÁö¸¸, ÀÌ °Ë»ç ÀÌÀü¿¡ suEXEC°¡ »ç¿ëÇÏ´Â ½Ã½ºÅÛÈ£Ãâ
    È¤Àº ¶óÀÌºê·¯¸® ÇÔ¼ö°¡ Á¶ÀÛµÇ¾úÀ» ¼ö ÀÖ´Ù. ÀÌ¸¦ ´ëºñÇÏ¸ç
    ÀÏ¹ÝÀûÀ¸·Î ÁÁÀº ½À°üÀÌ¹Ç·Î ¿ÀÁ÷ ¾ÆÆÄÄ¡¸¦ ½ÇÇàÇÏ´Â ±×·ì¸¸ÀÌ
    suEXEC¸¦ ½ÇÇàÇÒ ¼ö ÀÖµµ·Ï ÆÄÀÏ½Ã½ºÅÛ ±ÇÇÑÀ» ÁöÁ¤ÇØ¾ß ÇÑ´Ù.</p>

    <p>¿¹¸¦ µé¾î, À¥¼­¹ö¸¦ ´ÙÀ½°ú °°ÀÌ ¼³Á¤ÇÏ°í:</p>

<example>
    User www<br />
    Group webgroup<br />
</example>

    <p><code>suexec</code>¸¦ "/usr/local/apache2/sbin/suexec"¿¡
    ¼³Ä¡ÇÏ¿´´Ù¸é, ´ÙÀ½À» ½ÇÇàÇØ¾ß ÇÑ´Ù:</p>

<example>
    chgrp webgroup /usr/local/apache2/bin/suexec<br />
    chmod 4750 /usr/local/apache2/bin/suexec<br />
</example>

    <p>±×·¯¸é ¿ÀÁ÷ ¾ÆÆÄÄ¡¸¦ ½ÇÇàÇÏ´Â ±×·ì¸¸ÀÌ suEXEC wrapper¸¦
    ½ÇÇàÇÒ ¼ö ÀÖ´Ù.</p>
</section>

<section id="enable"><title>suEXEC Å°°í ²ô±â</title>

    <p>¾ÆÆÄÄ¡´Â ½ÃÀÛÇÒ¶§ <code>--sbindir</code> ¿É¼ÇÀ¸·Î ÁöÁ¤ÇÑ
    µð·ºÅä¸®¿¡¼­ <code>suexec</code> ÆÄÀÏÀ» (±âº»°ª
    "/usr/local/apache2/sbin/suexec") Ã£´Â´Ù. ¾ÆÆÄÄ¡°¡
    Á¤»óÀûÀ¸·Î ±¸¼ºµÈ suEXEC wrapper¸¦ ¹ß°ßÇÏ¸é ¿À·ù ·Î±×(error
    log)¿¡ ´ÙÀ½°ú °°ÀÌ Ãâ·ÂÇÑ´Ù:</p>

<example>
    [notice] suEXEC mechanism enabled (wrapper: <em>/path/to/suexec</em>)
</example>

    <p>¼­¹ö ½ÃÀÛÁß¿¡ ÀÌ·± ¹®±¸¸¦ ¾ø´Ù¸é ¼­¹ö´Â ±â´ëÇÑ Àå¼Ò¿¡¼­
    wrapper ÇÁ·Î±×·¥À» Ã£Áö ¸øÇß°Å³ª, ½ÇÇàÆÄÀÏÀÌ <em>setuid
    root</em>·Î ¼³Ä¡µÇÁö¾Ê¾Ò±â ¶§¹®ÀÏ °ÍÀÌ´Ù.</p>

     <p>Ã³À½À¸·Î suEXEC ±â´ÉÀ» »ç¿ëÇÏ°í ½Í°í ÀÌ¹Ì ¾ÆÆÄÄ¡ ¼­¹ö°¡
     ½ÇÇàÁßÀÌ¶ó¸é, ¾ÆÆÄÄ¡¸¦ Á×ÀÌ°í ´Ù½Ã ½ÃÀÛÇØ¾ß ÇÑ´Ù. °£´ÜÈ÷
     HUPÀÌ³ª USR1 ½Ã±×³Î·Î Àç½ÃÀÛÇÏ´Â °ÍÀ¸·Î´Â ÃæºÐÇÏÁö ¾Ê´Ù. </p>
     <p>suEXEC¸¦ ¾È»ç¿ëÇÏ·Á¸é <code>suexec</code> ÆÄÀÏÀ» Áö¿îÈÄ
     ¾ÆÆÄÄ¡¸¦ Á×ÀÌ°í Àç½ÃÀÛÇØ¾ß ÇÑ´Ù. </p>
</section>

<section id="usage"><title>suEXEC »ç¿ëÇÏ±â</title>

    <p>CGI ÇÁ·Î±×·¥ ¿äÃ»ÀÇ °æ¿ì <directive
    module="mod_suexec">SuexecUserGroup</directive> Áö½Ã¾î¸¦
    »ç¿ëÇÑ °¡»óÈ£½ºÆ®¿¡ ¿äÃ»À» ÇÏ¿´°Å³ª <module>mod_userdir</module>ÀÌ
    ¿äÃ»À» Ã³¸®ÇÏ´Â °æ¿ì¿¡¸¸ suEXEC wrapper¸¦ È£ÃâÇÑ´Ù.</p>

    <p><strong>°¡»óÈ£½ºÆ®:</strong><br /> suEXEC wrapper¸¦
    »ç¿ëÇÏ´Â ÇÑ°¡Áö ¹æ¹ýÀº <directive
    module="core">VirtualHost</directive> Á¤ÀÇ¿¡ <directive
    module="mod_suexec">SuexecUserGroup</directive> Áö½Ã¾î¸¦
    »ç¿ëÇÏ´Â °ÍÀÌ´Ù. ÀÌ Áö½Ã¾î¸¦ ÁÖ¼­¹ö »ç¿ëÀÚ ID¿Í ´Ù¸£°Ô
    ¼³Á¤ÇÏ¸é CGI ÀÚ¿øÀÇ ¸ðµç ¿äÃ»ÀÌ <directive
    module="core" type="section">VirtualHost</directive>¿¡¼­
    ÁöÁ¤ÇÑ <em>User</em>¿Í <em>Group</em>À¸·Î ½ÇÇàµÈ´Ù. ÀÌ
    Áö½Ã¾îµéÀÌ <directive module="core"
    type="section">VirtualHost</directive>¿¡ ¾øÀ¸¸é ÁÖ¼­¹ö
    userid¸¦ »ç¿ëÇÑ´Ù.</p>

    <p><strong>»ç¿ëÀÚ µð·ºÅä¸®:</strong><br />
     <module>mod_userdir</module>ÀÌ ¿äÃ»À» Ã³¸®ÇÑ´Ù¸é suEXEC
     wrapper¸¦ È£ÃâÇÏ¿©, ¿äÃ»ÇÑ »ç¿ëÀÚ µð·ºÅä¸®¿¡ ÇØ´çÇÏ´Â »ç¿ëÀÚ
     ID·Î CGI ÇÁ·Î±×·¥À» ½ÇÇàÇÑ´Ù. ÀÌ ±â´ÉÀÌ µ¿ÀÛÇÏ·Á¸é »ç¿ëÀÚ
     ID·Î CGI¸¦ ½ÇÇàÇÒ ¼ö ÀÖ°í ½ºÅ©¸³Æ®°¡ À§ÀÇ <a href="#model">º¸¾È
     °Ë»ç</a> Ç×¸ñÀ» ¸¸Á·ÇØ¾ß ÇÑ´Ù. <a href="#install">±¸¼º
     ¿É¼Ç</a> <code>--with-suexec-userdir</code>À» Âü°íÇÏ¶ó.</p> </section>

<section id="debug"><title>suEXEC µð¹ö±ëÇÏ±â</title>

    <p>suEXEC wrapper´Â ·Î±× Á¤º¸¸¦ À§¿¡¼­ ´Ù·é
    <code>--with-suexec-logfile</code> ¿É¼ÇÀ¸·Î ÁöÁ¤ÇÑ ÆÄÀÏ¿¡
    ¾´´Ù. wrapper¸¦ ¿Ã¹Ù·Î ±¸¼ºÇÏ°í ¼³Ä¡Çß´Ù¸é ¾îµð¼­ Àß¸øµÇ¾ú´ÂÁö
    ÀÌ ·Î±×ÆÄÀÏ¿Í ¼­¹öÀÇ error_log¸¦ »ìÆìºÁ¶ó.</p>

</section>

<section id="jabberwock"><title>´Ù½Ã ÇÑ¹ø Á¶½ÉÇÏ¶ó: °æ°í¿Í ¿¹Á¦</title>

    <p><strong>ÁÖÀÇ!</strong> ÀÌ ¼½¼ÇÀº ¿ÏÀüÇÏÁö ¾ÊÀ» ¼ö ÀÖ´Ù.
    ¾ÆÆÄÄ¡±×·ìÀÇ <a
    href="http://httpd.apache.org/docs/&httpd.docs;/suexec.html">¿Â¶óÀÎ
    ¹®¼­</a>¿¡¼­ ÀÌ ¹®¼­ÀÇ ÃÖ½ÅÆÇÀ» Âü°íÇÏ¶ó.</p>

    <p>wrapper°¡ ¼­¹ö ¼³Á¤À» Á¦¾àÇÏ´Â ¸î°¡Áö Èï¹Ì·Î¿î Á¡ÀÌ ÀÖ´Ù.
    suEXEC¿Í °ü·ÃµÈ "¹ö±×"¸¦ º¸°íÇÏ±â Àü¿¡ ÀÌµéÀ» »ìÆìº¸±æ ¹Ù¶õ´Ù.</p>

    <ul>
      <li><strong>suEXEC Á¦¾à »çÇ×</strong></li>

      <li>
        µð·ºÅä¸® ±¸Á¶ Á¦ÇÑ

        <p class="indent">
          º¸¾È°ú È¿À²¼ºÀ» À§ÇØ ¸ðµç suEXEC ¿äÃ»Àº °¡»óÈ£½ºÆ®ÀÇ
          °æ¿ì ÃÖ»óÀ§ document root È¤Àº userdir ¿äÃ»ÀÇ °æ¿ì
          ÃÖ»óÀ§ °³ÀÎ document root ¾È¿¡¼­ ¹ß»ýÇØ¾ß ÇÑ´Ù. ¿¹¸¦
          µé¾î, °¡»óÈ£½ºÆ® ³×°³¸¦ ¼³Á¤Çß´Ù¸é °¡»óÈ£½ºÆ®¿¡¼­
          suEXEC¸¦ ÀÌ¿ëÇÏ±âÀ§ÇØ °¡»óÈ£½ºÆ®ÀÇ document root¸¦
          ÁÖ ¾ÆÆÄÄ¡ ¹®¼­ °èÃþ±¸Á¶ ¹Û¿¡ ¼³Á¤ÇÒ ÇÊ¿ä°¡ ÀÖ´Ù.
          (¿¹Á¦´Â ´ÙÀ½¿¡.)
        </p>
      </li>

      <li>
        suEXECÀÇ PATH È¯°æº¯¼ö

        <p class="indent">
          º¯°æÇÏ¸é À§ÇèÇÒ ¼ö ÀÖ´Ù.  ¿©±â¿¡ Æ÷ÇÔÇÏ´Â ¸ðµç °æ·Î°¡
          <strong>¹ÏÀ» ¼ö ÀÖ´Â</strong> µð·ºÅä¸®ÀÎÁö È®ÀÎÇÏ¶ó. 
          ÀÌ Áö±¸»óÀÇ ´©±º°¡°¡ ±×°÷¿¡ ÀÖ´Â Æ®·ÎÀÌ¸ñ¸¶¸¦ ½ÇÇàÇÏ±æ
          ¿øÇÏÁö ¾ÊÀ» °ÍÀÌ´Ù.
        </p>
      </li>

      <li>
        suEXEC ÄÚµå ¼öÁ¤ÇÏ±â

        <p class="indent">
          ¹Ýº¹ÇØ¼­ ¸»ÇÏÁö¸¸, ´ç½ÅÀÌ ¹«¾ùÀ» ÇÏ´ÂÁö ¸ð¸£°í ½ÃµµÇÑ´Ù¸é
          <strong>Å« ¹®Á¦</strong>°¡ ¹ß»ýÇÒ ¼ö ÀÖ´Ù. ¾î¶² °æ¿ì¿¡µµ
          ¼öÁ¤ÇÏÁö¸¶¶ó.
        </p>
      </li>
    </ul>

</section>

</manualpage>
