1 <?xml version="1.0" encoding="iso-2022-jp"?>
2 <!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
3 <?xml-stylesheet type="text/xsl" href="./style/manual.ja.xsl"?>
4 <!-- English Revision: 1.15 -->
7 Copyright 2002-2004 The Apache Software Foundation
9 Licensed under the Apache License, Version 2.0 (the "License");
10 you may not use this file except in compliance with the License.
11 You may obtain a copy of the License at
13 http://www.apache.org/licenses/LICENSE-2.0
15 Unless required by applicable law or agreed to in writing, software
16 distributed under the License is distributed on an "AS IS" BASIS,
17 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18 See the License for the specific language governing permissions and
19 limitations under the License.
22 <manualpage metafile="suexec.xml.meta">
24 <title>suEXEC
\e$B%5%]!<%H
\e(B</title>
27 <p><strong>suEXEC</strong>
28 \e$B5!G=$K$h$j!"
\e(BApache
\e$B%f!<%6$O
\e(B Web
\e$B%5!<%P$r<B9T$7$F$$$k%f!<%6
\e(B ID
\e$B$H$O
\e(B
29 \e$B0[$J$k%f!<%6
\e(B ID
\e$B$G
\e(B <strong>CGI</strong>
\e$B%W%m%0%i%`$d
\e(B <strong>SSI</strong>
30 \e$B%W%m%0%i%`$r<B9T$9$k$3$H$,$G$-$^$9!#
\e(BCGI
\e$B%W%m%0%i%`$^$?$O
\e(B SSI
31 \e$B%W%m%0%i%`$r<B9T$9$k>l9g!"DL>o$O
\e(B web
\e$B%5!<%P$HF1$8%f!<%6$G<B9T$5$l$^$9!#
\e(B
34 <p>
\e$BE,@Z$K;HMQ$9$k$H!"$3$N5!G=$K$h$j%f!<%6$,8DJL$N
\e(B CGI
35 \e$B$d
\e(B SSI
\e$B%W%m%0%i%`$r3+H/$7<B9T$9$k$3$H$G@8$8$k%;%-%e%j%F%#>e$N4m81$r!"
\e(B
36 \e$B$+$J$j8:$i$9$3$H$,$G$-$^$9!#$7$+$7!"
\e(BsuEXEC
\e$B$N@_Dj$,ITE,@Z$@$H!"
\e(B
37 \e$BB?$/$NLdBj$,@8$8!"$"$J$?$N%3%s%T%e!<%?$K?7$7$$%;%-%e%j%F%#%[!<%k$r
\e(B
38 \e$B:n$C$F$7$^$&2DG=@-$,$"$j$^$9!#$"$J$?$,
\e(B <em>setuid root</em>
39 \e$B$5$l$?%W%m%0%i%`$H!"$=$l$i$+$i@8$8$k%;%-%e%j%F%#>e$NLdBj$N4IM}$K
\e(B
40 \e$B>\$7$/$J$$$h$&$J$i!"
\e(BsuEXEC
\e$B$N;HMQ$r8!F$$7$J$$$h$&$K6/$/?d>)$7$^$9!#
\e(B
44 <section id="before"><title>
\e$B;O$a$kA0$K
\e(B</title>
46 <p>
\e$B$3$NJ8=q$N@hF,$KHt$VA0$K!"
\e(BApache
47 \e$B%0%k!<%W$H$3$NJ8=q$G$N2>Dj$rCN$C$F$*$/$Y$-$G$7$g$&!#
\e(B
50 <p>
\e$BBh
\e(B 1
\e$B$K!"$"$J$?$,
\e(B <strong>setuid</strong>
\e$B$H
\e(B
51 <strong>setgid</strong>
\e$BA`:n$,2DG=$J
\e(B UNIX
52 \e$BM3Mh$N%*%Z%l!<%F%#%s%0%7%9%F%`$r;H$C$F$$$k$3$H$rA[Dj$7$F$$$^$9!#
\e(B
53 \e$B$3$l$O!"$9$Y$F$N%3%^%s%INc$K$"$F$O$^$j$^$9!#
\e(B
54 \e$B$=$NB>$N%W%i%C%H%[!<%`$G$O!"$b$7
\e(B suEXEC
55 \e$B$,%5%]!<%H$5$l$F$$$?$H$7$F$b@_Dj$O0[$J$k$+$b$7$l$^$;$s!#
\e(B</p>
57 <p>
\e$BBh
\e(B 2
\e$B$K!"$"$J$?$,;HMQCf$N%3%s%T%e!<%?$N
\e(B
58 \e$B%;%-%e%j%F%#$K4X$9$k4pK\E*$J35G0$H!"$=$l$i$N4IM}$K$D$$$F>\$7$$$3$H$r
\e(B
59 \e$BA[Dj$7$F$$$^$9!#$3$l$O!"
\e(B<strong>setuid/setgid</strong>
60 \e$BA`:n!"$"$J$?$N%7%9%F%`>e$G$N$=$NA`:n$K$h$kMM!9$J8z2L!"
\e(B
61 \e$B%;%-%e%j%F%#%l%Y%k$K$D$$$F$"$J$?$,M}2r$7$F$$$k$H$$$&$3$H$r4^$_$^$9!#
\e(B
64 <p>
\e$BBh
\e(B 3
\e$B$K!"
\e(B<strong>
\e$B2~B$$5$l$F$$$J$$
\e(B</strong> suEXEC
65 \e$B%3!<%I$N;HMQ$rA[Dj$7$F$$$^$9!#
\e(BsuEXEC
\e$B$N%3!<%I$O!"
\e(B
66 \e$BB?$/$N%Y!<%?%F%9%?$@$1$G$J$/!"3+H/<T$K$h$C$F$bCm0U?<$/@:::$5$l
\e(B
67 \e$B%F%9%H$5$l$F$$$^$9!#$=$l$i$NCm0U$K$h$j!"4J7i$G?.Mj$G$-$k0BA4$J
\e(B
68 \e$B%3!<%I$N4pHW$,J]>Z$5$l$^$9!#$3$N%3!<%I$r2~JQ$9$k$3$H$G!"
\e(B
69 \e$BM=4|$5$l$J$$LdBj$d?7$7$$%;%-%e%j%F%#>e$N4m81$,@8$8$k$3$H$,$"$j$^$9!#
\e(B
70 \e$B%;%-%e%j%F%#%W%m%0%i%_%s%0$N>\:Y$KDL$8$F$$$F!"
\e(B
71 \e$B:#8e$N8!F$$N$?$a$K@.2L$r
\e(B Apache
72 \e$B%0%k!<%W$H6&M-$7$h$&$H;W$&$N$G$J$1$l$P!"
\e(BsuEXEC
73 \e$B%3!<%I$OJQ$($J$$$3$H$r
\e(B <strong>
\e$B6/$/
\e(B</strong>
\e$B?d>)$7$^$9!#
\e(B</p>
75 <p>
\e$BBh
\e(B 4
\e$B$K!"$3$l$,:G8e$G$9$,!"
\e(BsuEXEC
\e$B$r
\e(B Apache
76 \e$B$N%G%U%)%k%H%$%s%9%H!<%k$K$O
\e(B<strong>
\e$B4^$a$J$$
\e(B</strong>
\e$B$3$H$,
\e(B
77 Apache
\e$B%0%k!<%W$G7hDj$5$l$F$$$^$9!#$3$l$O!"
\e(BsuEXEC
78 \e$B$N@_Dj$K$O4IM}<T$N>\:Y$K$o$?$k?5=E$JCm0U$,I,MW$@$+$i$G$9!#
\e(B
79 suEXEC
\e$B$NMM!9$J@_Dj$K$D$$$F8!F$$,=*$o$l$P!"4IM}<T$O
\e(B suEXEC
80 \e$B$rDL>o$N%$%s%9%H!<%kJ}K!$G%$%s%9%H!<%k$9$k$3$H$,$G$-$^$9!#
\e(B
81 \e$B$3$l$i$N@_DjCM$O!"
\e(BsuEXEC
82 \e$B5!G=$N;HMQCf$K%7%9%F%`%;%-%e%j%F%#$rE,@Z$KJ]$D$?$a$K!"
\e(B
83 \e$B4IM}<T$K$h$C$F?5=E$K7hDj$5$l;XDj$5$l$k$3$H$,I,MW$G$9!#
\e(B
84 \e$B$3$N>\:Y$J<j=g$K$h$j!"
\e(BApache
\e$B%0%k!<%W$O!"
\e(BsuEXEC
85 \e$B$N%$%s%9%H!<%k$K$D$$$F!"Cm0U?<$/==J,$K8!F$$7$F$=$l$r;HMQ$9$k$3$H$r
\e(B
86 \e$B7hDj$7$?>l9g$K8B$C$F$$$?$@$-$?$$$H9M$($F$$$^$9!#
\e(B
89 <p>
\e$B$=$l$G$b?J$_$^$9$+
\e(B?
\e$B$h$m$7$$!#$G$O!"@h$X?J$_$^$7$g$&
\e(B!</p>
92 <section id="model"><title>suEXEC
\e$B%;%-%e%j%F%#%b%G%k
\e(B</title>
94 <p>suEXEC
\e$B$N@_Dj$H%$%s%9%H!<%k$r;O$a$kA0$K!"
\e(B
95 \e$B$^$:<BAu$7$h$&$H$7$F$$$k%;%-%e%j%F%#%b%G%k$K$D$$$FO@$8$F$*$-$^$9!#
\e(B
96 \e$B$=$l$K$O!"
\e(BsuEXEC
\e$B$NFbIt$G9T$J$o$l$F$$$k$3$H!"
\e(B
97 \e$B%7%9%F%`$N%;%-%e%j%F%#$rJ]>Z$9$k$?$a$K7Y9p$5$l$k$3$H$r
\e(B
98 \e$B$h$/M}2r$7$F$*$$$?J}$,$h$$$G$7$g$&!#
\e(B</p>
100 <p><strong>suEXEC</strong>
\e$B$O!"
\e(BApache web
101 \e$B%5!<%P$+$i8F$S=P$5$l$k
\e(B setuid
\e$B$5$l$?
\e(B "wrapper"
102 \e$B%W%m%0%i%`$,4pK\$H$J$C$F$$$^$9!#@_7W$7$?
\e(B CGI
\e$B!"$^$?$O
\e(B SSI
103 \e$B%W%m%0%i%`$X$N
\e(B HTTP
\e$B%j%/%(%9%H$,$"$k$H!"$3$N
\e(B wrapper
104 \e$B$,8F$S=P$5$l$^$9!#$3$N$h$&$J%j%/%(%9%H$,$"$k$H!"
\e(BApache
105 \e$B$O$=$N%W%m%0%i%`$,<B9T$5$l$k:]$N%W%m%0%i%`L>$H%f!<%6
\e(B ID
\e$B$H%0%k!<%W
\e(B
106 ID
\e$B$r;XDj$7$F
\e(B suEXEC wrapper
\e$B$r<B9T$7$^$9!#
\e(B
109 <p>
\e$B$=$l$+$i!"
\e(Bwrapper
\e$B$O@.8y$^$?$O<:GT$r7hDj$9$k$?$a
\e(B
110 \e$B0J2<$N=hM}$r9T$J$$$^$9!#$3$l$i$N>uBV$N$&$A0l$D$G$b<:GT$7$?>l9g!"
\e(B
111 \e$B%W%m%0%i%`$O<:GT$r%m%0$K5-O?$7$F%(%i!<$G=*N;$7$^$9!#
\e(B
112 \e$B$=$&$G$J$1$l$P!"8e$N=hM}$,B3$1$i$l$^$9!#
\e(B</p>
117 \e$B$r<B9T$7$F$$$k%f!<%6$O$3$N%7%9%F%`$N@5Ev$J%f!<%6$+
\e(B?</strong>
120 \e$B$3$l$O!"
\e(Bwrapper
\e$B$r<B9T$7$F$$$k%f!<%6$,
\e(B
121 \e$BK\Ev$K%7%9%F%`$NMxMQ<T$G$"$k$3$H$rJ]>Z$9$k$?$a$G$9!#
\e(B
127 <strong>wrapper
\e$B$,E,@Z$J?t$N0z?t$G8F$S=P$5$l$?$+
\e(B?</strong>
131 wrapper
\e$B$OE,@Z$J?t$N0z?t$,M?$($i$l$?>l9g$K$N$_<B9T$5$l$^$9!#
\e(B
132 \e$BE,@Z$J0z?t$N%U%)!<%^%C%H$O
\e(B Apache Web
\e$B%5!<%P$K2r<a$5$l$^$9!#
\e(B
133 \e$BE,@Z$J?t$N0z?t$r<u$1<h$i$J$1$l$P!"967b$r$5$l$?$+
\e(B
134 \e$B$"$J$?$N
\e(B Apache
\e$B%P%$%J%j$N
\e(B suEXEC
\e$B$NItJ,$,
\e(B
135 \e$B$I$3$+$*$+$7$$2DG=@-$,$"$j$^$9!#
\e(B
140 <strong>
\e$B$3$N@5Ev$J%f!<%6$O
\e(B wrapper
141 \e$B$N<B9T$r5v2D$5$l$F$$$k$+
\e(B?</strong>
144 \e$B$3$N%f!<%6$O
\e(B wrapper
\e$B<B9T$r5v2D$5$l$?%f!<%6$G$9$+
\e(B?
145 \e$B$?$@0l?M$N%f!<%6
\e(B (Apache
\e$B%f!<%6
\e(B)
\e$B$@$1$,!"
\e(B
146 \e$B$3$N%W%m%0%i%`$N<B9T$r5v2D$5$l$^$9!#
\e(B
151 <strong>
\e$BBP>]$N
\e(B CGI, SSI
\e$B%W%m%0%i%`$,0BA4$G$J$$3,AX$N;2>H$r$7$F$$$k$+
\e(B?
155 \e$BBP>]$N
\e(B CGI, SSI
\e$B%W%m%0%i%`$,
\e(B '/'
\e$B$+$i;O$^$k!"$^$?$O
\e(B
156 '..'
\e$B$K$h$k;2>H$r9T$J$C$F$$$^$9$+
\e(B?
\e$B$3$l$i$O5v2D$5$l$^$;$s!#
\e(B
157 \e$BBP>]$N%W%m%0%i%`$O
\e(B suEXEC
\e$B$N%I%-%e%a%s%H%k!<%H
\e(B
158 (
\e$B2<5-$N
\e(B <code>--with-suexec-docroot=<em>DIR</em></code>
\e$B$r;2>H
\e(B)
159 \e$BFb$KB8:_$7$J$1$l$P$J$j$^$;$s!#
\e(B
164 <strong>
\e$BBP>]$H$J$k%f!<%6L>$O@5Ev$J$b$N$+
\e(B?</strong>
167 \e$BBP>]$H$J$k%f!<%6L>$OB8:_$7$F$$$^$9$+
\e(B?
172 <strong>
\e$BBP>]$H$J$k%0%k!<%WL>$O@5Ev$J$b$N$+
\e(B?</strong>
175 \e$BBP>]$H$J$k%0%k!<%WL>$OB8:_$7$F$$$^$9$+
\e(B?
180 <strong>
\e$BL\E*$N%f!<%6$O%9!<%Q!<%f!<%6$G$O
\e(B<em>
\e$B$J$$
\e(B</em>
\e$B$+
\e(B?
184 \e$B:#$N$H$3$m!"
\e(BsuEXEC
\e$B$O
\e(B <code><em>root</em></code>
\e$B$K$h$k
\e(B CGI/SSI
185 \e$B%W%m%0%i%`$N<B9T$r5v2D$7$F$$$^$;$s!#
\e(B
190 <strong>
\e$BBP>]$H$J$k%f!<%6
\e(B ID
\e$B$O!":G>.$N
\e(B ID
191 \e$BHV9f$h$j$b
\e(B<em>
\e$BBg$-$$
\e(B</em>
\e$B$+
\e(B? </strong>
194 \e$B:G>.%f!<%6
\e(B ID
\e$BHV9f$O@_Dj;~$K;XDj$5$l$^$9!#$3$l$O!"
\e(B
195 CGI/SSI
\e$B%W%m%0%i%`<B9T$r5v2D$5$l$k%f!<%6
\e(B ID
196 \e$B$N$H$j$&$k:G>.CM$G$9!#$3$l$O
\e(B
197 "system"
\e$BMQ$N%"%+%&%s%H$rJD$a=P$9$N$KM-8z$G$9!#
\e(B
202 <strong>
\e$BBP>]$H$J$k%0%k!<%W$O%9!<%Q!<%f!<%6$N%0%k!<%W$G$O
\e(B
203 <em>
\e$B$J$$
\e(B</em>
\e$B$+
\e(B?</strong>
206 \e$B:#$N$H$3$m!"
\e(BsuEXEC
\e$B$O
\e(B 'root'
\e$B%0%k!<%W$K$h$k
\e(B CGI/SSI
207 \e$B%W%m%0%i%`$N<B9T$r5v2D$7$F$$$^$;$s!#
\e(B
212 <strong>
\e$BBP>]$H$J$k%0%k!<%W
\e(B ID
\e$B$O:G>.$N
\e(B ID
213 \e$BHV9f$h$j$b
\e(B<em>
\e$BBg$-$$
\e(B</em>
\e$B$+
\e(B?</strong>
216 \e$B:G>.%0%k!<%W
\e(B ID
\e$BHV9f$O@_Dj;~$K;XDj$5$l$^$9!#$3$l$O!"
\e(B
217 CGI/SSI
\e$B%W%m%0%i%`<B9T$r5v2D$5$l$k%0%k!<%W
\e(B
218 ID
\e$B$N$H$j$&$k:G>.CM$G$9!#
\e(B
219 \e$B$3$l$O
\e(B "system"
\e$BMQ$N%0%k!<%W$rJD$a=P$9$N$KM-8z$G$9!#
\e(B
224 <strong>wrapper
\e$B$,@5>o$KBP>]$H$J$k%f!<%6$H%0%k!<%W$K$J$l$k$+
\e(B?
228 \e$B$3$3$G!"
\e(Bsetuid
\e$B$H
\e(B setgid
229 \e$B$N5/F0$K$h$j%W%m%0%i%`$OBP>]$H$J$k%f!<%6$H%0%k!<%W$K$J$j$^$9!#
\e(B
230 \e$B%0%k!<%W%"%/%;%9%j%9%H$O!"
\e(B
231 \e$B%f!<%6$,B0$7$F$$$k$9$Y$F$N%0%k!<%W$G=i4|2=$5$l$^$9!#
\e(B
236 <strong>CGI/SSI
\e$B%W%m%0%i%`$,CV$+$l$F$$$k%G%#%l%/%H%j$K0\F0
\e(B
237 (change directory)
\e$B$G$-$k$+
\e(B?</strong>
240 \e$B%G%#%l%/%H%j$,B8:_$7$J$$$J$i!"$=$N%U%!%$%k$bB8:_$7$J$$$+$b$7$l$^$;$s!#
\e(B
241 \e$B%G%#%l%/%H%j$K0\F0$G$-$J$$$N$G$"$l$P!"$*$=$i$/B8:_$b$7$J$$$G$7$g$&!#
\e(B
246 <strong>
\e$B%G%#%l%/%H%j$,
\e(B Apache
\e$B$N%I%-%e%a%s%H%D%j!<Fb$K$"$k$+
\e(B?
250 \e$B%j%/%(%9%H$,%5!<%PFb$N$b$N$G$"$l$P!"
\e(B
251 \e$BMW5a$5$l$?%G%#%l%/%H%j$,
\e(B suEXEC
\e$B$N%I%-%e%a%s%H%k!<%HG[2<$K$"$j$^$9$+
\e(B?
252 \e$B%j%/%(%9%H$,
\e(B UserDir
\e$B$N$b$N$G$"$l$P!"MW5a$5$l$?%G%#%l%/%H%j$,
\e(B suEXEC
253 \e$B$N%f!<%6$N%I%-%e%a%s%H%k!<%HG[2<$K$"$j$^$9$+
\e(B?
254 (<a href="#install">suEXEC
\e$B@_Dj%*%W%7%g%s
\e(B</a>
\e$B;2>H
\e(B)
259 <strong>
\e$B%G%#%l%/%H%j$rB>$N%f!<%6$,=q$-9~$a$k$h$&$K$J$C$F
\e(B
260 <em>
\e$B$$$J$$
\e(B</em>
\e$B$+
\e(B?</strong>
263 \e$B%G%#%l%/%H%j$rB>%f!<%6$K3+J|$7$J$$$h$&$K$7$^$9!#
\e(B
264 \e$B=jM-%f!<%6$@$1$,$3$N%G%#%l%/%H%j$NFbMF$r2~JQ$G$-$k$h$&$K$7$^$9!#
\e(B
270 <strong>
\e$BBP>]$H$J$k
\e(B CGI/SSI
\e$B%W%m%0%i%`$OB8:_$9$k$+
\e(B?</strong>
273 \e$BB8:_$7$J$1$l$P<B9T$G$-$^$;$s!#
\e(B
278 <strong>
\e$BBP>]$H$J$k
\e(B CGI/SSI
\e$B%W%m%0%i%`%U%!%$%k$,B>%"%+%&%s%H$+$i
\e(B
279 \e$B=q$-9~$a$k$h$&$K$J$C$F
\e(B<em>
\e$B$$$J$$
\e(B</em>
\e$B$+
\e(B?</strong>
282 \e$B=jM-<T0J30$K$O
\e(B CGI/SSI
\e$B%W%m%0%i%`$rJQ99$9$k8"8B$OM?$($i$l$^$;$s!#
\e(B
288 <strong>
\e$BBP>]$H$J$k
\e(B CGI/SSI
\e$B%W%m%0%i%`$,
\e(B setuid
\e$B$^$?$O
\e(B setgid
289 \e$B$5$l$F
\e(B<em>
\e$B$$$J$$
\e(B</em>
\e$B$+
\e(B?</strong>
292 UID/GID
\e$B$r:FEYJQ99$7$F$N%W%m%0%i%`<B9T$O$7$^$;$s
\e(B
298 <strong>
\e$BBP>]$H$J$k%f!<%6
\e(B/
\e$B%0%k!<%W$,%W%m%0%i%`$N
\e(B
299 \e$B%f!<%6
\e(B/
\e$B%0%k!<%W$HF1$8$+
\e(B?</strong>
302 \e$B%f!<%6$,$=$N%U%!%$%k$N=jM-<T$G$9$+
\e(B?
307 <strong>
\e$B0BA4$JF0:n$rJ]>Z$9$k$?$a$N4D6-JQ?t%/%j%"$,2DG=$+
\e(B?
311 suEXEC
\e$B$O!"0BA4$J4D6-JQ?t$N%j%9%H
\e(B
312 (
\e$B$3$l$i$O@_Dj;~$K:n@.$5$l$^$9
\e(B)
\e$BFb$NJQ?t$H$7$FEO$5$l$k0BA4$J
\e(B
313 PATH
\e$BJQ?t
\e(B (
\e$B@_Dj;~$K;XDj$5$l$^$9
\e(B)
\e$B$r@_Dj$9$k$3$H$G!"
\e(B
314 \e$B%W%m%;%9$N4D6-JQ?t$r%/%j%"$7$^$9!#
\e(B
320 <strong>
\e$BBP>]$H$J$k
\e(B CGI/SSI
\e$B%W%m%0%i%`$r
\e(B exec
\e$B$7$F<B9T$G$-$k$+
\e(B?</strong>
324 \e$B$3$3$G
\e(B suEXEC
\e$B$,=*N;$7!"BP>]$H$J$k%W%m%0%i%`$,3+;O$5$l$^$9!#
\e(B
329 <p>
\e$B$3$3$^$G$,
\e(B suEXEC
\e$B$N
\e(B wrapper
330 \e$B$K$*$1$k%;%-%e%j%F%#%b%G%k$NI8=`E*$JF0:n$G$9!#$b$&>/$787=E$K
\e(B
331 CGI/SSI
\e$B@_7W$K$D$$$F$N?7$7$$@)8B$d5,Dj$r<h$jF~$l$k$3$H$b$G$-$^$9$,!"
\e(B
332 suEXEC
\e$B$O%;%-%e%j%F%#$KCm0U$7$F?5=E$K>/$7$:$D3+H/$5$l$F$-$^$7$?!#
\e(B
335 <p>
\e$B$3$N%;%-%e%j%F%#%b%G%k$rMQ$$$F
\e(B
336 \e$B%5!<%P@_Dj;~$K$I$N$h$&$K5v$9$3$H$r@)8B$9$k$+!"$^$?!"
\e(BsuEXEC
337 \e$B$rE,@Z$K@_Dj$9$k$H$I$N$h$&$J%;%-%e%j%F%#>e$N4m81$rHr$1$i$l$k$+$K
\e(B
338 \e$B4X$9$k$h$j>\$7$$>pJs$K$D$$$F$O!"
\e(B<a href="#jabberwock">"
\e$B$H$+$2$KCm0U
\e(B"
339 (Beware the Jabberwock)</a>
\e$B$N>O$r;2>H$7$F$/$@$5$$!#
\e(B
343 <section id="install"><title>suEXEC
344 \e$B$N@_Dj$H%$%s%9%H!<%k
\e(B</title>
346 <p>
\e$B$3$3$+$i3Z$7$/$J$j$^$9!#
\e(B</p>
349 \e$B@_Dj%*%W%7%g%s
\e(B</strong><br />
353 <dt><code>--enable-suexec</code></dt>
355 <dd>
\e$B$3$N%*%W%7%g%s$O!"%G%U%)%k%H$G$O%$%s%9%H!<%k$5$l$:!"
\e(B
356 \e$BM-8z$K$O$J$i$J$$
\e(B suEXEC
\e$B5!G=$rM-8z$K$7$^$9!#
\e(B
357 suEXEC
\e$B$r;H$&$h$&$K
\e(B APACI
\e$B$KMW5a$9$k$K$O!"
\e(B<code>--enable-suexec</code>
358 \e$B%*%W%7%g%s$K$"$o$;$F>/$J$/$H$b0l$D$O
\e(B <code>--with-suexec-xxxxx</code>
359 \e$B%*%W%7%g%s$,;XDj$5$l$J$1$l$P$J$j$^$;$s!#
\e(B</dd>
361 <dt><code>--with-suexec-bin=<em>PATH</em></code></dt>
363 <dd>
\e$B%;%-%e%j%F%#>e$NM}M3$K$h$j!"
\e(B<code>suexec</code>
\e$B%P%$%J%j$N%Q%9$O%5!<%P$K
\e(B
364 \e$B%O!<%I%3!<%I$5$l$F$$$kI,MW$,$"$j$^$9!#%G%U%)%k%H$N%Q%9$r
\e(B
365 \e$BJQ$($?$$$H$-$O$3$N%*%W%7%g%s$r;H$C$F$/$@$5$$!#
\e(B<em>
\e$BNc$($P
\e(B</em>
\e$B!"
\e(B
366 <code>--with-suexec-bin=/usr/sbin/suexec</code>
\e$B$N$h$&$K!#
\e(B</dd>
368 <dt><code>--with-suexec-caller=<em>UID</em></code></dt>
370 <dd>Apache
\e$B$rDL>oF0:n$5$;$k
\e(B<a
371 href="mod/mpm_common.html#user">
\e$B%f!<%6L>
\e(B</a>
\e$B$r;XDj$7$^$9!#
\e(B
372 \e$B$3$N%f!<%6$@$1$,
\e(B suexec
\e$B$N<B9T$r5v2D$5$l$?%f!<%6$K$J$j$^$9!#
\e(B</dd>
374 <dt><code>--with-suexec-userdir=<em>DIR</em></code></dt>
376 <dd>suEXEC
\e$B$,%"%/%;%9$r5v$5$l$k%f!<%6%[!<%`%G%#%l%/%H%jG[2<$N
\e(B
377 \e$B%5%V%G%#%l%/%H%j$r;XDj$7$^$9!#
\e(B
378 \e$B$3$N%G%#%l%/%H%j0J2<$NA4<B9T%U%!%$%k$O!"
\e(B"
\e$B0BA4$J
\e(B"
\e$B%W%m%0%i%`$K$J$k$h$&!"
\e(B
379 suEXEC
\e$B$,$=$N%f!<%6$H$7$F<B9T$G$-$k$h$&$K$7$^$9!#
\e(B
380 "
\e$BC1=c$J
\e(B" UserDir
\e$B%G%#%l%/%F%#%V$r;H$C$F$$$k>l9g
\e(B
381 (
\e$B$9$J$o$A
\e(B "*"
\e$B$r4^$^$J$$$b$N
\e(B)
\e$B!"$3$l$HF1$8CM$r@_Dj$9$Y$-$G$9!#
\e(B
382 Userdir
\e$B%G%#%l%/%F%#%V$,$=$N%f!<%6$N%Q%9%o!<%I%U%!%$%kFb$N
\e(B
383 \e$B%[!<%`%G%#%l%/%H%j$HF1$8>l=j$r;X$7$F$$$J$1$l$P!"
\e(B
384 suEXEC
\e$B$OE,@Z$KF0:n$7$^$;$s!#%G%U%)%k%H$O
\e(B "public_html"
\e$B$G$9!#
\e(B
386 \e$B3F
\e(B UserDir
\e$B$,0[$J$C$?2>A[%[%9%H$r@_Dj$7$F$$$k>l9g!"
\e(B
387 \e$B$=$l$i$rA4$F0l$D$N?F%G%#%l%/%H%j$K4^$a$F!"
\e(B
388 \e$B$=$N?F%G%#%l%/%H%j$NL>A0$r$3$3$G;XDj$9$kI,MW$,$"$j$^$9!#
\e(B
389 <strong>
\e$B$3$N$h$&$K;XDj$5$l$J$1$l$P
\e(B "~userdir" cgi
390 \e$B$X$N%j%/%(%9%H$,F0:n$7$^$;$s!#
\e(B</strong></dd>
392 <dt><code>--with-suexec-docroot=<em>DIR</em></code></dt>
394 <dd>Apache
\e$B$N%I%-%e%a%s%H%k!<%H$r@_Dj$7$^$9!#$3$l$,
\e(B suEXEC
395 \e$B$NF0:n$G;HMQ$9$kM#0l$N%G%#%l%/%H%j3,AX$K$J$j$^$9
\e(B (UserDir
396 \e$B$N;XDj$OJL
\e(B)
\e$B!#%G%U%)%k%H$G$O
\e(B <code>--datedir</code>
\e$B$K
\e(B "/htdocs"
397 \e$B$H$$$&%5%U%#%C%/%9$r$D$1$?$b$N$G$9!#
\e(B
398 "<code>--datadir=/home/apache</code>"
\e$B$H$7$F@_Dj$9$k$H!"
\e(B
399 suEXEC wrapper
\e$B$K$H$C$F
\e(B "/home/apache/htdocs"
400 \e$B$,%I%-%e%a%s%H%k!<%H$H$7$F;H$o$l$^$9!#
\e(B</dd>
402 <dt><code>--with-suexec-uidmin=<em>UID</em></code></dt>
404 <dd>suEXEC
\e$B$NBP>]%f!<%6$H$7$F5v$5$l$k
\e(B UID
\e$B$N:G>.CM$r;XDj$7$^$9!#
\e(B
405 \e$BBgDq$N%7%9%F%`$G$O
\e(B 500
\e$B$+
\e(B 100
\e$B$,0lHLE*$G$9!#
\e(B
406 \e$B%G%U%)%k%HCM$O
\e(B 100
\e$B$G$9!#
\e(B</dd>
408 <dt><code>--with-suexec-gidmin=<em>GID</em></code></dt>
410 <dd>suEXEC
\e$B$NBP>]%0%k!<%W$H$7$F5v$5$l$k
\e(B GID
411 \e$B$N:G>.CM$r;XDj$7$^$9!#BgDq$N%7%9%F%`$G$O
\e(B 100
\e$B$,0lHLE*$J$N$G!"
\e(B
412 \e$B%G%U%)%k%HCM$H$7$F$b
\e(B 100
\e$B$,;H$o$l$F$$$^$9!#
\e(B</dd>
414 <dt><code>--with-suexec-logfile=<em>FILE</em></code></dt>
416 <dd>suEXEC
\e$B$N=hM}$H%(%i!<$,5-O?$5$l$k%U%!%$%kL>$r;XDj$7$^$9!#
\e(B
417 (
\e$B4F::$d%G%P%C%0L\E*$KM-MQ
\e(B)
418 \e$B%G%U%)%k%H$G$O%m%0%U%!%$%k$O
\e(B "suexec_log"
\e$B$H$$$&L>A0$G!"
\e(B
419 \e$BI8=`$N%m%0%U%!%$%k%G%#%l%/%H%j
\e(B (<code>--logfiledir</code>)
\e$B$KCV$+$l$^$9!#
\e(B
422 <dt><code>--with-suexec-safepath=<em>PATH</em></code></dt>
424 <dd>CGI
\e$B<B9T%U%!%$%k$KEO$5$l$k0BA4$J
\e(B PATH
\e$B4D6-JQ?t$G$9!#
\e(B
425 \e$B%G%U%)%k%HCM$O
\e(B "/usr/local/bin:/usr/bin:/bin"
\e$B$G$9!#
\e(B
429 <p><strong>suEXEC wrapper
430 \e$B$N%3%s%Q%$%k$H%$%s%9%H!<%k
\e(B</strong><br />
431 <code>--enable-suexec</code>
\e$B%*%W%7%g%s$G
\e(B suEXEC
\e$B5!G=$rM-8z$K$9$k$H!"
\e(B
432 "make"
\e$B%3%^%s%I$r<B9T$7$?;~$K
\e(B <code>suexec</code>
\e$B$N%P%$%J%j
\e(B (Apache
\e$B<+BN$b
\e(B)
433 \e$B$,<+F0E*$K:n@.$5$l$^$9!#
\e(B
435 \e$B$9$Y$F$N9=@.MWAG$,:n@.$5$l$k$H!"$=$l$i$N%$%s%9%H!<%k$K$O
\e(B
436 <code>make install</code>
\e$B%3%^%s%I$,<B9T$G$-$^$9!#%P%$%J%j%$%a!<%8$N
\e(B <code>suexec</code>
437 \e$B$O
\e(B <code>--sbindir</code>
\e$B%*%W%7%g%s$G;XDj$5$l$?%G%#%l%/%H%j$K%$%s%9%H!<%k$5$l$^$9!#
\e(B
438 \e$B%G%U%)%k%H$N>l=j$O
\e(B "/usr/local/apache/sbin/suexec"
\e$B$G$9!#
\e(B<br />
439 \e$B%$%s%9%H!<%k;~$K$O
\e(B <strong><em>root</em></strong>
440 \e$B8"8B$,I,MW$J$N$GCm0U$7$F$/$@$5$$!#
\e(Bwrapper
\e$B$,%f!<%6
\e(B ID
441 \e$B$r@_Dj$9$k$?$a$K!"=jM-<T
\e(B <code><em>root</em></code>
442 \e$B$G$N%;%C%H%f!<%6
\e(B ID
443 \e$B%S%C%H$r$=$N%U%!%$%k$N%b!<%I$K@_Dj$7$J$1$l$P$J$j$^$;$s!#
\e(B
446 <p><strong>
\e$B0BA4$J%Q!<%_%C%7%g%s$r@_Dj$9$k
\e(B</strong><br />
447 suEXEC
\e$B%i%C%Q!<$O!"
\e(B<code>--with-suexec-caller</code> configure
448 \e$B%*%W%7%g%s$G;XDj$7$?@5$7$$%f!<%6$G5/F0$5$l$F$$$k$3$H$r3NG'$7$^$9$,!"
\e(B
449 \e$B%7%9%F%`>e$G$3$N%A%'%C%/$,9T$J$o$l$kA0$K!"
\e(B
450 suEXEC
\e$B$,8F$V%7%9%F%`$d%i%$%V%i%j$,@H<e$G$"$k2DG=@-$O;D$j$^$9!#BP93:v$H$7$F!"
\e(B
451 \e$B0lHL$KNI$$=,47$H$b$5$l$$$^$9$,!"
\e(B
452 \e$B%U%!%$%k%7%9%F%`%Q!<%_%C%7%g%s$r;H$C$F
\e(B
453 Apache
\e$B$N<B9T;~$N%0%k!<%W$N$_$,
\e(B suEXEC
\e$B$r<B9T$G$-$k$h$&$K
\e(B
454 \e$B$9$k$N$,NI$$$G$7$g$&!#
\e(B</p>
456 <p>
\e$B$?$H$($P!"<!$N$h$&$K%5!<%P$,@_Dj$5$l$F$$$?$H$7$^$9!#
\e(B</p>
463 <p><code>suexec</code>
\e$B$,
\e(B "/usr/local/apache2/sbin/suexec"
464 \e$B$K%$%s%9%H!<%k$5$l$F$$$?>l9g!"<!$N$h$&$K@_Dj$9$kI,MW$,$"$j$^$9!#
\e(B</p>
467 chgrp webgroup /usr/local/apache2/bin/suexec<br />
468 chmod 4750 /usr/local/apache2/bin/suexec<br />
471 <p>
\e$B$3$l$G
\e(B Apache
\e$B$,<B9T$5$l$k%0%k!<%W$N$_$,
\e(B
472 suEXEC
\e$B%i%C%Q!<$r<B9T$G$-$k$H$$$&$3$H$r
\e(B
473 \e$B3N>Z$7$^$9!#
\e(B</p>
476 <section id="enable"><title>suEXEC
477 \e$B$NM-8z2=$HL58z2=
\e(B</title>
479 <p>
\e$B5/F0;~$K!"
\e(BApache
\e$B$O
\e(B <code>--sbindir</code>
480 \e$B%*%W%7%g%s$G@_Dj$5$l$?%G%#%l%/%H%j$G
\e(B
481 <code>suexec</code>
\e$B$rC5$7$^$9
\e(B
482 (
\e$B%G%U%)%k%H$O
\e(B "/usr/local/apache/sbin/suexec")
\e$B!#
\e(B
483 \e$BE,@Z$K@_Dj$5$l$?
\e(B suEXEC
\e$B$,$_$D$+$k$H!"
\e(B
484 \e$B%(%i!<%m%0$K0J2<$N%a%C%;!<%8$,=PNO$5$l$^$9!#
\e(B</p>
487 [notice] suEXEC mechanism enabled (wrapper: <em>/path/to/suexec</em>)
490 <p>
\e$B%5!<%P5/F0;~$K$3$N%a%C%;!<%8$,=P$J$$>l9g!"
\e(B
491 \e$BBgDq$O%5!<%P$,A[Dj$7$?>l=j$G
\e(B wrapper
\e$B%W%m%0%i%`$,8+$D$+$i$J$+$C$?$+!"
\e(B
492 <em>setuid root</em>
\e$B$H$7$F%$%s%9%H!<%k$5$l$F$$$J$$$+$G$9!#
\e(B</p>
494 <p>suEXEC
\e$B$N;EAH$_$r;HMQ$9$k$N$,=i$a$F$G!"
\e(BApache
\e$B$,4{$KF0:nCf$G$"$l$P!"
\e(B
495 Apache
\e$B$r
\e(B kill
\e$B$7$F!":F5/F0$7$J$1$l$P$J$j$^$;$s!#
\e(BHUP
\e$B%7%0%J%k$d
\e(B
496 USR1
\e$B%7%0%J%k$K$h$kC1=c$J:F5/F0$G$OIT==J,$G$9!#
\e(B</p>
497 <p>suEXEC
\e$B$rL58z$K$9$k>l9g$O!"
\e(B<code>suexec</code>
\e$B%U%!%$%k$r:o=|$7$F$+$i
\e(B
498 Apache
\e$B$r
\e(B kill
\e$B$7$F:F5/F0$7$^$9!#
\e(B
502 <section id="usage"><title>suEXEC
\e$B$N;HMQ
\e(B</title>
504 <p>CGI
\e$B%W%m%0%i%`$X$N%j%/%(%9%H$,
\e(B suEXEC
\e$B%i%C%Q!<$r8F$V$N$O!"
\e(B
505 <directive module="mod_suexec">SuexecUserGroup</directive>
\e$B%G%#%l%/%F%#%V$r
\e(B
506 \e$B4^$`%P!<%A%c%k%[%9%H$X$N%j%/%(%9%H$+!"
\e(B<module>mod_userdir</module>
\e$B$K$h$j
\e(B
507 \e$B=hM}$5$l$?%j%/%(%9%H$N>l9g$K8B$j$^$9!#
\e(B</p>
509 <p><strong>
\e$B2>A[%[%9%H
\e(B:</strong><br />
510 suEXEC wrapper
\e$B$N;H$$J}$H$7$F!"
\e(B
511 <directive module="core">VirtualHost</directive>
\e$B@_Dj$G$N
\e(B
512 <directive module="mod_suexec">SuexecUserGroup</directive>
513 \e$B%G%#%l%/%F%#%V$rDL$7$?$b$N$,$"$j$^$9!#
\e(B
514 \e$B$3$N%G%#%l%/%F%#%V$r%a%$%s%5!<%P$N%f!<%6
\e(B ID
515 \e$B$H0[$J$k$b$N$K$9$k$H!"
\e(BCGI
\e$B%j%=!<%9$X$N$9$Y$F$N%j%/%(%9%H$O!"$=$N
\e(B
516 <directive module="core"
517 type="section">VirtualHost</directive>
\e$B$G;XDj$5$l$?
\e(B <em>User</em>
\e$B$H
\e(B
518 <em>Group</em>
\e$B$H$7$F<B9T$5$l$^$9!#
\e(B<directive module="core"
519 type="section">VirtualHost</directive>
520 \e$B$G$3$N%G%#%l%/%F%#%V$,;XDj$5$l$F$$$J$$>l9g!"
\e(B
521 \e$B%a%$%s%5!<%P$N%f!<%6
\e(B ID
\e$B$,A[Dj$5$l$^$9!#
\e(B</p>
523 <p><strong>
\e$B%f!<%6%G%#%l%/%H%j
\e(B:</strong><br />
524 <module>mod_userdir</module>
\e$B$K$h$j=hM}$5$l$?%j%/%(%9%H$O
\e(B
525 \e$B%j%/%(%9%H$5$l$?%f!<%6%G%#%l%/%H%j$N%f!<%6
\e(B ID
\e$B$G
\e(B CGI
\e$B%W%m%0%i%`$r
\e(B
526 \e$B<B9T$9$k$?$a$K
\e(B suEXEC
\e$B%i%C%Q!<$r8F$S$^$9!#
\e(B
527 \e$B$3$N5!G=$rF0:n$5$;$k$?$a$KI,MW$J$3$H$O!"
\e(BCGI
528 \e$B$r$=$N%f!<%6$G<B9T$G$-$k$3$H!"$=$N%9%/%j%W%H$,>e5-$N
\e(B<a
529 href="#model">
\e$B%;%-%e%j%F%#8!::
\e(B</a>
\e$B$r%Q%9$G$-$k$3$H$G$9!#
\e(B
530 <a href="#install">
\e$B%3%s%Q%$%k
\e(B
531 \e$B;~$N%*%W%7%g%s
\e(B</a> <code>--with-suexec-userdir</code>
\e$B$b;2>H$7$F$/$@$5$$!#
\e(B</p>
534 <section id="debug"><title>suEXEC
\e$B$N%G%P%C%0
\e(B</title>
536 <p>suEXEC wrapper
\e$B$O!">e5-$G=R$Y$?
\e(B <code>--with-suexec-logfile</code>
537 \e$B%*%W%7%g%s$G;XDj$5$l$?%U%!%$%k$K%m%0>pJs$r5-O?$7$^$9!#
\e(B
538 wrapper
\e$B$rE,@Z$K@_Dj!"%$%s%9%H!<%k$G$-$F$$$k$H;W$&>l9g!"
\e(B
539 \e$B$I$3$GLB$C$F$$$k$+8+$h$&$H$9$k$J$i$3$N%m%0$H%5!<%P$N
\e(B
540 \e$B%(%i!<%m%0$r8+$k$H$h$$$G$7$g$&!#
\e(B</p>
543 <section id="jabberwock"><title>
\e$B$H$+$2$KCm0U
\e(B:
\e$B7Y9p$H;vNc
\e(B</title>
545 <p><strong>
\e$BCm0U
\e(B!</strong>
546 \e$B$3$N>O$O40A4$G$O$"$j$^$;$s!#$3$N>O$N:G?72~D{HG$K$D$$$F$O!"
\e(B
547 Apache
\e$B%0%k!<%W$N
\e(B<a href="http://httpd.apache.org/docs-2.1/suexec.html">
548 \e$B%*%s%i%$%s%I%-%e%a%s%H
\e(B</a>
\e$BHG$r;2>H$7$F$/$@$5$$!#
\e(B
551 <p>
\e$B%5!<%P$N@_Dj$K@)8B$r$b$&$1$k
\e(B wrapper
\e$B$K$D$$$F!"
\e(B
552 \e$B$$$/$D$+6=L#?<$$E@$,$"$j$^$9!#
\e(BsuEXEC
\e$B$K4X$9$k
\e(B "
\e$B%P%0
\e(B"
553 \e$B$rJs9p$9$kA0$K$3$l$i$r3NG'$7$F$/$@$5$$!#
\e(B</p>
556 <li><strong>suEXEC
\e$B$N6=L#?<$$E@
\e(B</strong></li>
558 <li>
\e$B3,AX9=B$$N@)8B
\e(B
562 \e$B%;%-%e%j%F%#$H8zN($NM}M3$+$i!"
\e(B<code>suEXEC</code>
\e$B$NA4$F$N%j%/%(%9%H$O
\e(B
563 \e$B2>A[%[%9%H$X$N%j%/%(%9%H$K$*$1$k:G>e0L$N%I%-%e%a%s%H%k!<%HFb$+!"
\e(B
564 \e$B%f!<%6%G%#%l%/%H%j$X$N%j%/%(%9%H$K$*$1$k8D!9$N%f!<%6$N:G>e0L$N
\e(B
565 \e$B%I%-%e%a%s%H%k!<%HFb$K;D$i$J$1$l$P$J$j$^$;$s!#
\e(B
566 \e$BNc$($P!";M$D$N2>A[%[%9%H$r@_Dj$7$F$$$k>l9g!"
\e(B
567 \e$B2>A[%[%9%H$N
\e(B suEXEC
\e$B$KM-Mx$J$h$&$K!"%a%$%s$N
\e(B Apache
568 \e$B%I%-%e%a%s%H3,AX$N30B&$KA4$F$N2>A[%[%9%H$N%I%-%e%a%s%H%k!<%H$r
\e(B
569 \e$B9=C[$9$kI,MW$,$"$j$^$9!#
\e(B(
\e$BNc$O8eF|5-:\
\e(B)
573 <li>suEXEC
\e$B$N
\e(B PATH
\e$B4D6-JQ?t
\e(B
577 \e$B$3$l$rJQ99$9$k$N$O4m81$G$9!#$3$N;XDj$K4^$^$l$k3F%Q%9$,
\e(B
578 <strong>
\e$B?.Mj$G$-$k
\e(B</strong>
579 \e$B%G%#%l%/%H%j$G$"$k$3$H$r3NG'$7$F$/$@$5$$!#
\e(B
580 \e$B@$3&$+$i$N%"%/%;%9$K$h$j!"C/$+$,%[%9%H>e$G%H%m%$$NLZGO
\e(B
581 \e$B$r<B9T$G$-$k$h$&$K$O$7$?$/$J$$$G$7$g$&!#
\e(B
585 <li>suEXEC
\e$B%3!<%I$N2~B$
\e(B
589 \e$B7+$jJV$7$^$9$,!"2?$r$d$m$&$H$7$F$$$k$+GD0.$;$:$K$3$l$r$d$k$H
\e(B
590 <strong>
\e$BBg$-$JLdBj
\e(B</strong>
\e$B$r0z$-5/$3$7$+$M$^$;$s!#
\e(B
591 \e$B2DG=$J8B$jHr$1$F$/$@$5$$!#
\e(B