blob: b883c0df13a816b5dbdcaa7b0c3de625db82ded2 [file] [log] [blame]
<?xml version="1.0" encoding="iso-2022-jp"?>
<!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="./style/manual.ja.xsl"?>
<!-- English Revision: 1.15 -->
<!--
Copyright 2002-2004 The Apache Software Foundation
Licensed 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 $B%5%]!<%H(B</title>
<summary>
<p><strong>suEXEC</strong>
$B5!G=$K$h$j!"(BApache $B%f!<%6$O(B Web $B%5!<%P$r<B9T$7$F$$$k%f!<%6(B ID $B$H$O(B
$B0[$J$k%f!<%6(B ID $B$G(B <strong>CGI</strong> $B%W%m%0%i%`$d(B <strong>SSI</strong>
$B%W%m%0%i%`$r<B9T$9$k$3$H$,$G$-$^$9!#(BCGI $B%W%m%0%i%`$^$?$O(B SSI
$B%W%m%0%i%`$r<B9T$9$k>l9g!"DL>o$O(B web $B%5!<%P$HF1$8%f!<%6$G<B9T$5$l$^$9!#(B
</p>
<p>$BE,@Z$K;HMQ$9$k$H!"$3$N5!G=$K$h$j%f!<%6$,8DJL$N(B CGI
$B$d(B SSI $B%W%m%0%i%`$r3+H/$7<B9T$9$k$3$H$G@8$8$k%;%-%e%j%F%#>e$N4m81$r!"(B
$B$+$J$j8:$i$9$3$H$,$G$-$^$9!#$7$+$7!"(BsuEXEC $B$N@_Dj$,ITE,@Z$@$H!"(B
$BB?$/$NLdBj$,@8$8!"$"$J$?$N%3%s%T%e!<%?$K?7$7$$%;%-%e%j%F%#%[!<%k$r(B
$B:n$C$F$7$^$&2DG=@-$,$"$j$^$9!#$"$J$?$,(B <em>setuid root</em>
$B$5$l$?%W%m%0%i%`$H!"$=$l$i$+$i@8$8$k%;%-%e%j%F%#>e$NLdBj$N4IM}$K(B
$B>\$7$/$J$$$h$&$J$i!"(BsuEXEC $B$N;HMQ$r8!F$$7$J$$$h$&$K6/$/?d>)$7$^$9!#(B
</p>
</summary>
<section id="before"><title>$B;O$a$kA0$K(B</title>
<p>$B$3$NJ8=q$N@hF,$KHt$VA0$K!"(BApache
$B%0%k!<%W$H$3$NJ8=q$G$N2>Dj$rCN$C$F$*$/$Y$-$G$7$g$&!#(B
</p>
<p>$BBh(B 1 $B$K!"$"$J$?$,(B <strong>setuid</strong> $B$H(B
<strong>setgid</strong> $BA`:n$,2DG=$J(B UNIX
$BM3Mh$N%*%Z%l!<%F%#%s%0%7%9%F%`$r;H$C$F$$$k$3$H$rA[Dj$7$F$$$^$9!#(B
$B$3$l$O!"$9$Y$F$N%3%^%s%INc$K$"$F$O$^$j$^$9!#(B
$B$=$NB>$N%W%i%C%H%[!<%`$G$O!"$b$7(B suEXEC
$B$,%5%]!<%H$5$l$F$$$?$H$7$F$b@_Dj$O0[$J$k$+$b$7$l$^$;$s!#(B</p>
<p>$BBh(B 2 $B$K!"$"$J$?$,;HMQCf$N%3%s%T%e!<%?$N(B
$B%;%-%e%j%F%#$K4X$9$k4pK\E*$J35G0$H!"$=$l$i$N4IM}$K$D$$$F>\$7$$$3$H$r(B
$BA[Dj$7$F$$$^$9!#$3$l$O!"(B<strong>setuid/setgid</strong>
$BA`:n!"$"$J$?$N%7%9%F%`>e$G$N$=$NA`:n$K$h$kMM!9$J8z2L!"(B
$B%;%-%e%j%F%#%l%Y%k$K$D$$$F$"$J$?$,M}2r$7$F$$$k$H$$$&$3$H$r4^$_$^$9!#(B
</p>
<p>$BBh(B 3 $B$K!"(B<strong>$B2~B$$5$l$F$$$J$$(B</strong> suEXEC
$B%3!<%I$N;HMQ$rA[Dj$7$F$$$^$9!#(BsuEXEC $B$N%3!<%I$O!"(B
$BB?$/$N%Y!<%?%F%9%?$@$1$G$J$/!"3+H/<T$K$h$C$F$bCm0U?<$/@:::$5$l(B
$B%F%9%H$5$l$F$$$^$9!#$=$l$i$NCm0U$K$h$j!"4J7i$G?.Mj$G$-$k0BA4$J(B
$B%3!<%I$N4pHW$,J]>Z$5$l$^$9!#$3$N%3!<%I$r2~JQ$9$k$3$H$G!"(B
$BM=4|$5$l$J$$LdBj$d?7$7$$%;%-%e%j%F%#>e$N4m81$,@8$8$k$3$H$,$"$j$^$9!#(B
$B%;%-%e%j%F%#%W%m%0%i%_%s%0$N>\:Y$KDL$8$F$$$F!"(B
$B:#8e$N8!F$$N$?$a$K@.2L$r(B Apache
$B%0%k!<%W$H6&M-$7$h$&$H;W$&$N$G$J$1$l$P!"(BsuEXEC
$B%3!<%I$OJQ$($J$$$3$H$r(B <strong>$B6/$/(B</strong>$B?d>)$7$^$9!#(B</p>
<p>$BBh(B 4 $B$K!"$3$l$,:G8e$G$9$,!"(BsuEXEC $B$r(B Apache
$B$N%G%U%)%k%H%$%s%9%H!<%k$K$O(B<strong>$B4^$a$J$$(B</strong>$B$3$H$,(B
Apache $B%0%k!<%W$G7hDj$5$l$F$$$^$9!#$3$l$O!"(BsuEXEC
$B$N@_Dj$K$O4IM}<T$N>\:Y$K$o$?$k?5=E$JCm0U$,I,MW$@$+$i$G$9!#(B
suEXEC $B$NMM!9$J@_Dj$K$D$$$F8!F$$,=*$o$l$P!"4IM}<T$O(B suEXEC
$B$rDL>o$N%$%s%9%H!<%kJ}K!$G%$%s%9%H!<%k$9$k$3$H$,$G$-$^$9!#(B
$B$3$l$i$N@_DjCM$O!"(BsuEXEC
$B5!G=$N;HMQCf$K%7%9%F%`%;%-%e%j%F%#$rE,@Z$KJ]$D$?$a$K!"(B
$B4IM}<T$K$h$C$F?5=E$K7hDj$5$l;XDj$5$l$k$3$H$,I,MW$G$9!#(B
$B$3$N>\:Y$J<j=g$K$h$j!"(BApache $B%0%k!<%W$O!"(BsuEXEC
$B$N%$%s%9%H!<%k$K$D$$$F!"Cm0U?<$/==J,$K8!F$$7$F$=$l$r;HMQ$9$k$3$H$r(B
$B7hDj$7$?>l9g$K8B$C$F$$$?$@$-$?$$$H9M$($F$$$^$9!#(B
</p>
<p>$B$=$l$G$b?J$_$^$9$+(B? $B$h$m$7$$!#$G$O!"@h$X?J$_$^$7$g$&(B!</p>
</section>
<section id="model"><title>suEXEC $B%;%-%e%j%F%#%b%G%k(B</title>
<p>suEXEC $B$N@_Dj$H%$%s%9%H!<%k$r;O$a$kA0$K!"(B
$B$^$:<BAu$7$h$&$H$7$F$$$k%;%-%e%j%F%#%b%G%k$K$D$$$FO@$8$F$*$-$^$9!#(B
$B$=$l$K$O!"(BsuEXEC $B$NFbIt$G9T$J$o$l$F$$$k$3$H!"(B
$B%7%9%F%`$N%;%-%e%j%F%#$rJ]>Z$9$k$?$a$K7Y9p$5$l$k$3$H$r(B
$B$h$/M}2r$7$F$*$$$?J}$,$h$$$G$7$g$&!#(B</p>
<p><strong>suEXEC</strong> $B$O!"(BApache web
$B%5!<%P$+$i8F$S=P$5$l$k(B setuid $B$5$l$?(B "wrapper"
$B%W%m%0%i%`$,4pK\$H$J$C$F$$$^$9!#@_7W$7$?(B CGI$B!"$^$?$O(B SSI
$B%W%m%0%i%`$X$N(B HTTP $B%j%/%(%9%H$,$"$k$H!"$3$N(B wrapper
$B$,8F$S=P$5$l$^$9!#$3$N$h$&$J%j%/%(%9%H$,$"$k$H!"(BApache
$B$O$=$N%W%m%0%i%`$,<B9T$5$l$k:]$N%W%m%0%i%`L>$H%f!<%6(B ID $B$H%0%k!<%W(B
ID $B$r;XDj$7$F(B suEXEC wrapper $B$r<B9T$7$^$9!#(B
</p>
<p>$B$=$l$+$i!"(Bwrapper $B$O@.8y$^$?$O<:GT$r7hDj$9$k$?$a(B
$B0J2<$N=hM}$r9T$J$$$^$9!#$3$l$i$N>uBV$N$&$A0l$D$G$b<:GT$7$?>l9g!"(B
$B%W%m%0%i%`$O<:GT$r%m%0$K5-O?$7$F%(%i!<$G=*N;$7$^$9!#(B
$B$=$&$G$J$1$l$P!"8e$N=hM}$,B3$1$i$l$^$9!#(B</p>
<ol>
<li>
<strong>wrapper
$B$r<B9T$7$F$$$k%f!<%6$O$3$N%7%9%F%`$N@5Ev$J%f!<%6$+(B?</strong>
<p class="indent">
$B$3$l$O!"(Bwrapper $B$r<B9T$7$F$$$k%f!<%6$,(B
$BK\Ev$K%7%9%F%`$NMxMQ<T$G$"$k$3$H$rJ]>Z$9$k$?$a$G$9!#(B
</p>
</li>
<li>
<strong>wrapper $B$,E,@Z$J?t$N0z?t$G8F$S=P$5$l$?$+(B?</strong>
<p class="indent">
wrapper $B$OE,@Z$J?t$N0z?t$,M?$($i$l$?>l9g$K$N$_<B9T$5$l$^$9!#(B
$BE,@Z$J0z?t$N%U%)!<%^%C%H$O(B Apache Web $B%5!<%P$K2r<a$5$l$^$9!#(B
$BE,@Z$J?t$N0z?t$r<u$1<h$i$J$1$l$P!"967b$r$5$l$?$+(B
$B$"$J$?$N(B Apache $B%P%$%J%j$N(B suEXEC $B$NItJ,$,(B
$B$I$3$+$*$+$7$$2DG=@-$,$"$j$^$9!#(B
</p>
</li>
<li>
<strong>$B$3$N@5Ev$J%f!<%6$O(B wrapper
$B$N<B9T$r5v2D$5$l$F$$$k$+(B?</strong>
<p class="indent">
$B$3$N%f!<%6$O(B wrapper $B<B9T$r5v2D$5$l$?%f!<%6$G$9$+(B?
$B$?$@0l?M$N%f!<%6(B (Apache $B%f!<%6(B) $B$@$1$,!"(B
$B$3$N%W%m%0%i%`$N<B9T$r5v2D$5$l$^$9!#(B
</p>
</li>
<li>
<strong>$BBP>]$N(B CGI, SSI $B%W%m%0%i%`$,0BA4$G$J$$3,AX$N;2>H$r$7$F$$$k$+(B?
</strong>
<p class="indent">
$BBP>]$N(B CGI, SSI $B%W%m%0%i%`$,(B '/' $B$+$i;O$^$k!"$^$?$O(B
'..' $B$K$h$k;2>H$r9T$J$C$F$$$^$9$+(B? $B$3$l$i$O5v2D$5$l$^$;$s!#(B
$BBP>]$N%W%m%0%i%`$O(B suEXEC $B$N%I%-%e%a%s%H%k!<%H(B
($B2<5-$N(B <code>--with-suexec-docroot=<em>DIR</em></code> $B$r;2>H(B)
$BFb$KB8:_$7$J$1$l$P$J$j$^$;$s!#(B
</p>
</li>
<li>
<strong>$BBP>]$H$J$k%f!<%6L>$O@5Ev$J$b$N$+(B?</strong>
<p class="indent">
$BBP>]$H$J$k%f!<%6L>$OB8:_$7$F$$$^$9$+(B?
</p>
</li>
<li>
<strong>$BBP>]$H$J$k%0%k!<%WL>$O@5Ev$J$b$N$+(B?</strong>
<p class="indent">
$BBP>]$H$J$k%0%k!<%WL>$OB8:_$7$F$$$^$9$+(B?
</p>
</li>
<li>
<strong>$BL\E*$N%f!<%6$O%9!<%Q!<%f!<%6$G$O(B<em>$B$J$$(B</em>$B$+(B?
</strong>
<p class="indent">
$B:#$N$H$3$m!"(BsuEXEC $B$O(B <code><em>root</em></code> $B$K$h$k(B CGI/SSI
$B%W%m%0%i%`$N<B9T$r5v2D$7$F$$$^$;$s!#(B
</p>
</li>
<li>
<strong>$BBP>]$H$J$k%f!<%6(B ID $B$O!":G>.$N(B ID
$BHV9f$h$j$b(B<em>$BBg$-$$(B</em>$B$+(B? </strong>
<p class="indent">
$B:G>.%f!<%6(B ID $BHV9f$O@_Dj;~$K;XDj$5$l$^$9!#$3$l$O!"(B
CGI/SSI $B%W%m%0%i%`<B9T$r5v2D$5$l$k%f!<%6(B ID
$B$N$H$j$&$k:G>.CM$G$9!#$3$l$O(B
"system" $BMQ$N%"%+%&%s%H$rJD$a=P$9$N$KM-8z$G$9!#(B
</p>
</li>
<li>
<strong>$BBP>]$H$J$k%0%k!<%W$O%9!<%Q!<%f!<%6$N%0%k!<%W$G$O(B
<em>$B$J$$(B</em>$B$+(B?</strong>
<p class="indent">
$B:#$N$H$3$m!"(BsuEXEC $B$O(B 'root' $B%0%k!<%W$K$h$k(B CGI/SSI
$B%W%m%0%i%`$N<B9T$r5v2D$7$F$$$^$;$s!#(B
</p>
</li>
<li>
<strong>$BBP>]$H$J$k%0%k!<%W(B ID $B$O:G>.$N(B ID
$BHV9f$h$j$b(B<em>$BBg$-$$(B</em>$B$+(B?</strong>
<p class="indent">
$B:G>.%0%k!<%W(B ID $BHV9f$O@_Dj;~$K;XDj$5$l$^$9!#$3$l$O!"(B
CGI/SSI $B%W%m%0%i%`<B9T$r5v2D$5$l$k%0%k!<%W(B
ID $B$N$H$j$&$k:G>.CM$G$9!#(B
$B$3$l$O(B "system" $BMQ$N%0%k!<%W$rJD$a=P$9$N$KM-8z$G$9!#(B
</p>
</li>
<li>
<strong>wrapper $B$,@5>o$KBP>]$H$J$k%f!<%6$H%0%k!<%W$K$J$l$k$+(B?
</strong>
<p class="indent">
$B$3$3$G!"(Bsetuid $B$H(B setgid
$B$N5/F0$K$h$j%W%m%0%i%`$OBP>]$H$J$k%f!<%6$H%0%k!<%W$K$J$j$^$9!#(B
$B%0%k!<%W%"%/%;%9%j%9%H$O!"(B
$B%f!<%6$,B0$7$F$$$k$9$Y$F$N%0%k!<%W$G=i4|2=$5$l$^$9!#(B
</p>
</li>
<li>
<strong>CGI/SSI $B%W%m%0%i%`$,CV$+$l$F$$$k%G%#%l%/%H%j$K0\F0(B
(change directory) $B$G$-$k$+(B?</strong>
<p class="indent">
$B%G%#%l%/%H%j$,B8:_$7$J$$$J$i!"$=$N%U%!%$%k$bB8:_$7$J$$$+$b$7$l$^$;$s!#(B
$B%G%#%l%/%H%j$K0\F0$G$-$J$$$N$G$"$l$P!"$*$=$i$/B8:_$b$7$J$$$G$7$g$&!#(B
</p>
</li>
<li>
<strong>$B%G%#%l%/%H%j$,(B Apache $B$N%I%-%e%a%s%H%D%j!<Fb$K$"$k$+(B?
</strong>
<p class="indent">
$B%j%/%(%9%H$,%5!<%PFb$N$b$N$G$"$l$P!"(B
$BMW5a$5$l$?%G%#%l%/%H%j$,(B suEXEC $B$N%I%-%e%a%s%H%k!<%HG[2<$K$"$j$^$9$+(B?
$B%j%/%(%9%H$,(B UserDir $B$N$b$N$G$"$l$P!"MW5a$5$l$?%G%#%l%/%H%j$,(B suEXEC
$B$N%f!<%6$N%I%-%e%a%s%H%k!<%HG[2<$K$"$j$^$9$+(B?
(<a href="#install">suEXEC $B@_Dj%*%W%7%g%s(B</a> $B;2>H(B)
</p>
</li>
<li>
<strong>$B%G%#%l%/%H%j$rB>$N%f!<%6$,=q$-9~$a$k$h$&$K$J$C$F(B
<em>$B$$$J$$(B</em>$B$+(B?</strong>
<p class="indent">
$B%G%#%l%/%H%j$rB>%f!<%6$K3+J|$7$J$$$h$&$K$7$^$9!#(B
$B=jM-%f!<%6$@$1$,$3$N%G%#%l%/%H%j$NFbMF$r2~JQ$G$-$k$h$&$K$7$^$9!#(B
</p>
</li>
<li>
<strong>$BBP>]$H$J$k(B CGI/SSI $B%W%m%0%i%`$OB8:_$9$k$+(B?</strong>
<p class="indent">
$BB8:_$7$J$1$l$P<B9T$G$-$^$;$s!#(B
</p>
</li>
<li>
<strong>$BBP>]$H$J$k(B CGI/SSI $B%W%m%0%i%`%U%!%$%k$,B>%"%+%&%s%H$+$i(B
$B=q$-9~$a$k$h$&$K$J$C$F(B<em>$B$$$J$$(B</em>$B$+(B?</strong>
<p class="indent">
$B=jM-<T0J30$K$O(B CGI/SSI $B%W%m%0%i%`$rJQ99$9$k8"8B$OM?$($i$l$^$;$s!#(B
</p>
</li>
<li>
<strong>$BBP>]$H$J$k(B CGI/SSI $B%W%m%0%i%`$,(B setuid $B$^$?$O(B setgid
$B$5$l$F(B<em>$B$$$J$$(B</em>$B$+(B?</strong>
<p class="indent">
UID/GID $B$r:FEYJQ99$7$F$N%W%m%0%i%`<B9T$O$7$^$;$s(B
</p>
</li>
<li>
<strong>$BBP>]$H$J$k%f!<%6(B/$B%0%k!<%W$,%W%m%0%i%`$N(B
$B%f!<%6(B/$B%0%k!<%W$HF1$8$+(B?</strong>
<p class="indent">
$B%f!<%6$,$=$N%U%!%$%k$N=jM-<T$G$9$+(B?
</p>
</li>
<li>
<strong>$B0BA4$JF0:n$rJ]>Z$9$k$?$a$N4D6-JQ?t%/%j%"$,2DG=$+(B?
</strong>
<p class="indent">
suEXEC $B$O!"0BA4$J4D6-JQ?t$N%j%9%H(B
($B$3$l$i$O@_Dj;~$K:n@.$5$l$^$9(B) $BFb$NJQ?t$H$7$FEO$5$l$k0BA4$J(B
PATH $BJQ?t(B ($B@_Dj;~$K;XDj$5$l$^$9(B) $B$r@_Dj$9$k$3$H$G!"(B
$B%W%m%;%9$N4D6-JQ?t$r%/%j%"$7$^$9!#(B
</p>
</li>
<li>
<strong>$BBP>]$H$J$k(B CGI/SSI $B%W%m%0%i%`$r(B exec $B$7$F<B9T$G$-$k$+(B?</strong>
<p class="indent">
$B$3$3$G(B suEXEC $B$,=*N;$7!"BP>]$H$J$k%W%m%0%i%`$,3+;O$5$l$^$9!#(B
</p>
</li>
</ol>
<p>$B$3$3$^$G$,(B suEXEC $B$N(B wrapper
$B$K$*$1$k%;%-%e%j%F%#%b%G%k$NI8=`E*$JF0:n$G$9!#$b$&>/$787=E$K(B
CGI/SSI $B@_7W$K$D$$$F$N?7$7$$@)8B$d5,Dj$r<h$jF~$l$k$3$H$b$G$-$^$9$,!"(B
suEXEC $B$O%;%-%e%j%F%#$KCm0U$7$F?5=E$K>/$7$:$D3+H/$5$l$F$-$^$7$?!#(B
</p>
<p>$B$3$N%;%-%e%j%F%#%b%G%k$rMQ$$$F(B
$B%5!<%P@_Dj;~$K$I$N$h$&$K5v$9$3$H$r@)8B$9$k$+!"$^$?!"(BsuEXEC
$B$rE,@Z$K@_Dj$9$k$H$I$N$h$&$J%;%-%e%j%F%#>e$N4m81$rHr$1$i$l$k$+$K(B
$B4X$9$k$h$j>\$7$$>pJs$K$D$$$F$O!"(B<a href="#jabberwock">"$B$H$+$2$KCm0U(B"
(Beware the Jabberwock)</a> $B$N>O$r;2>H$7$F$/$@$5$$!#(B
</p>
</section>
<section id="install"><title>suEXEC
$B$N@_Dj$H%$%s%9%H!<%k(B</title>
<p>$B$3$3$+$i3Z$7$/$J$j$^$9!#(B</p>
<p><strong>suEXEC
$B@_Dj%*%W%7%g%s(B</strong><br />
</p>
<dl>
<dt><code>--enable-suexec</code></dt>
<dd>$B$3$N%*%W%7%g%s$O!"%G%U%)%k%H$G$O%$%s%9%H!<%k$5$l$:!"(B
$BM-8z$K$O$J$i$J$$(B suEXEC $B5!G=$rM-8z$K$7$^$9!#(B
suEXEC $B$r;H$&$h$&$K(B APACI $B$KMW5a$9$k$K$O!"(B<code>--enable-suexec</code>
$B%*%W%7%g%s$K$"$o$;$F>/$J$/$H$b0l$D$O(B <code>--with-suexec-xxxxx</code>
$B%*%W%7%g%s$,;XDj$5$l$J$1$l$P$J$j$^$;$s!#(B</dd>
<dt><code>--with-suexec-bin=<em>PATH</em></code></dt>
<dd>$B%;%-%e%j%F%#>e$NM}M3$K$h$j!"(B<code>suexec</code> $B%P%$%J%j$N%Q%9$O%5!<%P$K(B
$B%O!<%I%3!<%I$5$l$F$$$kI,MW$,$"$j$^$9!#%G%U%)%k%H$N%Q%9$r(B
$BJQ$($?$$$H$-$O$3$N%*%W%7%g%s$r;H$C$F$/$@$5$$!#(B<em>$BNc$($P(B</em>$B!"(B
<code>--with-suexec-bin=/usr/sbin/suexec</code> $B$N$h$&$K!#(B</dd>
<dt><code>--with-suexec-caller=<em>UID</em></code></dt>
<dd>Apache $B$rDL>oF0:n$5$;$k(B<a
href="mod/mpm_common.html#user">$B%f!<%6L>(B</a>$B$r;XDj$7$^$9!#(B
$B$3$N%f!<%6$@$1$,(B suexec $B$N<B9T$r5v2D$5$l$?%f!<%6$K$J$j$^$9!#(B</dd>
<dt><code>--with-suexec-userdir=<em>DIR</em></code></dt>
<dd>suEXEC $B$,%"%/%;%9$r5v$5$l$k%f!<%6%[!<%`%G%#%l%/%H%jG[2<$N(B
$B%5%V%G%#%l%/%H%j$r;XDj$7$^$9!#(B
$B$3$N%G%#%l%/%H%j0J2<$NA4<B9T%U%!%$%k$O!"(B"$B0BA4$J(B"$B%W%m%0%i%`$K$J$k$h$&!"(B
suEXEC $B$,$=$N%f!<%6$H$7$F<B9T$G$-$k$h$&$K$7$^$9!#(B
"$BC1=c$J(B" UserDir $B%G%#%l%/%F%#%V$r;H$C$F$$$k>l9g(B
($B$9$J$o$A(B "*" $B$r4^$^$J$$$b$N(B)$B!"$3$l$HF1$8CM$r@_Dj$9$Y$-$G$9!#(B
Userdir $B%G%#%l%/%F%#%V$,$=$N%f!<%6$N%Q%9%o!<%I%U%!%$%kFb$N(B
$B%[!<%`%G%#%l%/%H%j$HF1$8>l=j$r;X$7$F$$$J$1$l$P!"(B
suEXEC $B$OE,@Z$KF0:n$7$^$;$s!#%G%U%)%k%H$O(B "public_html" $B$G$9!#(B
<br />
$B3F(B UserDir $B$,0[$J$C$?2>A[%[%9%H$r@_Dj$7$F$$$k>l9g!"(B
$B$=$l$i$rA4$F0l$D$N?F%G%#%l%/%H%j$K4^$a$F!"(B
$B$=$N?F%G%#%l%/%H%j$NL>A0$r$3$3$G;XDj$9$kI,MW$,$"$j$^$9!#(B
<strong>$B$3$N$h$&$K;XDj$5$l$J$1$l$P(B "~userdir" cgi
$B$X$N%j%/%(%9%H$,F0:n$7$^$;$s!#(B</strong></dd>
<dt><code>--with-suexec-docroot=<em>DIR</em></code></dt>
<dd>Apache $B$N%I%-%e%a%s%H%k!<%H$r@_Dj$7$^$9!#$3$l$,(B suEXEC
$B$NF0:n$G;HMQ$9$kM#0l$N%G%#%l%/%H%j3,AX$K$J$j$^$9(B (UserDir
$B$N;XDj$OJL(B)$B!#%G%U%)%k%H$G$O(B <code>--datedir</code> $B$K(B "/htdocs"
$B$H$$$&%5%U%#%C%/%9$r$D$1$?$b$N$G$9!#(B
"<code>--datadir=/home/apache</code>" $B$H$7$F@_Dj$9$k$H!"(B
suEXEC wrapper $B$K$H$C$F(B "/home/apache/htdocs"
$B$,%I%-%e%a%s%H%k!<%H$H$7$F;H$o$l$^$9!#(B</dd>
<dt><code>--with-suexec-uidmin=<em>UID</em></code></dt>
<dd>suEXEC $B$NBP>]%f!<%6$H$7$F5v$5$l$k(B UID $B$N:G>.CM$r;XDj$7$^$9!#(B
$BBgDq$N%7%9%F%`$G$O(B 500 $B$+(B 100 $B$,0lHLE*$G$9!#(B
$B%G%U%)%k%HCM$O(B 100 $B$G$9!#(B</dd>
<dt><code>--with-suexec-gidmin=<em>GID</em></code></dt>
<dd>suEXEC $B$NBP>]%0%k!<%W$H$7$F5v$5$l$k(B GID
$B$N:G>.CM$r;XDj$7$^$9!#BgDq$N%7%9%F%`$G$O(B 100 $B$,0lHLE*$J$N$G!"(B
$B%G%U%)%k%HCM$H$7$F$b(B 100 $B$,;H$o$l$F$$$^$9!#(B</dd>
<dt><code>--with-suexec-logfile=<em>FILE</em></code></dt>
<dd>suEXEC $B$N=hM}$H%(%i!<$,5-O?$5$l$k%U%!%$%kL>$r;XDj$7$^$9!#(B
($B4F::$d%G%P%C%0L\E*$KM-MQ(B)
$B%G%U%)%k%H$G$O%m%0%U%!%$%k$O(B "suexec_log" $B$H$$$&L>A0$G!"(B
$BI8=`$N%m%0%U%!%$%k%G%#%l%/%H%j(B (<code>--logfiledir</code>) $B$KCV$+$l$^$9!#(B
</dd>
<dt><code>--with-suexec-safepath=<em>PATH</em></code></dt>
<dd>CGI $B<B9T%U%!%$%k$KEO$5$l$k0BA4$J(B PATH $B4D6-JQ?t$G$9!#(B
$B%G%U%)%k%HCM$O(B "/usr/local/bin:/usr/bin:/bin" $B$G$9!#(B
</dd>
</dl>
<p><strong>suEXEC wrapper
$B$N%3%s%Q%$%k$H%$%s%9%H!<%k(B</strong><br />
<code>--enable-suexec</code> $B%*%W%7%g%s$G(B suEXEC $B5!G=$rM-8z$K$9$k$H!"(B
"make" $B%3%^%s%I$r<B9T$7$?;~$K(B <code>suexec</code> $B$N%P%$%J%j(B (Apache $B<+BN$b(B)
$B$,<+F0E*$K:n@.$5$l$^$9!#(B
<br />
$B$9$Y$F$N9=@.MWAG$,:n@.$5$l$k$H!"$=$l$i$N%$%s%9%H!<%k$K$O(B
<code>make install</code> $B%3%^%s%I$,<B9T$G$-$^$9!#%P%$%J%j%$%a!<%8$N(B <code>suexec</code>
$B$O(B <code>--sbindir</code> $B%*%W%7%g%s$G;XDj$5$l$?%G%#%l%/%H%j$K%$%s%9%H!<%k$5$l$^$9!#(B
$B%G%U%)%k%H$N>l=j$O(B "/usr/local/apache/sbin/suexec" $B$G$9!#(B<br />
$B%$%s%9%H!<%k;~$K$O(B <strong><em>root</em></strong>
$B8"8B$,I,MW$J$N$GCm0U$7$F$/$@$5$$!#(Bwrapper $B$,%f!<%6(B ID
$B$r@_Dj$9$k$?$a$K!"=jM-<T(B <code><em>root</em></code>
$B$G$N%;%C%H%f!<%6(B ID
$B%S%C%H$r$=$N%U%!%$%k$N%b!<%I$K@_Dj$7$J$1$l$P$J$j$^$;$s!#(B
</p>
<p><strong>$B0BA4$J%Q!<%_%C%7%g%s$r@_Dj$9$k(B</strong><br />
suEXEC $B%i%C%Q!<$O!"(B<code>--with-suexec-caller</code> configure
$B%*%W%7%g%s$G;XDj$7$?@5$7$$%f!<%6$G5/F0$5$l$F$$$k$3$H$r3NG'$7$^$9$,!"(B
$B%7%9%F%`>e$G$3$N%A%'%C%/$,9T$J$o$l$kA0$K!"(B
suEXEC $B$,8F$V%7%9%F%`$d%i%$%V%i%j$,@H<e$G$"$k2DG=@-$O;D$j$^$9!#BP93:v$H$7$F!"(B
$B0lHL$KNI$$=,47$H$b$5$l$$$^$9$,!"(B
$B%U%!%$%k%7%9%F%`%Q!<%_%C%7%g%s$r;H$C$F(B
Apache $B$N<B9T;~$N%0%k!<%W$N$_$,(B suEXEC $B$r<B9T$G$-$k$h$&$K(B
$B$9$k$N$,NI$$$G$7$g$&!#(B</p>
<p>$B$?$H$($P!"<!$N$h$&$K%5!<%P$,@_Dj$5$l$F$$$?$H$7$^$9!#(B</p>
<example>
User www<br />
Group webgroup<br />
</example>
<p><code>suexec</code> $B$,(B "/usr/local/apache2/sbin/suexec"
$B$K%$%s%9%H!<%k$5$l$F$$$?>l9g!"<!$N$h$&$K@_Dj$9$kI,MW$,$"$j$^$9!#(B</p>
<example>
chgrp webgroup /usr/local/apache2/bin/suexec<br />
chmod 4750 /usr/local/apache2/bin/suexec<br />
</example>
<p>$B$3$l$G(B Apache $B$,<B9T$5$l$k%0%k!<%W$N$_$,(B
suEXEC $B%i%C%Q!<$r<B9T$G$-$k$H$$$&$3$H$r(B
$B3N>Z$7$^$9!#(B</p>
</section>
<section id="enable"><title>suEXEC
$B$NM-8z2=$HL58z2=(B</title>
<p>$B5/F0;~$K!"(BApache $B$O(B <code>--sbindir</code>
$B%*%W%7%g%s$G@_Dj$5$l$?%G%#%l%/%H%j$G(B
<code>suexec</code> $B$rC5$7$^$9(B
($B%G%U%)%k%H$O(B "/usr/local/apache/sbin/suexec") $B!#(B
$BE,@Z$K@_Dj$5$l$?(B suEXEC $B$,$_$D$+$k$H!"(B
$B%(%i!<%m%0$K0J2<$N%a%C%;!<%8$,=PNO$5$l$^$9!#(B</p>
<example>
[notice] suEXEC mechanism enabled (wrapper: <em>/path/to/suexec</em>)
</example>
<p>$B%5!<%P5/F0;~$K$3$N%a%C%;!<%8$,=P$J$$>l9g!"(B
$BBgDq$O%5!<%P$,A[Dj$7$?>l=j$G(B wrapper $B%W%m%0%i%`$,8+$D$+$i$J$+$C$?$+!"(B
<em>setuid root</em> $B$H$7$F%$%s%9%H!<%k$5$l$F$$$J$$$+$G$9!#(B</p>
<p>suEXEC $B$N;EAH$_$r;HMQ$9$k$N$,=i$a$F$G!"(BApache $B$,4{$KF0:nCf$G$"$l$P!"(B
Apache $B$r(B kill $B$7$F!":F5/F0$7$J$1$l$P$J$j$^$;$s!#(BHUP $B%7%0%J%k$d(B
USR1 $B%7%0%J%k$K$h$kC1=c$J:F5/F0$G$OIT==J,$G$9!#(B</p>
<p>suEXEC $B$rL58z$K$9$k>l9g$O!"(B<code>suexec</code> $B%U%!%$%k$r:o=|$7$F$+$i(B
Apache $B$r(B kill $B$7$F:F5/F0$7$^$9!#(B
</p>
</section>
<section id="usage"><title>suEXEC $B$N;HMQ(B</title>
<p>CGI $B%W%m%0%i%`$X$N%j%/%(%9%H$,(B suEXEC $B%i%C%Q!<$r8F$V$N$O!"(B
<directive module="mod_suexec">SuexecUserGroup</directive> $B%G%#%l%/%F%#%V$r(B
$B4^$`%P!<%A%c%k%[%9%H$X$N%j%/%(%9%H$+!"(B<module>mod_userdir</module> $B$K$h$j(B
$B=hM}$5$l$?%j%/%(%9%H$N>l9g$K8B$j$^$9!#(B</p>
<p><strong>$B2>A[%[%9%H(B:</strong><br />
suEXEC wrapper $B$N;H$$J}$H$7$F!"(B
<directive module="core">VirtualHost</directive> $B@_Dj$G$N(B
<directive module="mod_suexec">SuexecUserGroup</directive>
$B%G%#%l%/%F%#%V$rDL$7$?$b$N$,$"$j$^$9!#(B
$B$3$N%G%#%l%/%F%#%V$r%a%$%s%5!<%P$N%f!<%6(B ID
$B$H0[$J$k$b$N$K$9$k$H!"(BCGI $B%j%=!<%9$X$N$9$Y$F$N%j%/%(%9%H$O!"$=$N(B
<directive module="core"
type="section">VirtualHost</directive> $B$G;XDj$5$l$?(B <em>User</em> $B$H(B
<em>Group</em> $B$H$7$F<B9T$5$l$^$9!#(B<directive module="core"
type="section">VirtualHost</directive>
$B$G$3$N%G%#%l%/%F%#%V$,;XDj$5$l$F$$$J$$>l9g!"(B
$B%a%$%s%5!<%P$N%f!<%6(B ID $B$,A[Dj$5$l$^$9!#(B</p>
<p><strong>$B%f!<%6%G%#%l%/%H%j(B:</strong><br />
<module>mod_userdir</module> $B$K$h$j=hM}$5$l$?%j%/%(%9%H$O(B
$B%j%/%(%9%H$5$l$?%f!<%6%G%#%l%/%H%j$N%f!<%6(B ID $B$G(B CGI $B%W%m%0%i%`$r(B
$B<B9T$9$k$?$a$K(B suEXEC $B%i%C%Q!<$r8F$S$^$9!#(B
$B$3$N5!G=$rF0:n$5$;$k$?$a$KI,MW$J$3$H$O!"(BCGI
$B$r$=$N%f!<%6$G<B9T$G$-$k$3$H!"$=$N%9%/%j%W%H$,>e5-$N(B<a
href="#model">$B%;%-%e%j%F%#8!::(B</a>$B$r%Q%9$G$-$k$3$H$G$9!#(B
<a href="#install">$B%3%s%Q%$%k(B
$B;~$N%*%W%7%g%s(B</a> <code>--with-suexec-userdir</code> $B$b;2>H$7$F$/$@$5$$!#(B</p>
</section>
<section id="debug"><title>suEXEC $B$N%G%P%C%0(B</title>
<p>suEXEC wrapper $B$O!">e5-$G=R$Y$?(B <code>--with-suexec-logfile</code>
$B%*%W%7%g%s$G;XDj$5$l$?%U%!%$%k$K%m%0>pJs$r5-O?$7$^$9!#(B
wrapper $B$rE,@Z$K@_Dj!"%$%s%9%H!<%k$G$-$F$$$k$H;W$&>l9g!"(B
$B$I$3$GLB$C$F$$$k$+8+$h$&$H$9$k$J$i$3$N%m%0$H%5!<%P$N(B
$B%(%i!<%m%0$r8+$k$H$h$$$G$7$g$&!#(B</p>
</section>
<section id="jabberwock"><title>$B$H$+$2$KCm0U(B: $B7Y9p$H;vNc(B</title>
<p><strong>$BCm0U(B!</strong>
$B$3$N>O$O40A4$G$O$"$j$^$;$s!#$3$N>O$N:G?72~D{HG$K$D$$$F$O!"(B
Apache $B%0%k!<%W$N(B<a href="http://httpd.apache.org/docs-2.1/suexec.html">
$B%*%s%i%$%s%I%-%e%a%s%H(B</a>$BHG$r;2>H$7$F$/$@$5$$!#(B
</p>
<p>$B%5!<%P$N@_Dj$K@)8B$r$b$&$1$k(B wrapper $B$K$D$$$F!"(B
$B$$$/$D$+6=L#?<$$E@$,$"$j$^$9!#(BsuEXEC $B$K4X$9$k(B "$B%P%0(B"
$B$rJs9p$9$kA0$K$3$l$i$r3NG'$7$F$/$@$5$$!#(B</p>
<ul>
<li><strong>suEXEC $B$N6=L#?<$$E@(B</strong></li>
<li>$B3,AX9=B$$N@)8B(B
<p class="indent">
$B%;%-%e%j%F%#$H8zN($NM}M3$+$i!"(B<code>suEXEC</code> $B$NA4$F$N%j%/%(%9%H$O(B
$B2>A[%[%9%H$X$N%j%/%(%9%H$K$*$1$k:G>e0L$N%I%-%e%a%s%H%k!<%HFb$+!"(B
$B%f!<%6%G%#%l%/%H%j$X$N%j%/%(%9%H$K$*$1$k8D!9$N%f!<%6$N:G>e0L$N(B
$B%I%-%e%a%s%H%k!<%HFb$K;D$i$J$1$l$P$J$j$^$;$s!#(B
$BNc$($P!";M$D$N2>A[%[%9%H$r@_Dj$7$F$$$k>l9g!"(B
$B2>A[%[%9%H$N(B suEXEC $B$KM-Mx$J$h$&$K!"%a%$%s$N(B Apache
$B%I%-%e%a%s%H3,AX$N30B&$KA4$F$N2>A[%[%9%H$N%I%-%e%a%s%H%k!<%H$r(B
$B9=C[$9$kI,MW$,$"$j$^$9!#(B($BNc$O8eF|5-:\(B)
</p>
</li>
<li>suEXEC $B$N(B PATH $B4D6-JQ?t(B
<p class="indent">
$B$3$l$rJQ99$9$k$N$O4m81$G$9!#$3$N;XDj$K4^$^$l$k3F%Q%9$,(B
<strong>$B?.Mj$G$-$k(B</strong>
$B%G%#%l%/%H%j$G$"$k$3$H$r3NG'$7$F$/$@$5$$!#(B
$B@$3&$+$i$N%"%/%;%9$K$h$j!"C/$+$,%[%9%H>e$G%H%m%$$NLZGO(B
$B$r<B9T$G$-$k$h$&$K$O$7$?$/$J$$$G$7$g$&!#(B
</p>
</li>
<li>suEXEC $B%3!<%I$N2~B$(B
<p class="indent">
$B7+$jJV$7$^$9$,!"2?$r$d$m$&$H$7$F$$$k$+GD0.$;$:$K$3$l$r$d$k$H(B
<strong>$BBg$-$JLdBj(B</strong>$B$r0z$-5/$3$7$+$M$^$;$s!#(B
$B2DG=$J8B$jHr$1$F$/$@$5$$!#(B
</p>
</li>
</ul>
</section>
</manualpage>