Sophie

Sophie

distrib > Mandriva > 9.2 > i586 > by-pkgid > a804ef007a99f7d26cf24253c2994680 > files > 1290

howto-html-ja-9.1-0.5mdk.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
 <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
 <TITLE>Secure Programming for Linux HOWTO: $BGX7J(B</TITLE>
 <LINK HREF="Secure-Programs-HOWTO-3.html" REL=next>
 <LINK HREF="Secure-Programs-HOWTO-1.html" REL=previous>
 <LINK HREF="Secure-Programs-HOWTO.html#toc2" REL=contents>
</HEAD>
<BODY>
<A HREF="Secure-Programs-HOWTO-3.html">$B<!$N%Z!<%8(B</A>
<A HREF="Secure-Programs-HOWTO-1.html">$BA0$N%Z!<%8(B</A>
<A HREF="Secure-Programs-HOWTO.html#toc2">$BL\<!$X(B</A>
<HR>
<H2><A NAME="s2">2. $BGX7J(B</A></H2>

<H2><A NAME="ss2.1">2.1 Linux $B$H%*!<%W%s!&%=!<%9!&%=%U%H%&%(%"(B</A>
</H2>

<P>1984 $BG/$K(B Richard Stallman $B;a$O(B Free Software Foundation (FSF)$B$K$F!"(BGNU 
$B%W%m%8%'%/%H$H$$$&!"%U%j!<$J(B UNIX $B%*%Z%l!<%F%#%s%0%7%9%F%`$r:n$j>e$2$k(B
$B%W%m%8%'%/%H$rN)$A>e$2$^$7$?!#%U%j!<$H$$$&8@MU$G!"(BStallman $B;a$OMxMQ$9$k(B
$B$3$H!"FbMF(B($B%=!<%9(B)$B$rFI$`$3$H!"=$@5$r2C$($k$3$H!":FG[I[$9$k$3$H$,<+M3$K(B
$B$G$-$k%=%U%H%&%(%"$rI=8=$7$^$7$?!#(B
FSF $B$O?tB?$/$NJXMx$J%D!<%k72$r:n@.$9$k$3$H$,$G$-$^$7$?$,!"FH<+$N%*%Z%l!<(B
$B%F%#%s%0%7%9%F%`$N%+!<%M%k$r;W$&$h$&$K3+H/$G$-$:$K$$$^$7$?(B [FSF 1998]$B!#(B
1991 $BG/$K(B Linus Torvalds $B;a$,!V(BLinux$B!W$H$$$&%*%Z%l!<%F%#%s%0%7%9%F%`$N(B
$B%+!<%M%k$r3+H/$7$O$8$a$^$7$?(B [Torvalds 1999]$B!#(B
$B$3$N%+!<%M%k$O(B FSF $B$dB>$N%D!<%k$HAj$^$C$F!"<+M3$K2~JQ$G$-$k!"$?$$$X$s<BMQE*(B
$B$J%*%Z%l!<%F%#%s%0%7%9%F%`$H$J$j$^$7$?!#(B
$B$3$N%I%-%e%a%s%H$G$O%+!<%M%k$r;X$98@MU$H$7$F!V(BLinux $B%+!<%M%k!W$r!"%7%9%F%`(B
$BA4BN$r<($98@MU$H$7$F!V(BLinux$B!W$r;HMQ$7$^$9(B($BF1MM$J0UL#$G(B GNU/Linux $B$H$$$&I=8=(B
$B$r;H$&>l9g$,B?!9$"$j$^$9(B)$B!#(B
<P>$BMM!9$JCDBN$,$=$l$>$l$K!"JXMx$J%D!<%k72$r$3$N%+!<%M%k$HAH$_9g$o$;$F$$$^$9!#(B
$B$3$NAH9g$;$r!V%G%#%9%H%j%S%e!<%7%g%s!W$H8F$S!"CDBN$r!V%G%#%9%H%j%S%e!<%?!W(B
$B$H8F$s$G$$$^$9!#(B
$B$h$/CN$i$l$?%G%#%9%H%j%S%e!<%?$K$O(B Red Hat$B!"(BMandrake$B!"(BSuSE$B!"(BCaldera$B!"(BCorel$B!"(B
Debian $B$,$"$j$^$9!#(B
$B$3$N%I%-%e%a%s%H$OFCDj$N%G%#%9%H%j%S%e!<%7%g%s$K%?!<%2%C%H$rEv$F$F$$$^$;$s(B
$B$,!"%+!<%M%k$N%P!<%8%g%s$,(B 2.2 $B0J>e$G(B C $B%i%$%V%i%j$,(B glibc 2.1 $B0J>e$G$"$k(B
$B$3$H$rA0Ds$K$7$F$$$^$9!#8=:_$N<gMW$J%G%#%9%H%j%S%e!<%7%g%s$O$9$Y$F!"$3$N(B
$BA0Ds$rK~$?$7$F$$$^$9!#(B
<P>$B!V%U%j!<%=%U%H%&%(%"!W$X$N4X?4$,A}$9$K$D$l!"$=$NDj5A$H@bL@$r9T$&I,MW@-$,(B
$B$G$F$-$^$7$?!#(B
$B@$4V$G9-$/;HMQ$5$l$F$$$k8@MU$O!V%*!<%W%s!&%=!<%9!&%=%U%H%&%(%"!W$G$"$j!"(B
[OSI 1999] $B$G>\:Y$KDj5A$5$l$F$$$^$9!#(B
Eric Raymond [1997, 1998] $B$NCf$G!"%U%j!<%=%U%H%&%(%"$N3+H/2aDx$K$D$$$F!"(B
$BFHAO@-$KIY$s$@O@J8$r$$$/$D$+H/I=$7$F$$$^$9!#(B
<P>Linux $B$O$$$o$f$k(B UNIX $B$H8F$P$l$k$b$N$+$i%=!<%9%3!<%I$rN.MQ$7$F$$$^$;$s!#(B
$B$7$+$7$=$N%$%s%?!<%U%'!<%9$OHs>o$K(B UNIX $B%i%$%/$G$9!#(B
$B$=$N$?$a(B UNIX $B$G3X$s$@6571$O$=$N$^$^(B Linux $B$K$bEv$F$O$^$j$^$9!#$b$A$m$s(B
$B%;%-%e%j%F%#$K$D$$$F$bF1MM$G$9!#(B
$B$3$N%I%-%e%a%s%H$G=R$Y$i$l$F$$$k>pJs$NBgItJ,$O!"<B:]$N$H$3$mB>$N(B UNIX 
$B%i%$%/$J%7%9%F%`$G$bLr$KN)$A$^$9!#$7$+$7(B Linux $B8GM-$N>pJs$b0U?^E*$K2C$((B
$B$i$l$F$$$^$9!#$=$l$O(B Linux $B$N;}$DM%$l$?G=NO$r0z$-=P$9$?$a$G$9!#(B
$B$3$N%I%-%e%a%s%H$G$O$"$($F(B Linux $B%7%9%F%`$K>GE@$rEv$F$F!"BP>]$H$J$k%7%9%F%`(B
$B$r69$a$F$$$^$9!#$9$Y$F$N(B UNIX $B%i%$%/$J%7%9%F%`$rBP>]$K$7$F$7$^$&$H!"%]!<%F%#(B
$B%s%0$dB>$N%7%9%F%`$N5!G=$K$D$$$F$N>\:Y$J8!F$$,I,MW$K$J$C$F$7$^$$!"7k2L$H$7$F(B
$B$3$N%I%-%e%a%s%H$NNL$,A}$($F$7$^$&$?$a$G$9!#(B
<P>Linux $B$OHs>o$K(B UNIX $B%i%$%/$G!"(BUNIX $B$N;}$D%;%-%e%j%F%#4XO"$N$7$/$_$r;}$C$F(B
$B$$$^$9!#(B
$B$=$N$7$/$_$H$O!"%W%m%;%9$KBP$9$k%f!<%6$d%0%k!<%W$N(B ID(uid $B$H(B gid)$B!"FI$_!?(B
$B=q$-!?<B9T$=$l$>$l$N%Q!<%_%C%7%g%s$r;}$C$?%U%!%$%k%7%9%F%`!"(BSystem V $BM3Mh(B
$B$N%W%m%;%94VDL?.(B(IPC)$B!"%=%1%C%H%Y!<%9$N(B IPC($B%M%C%H%o!<%/$rMxMQ$7$?DL?.$b(B
$B4^$`(B)$BEy$G$9!#(B
UNIX $B%7%9%F%`0lHL$N4pK\E*$J%;%-%e%j%F%#$K$D$$$F$N>pJs$O!"(B
Thompson [1974] $B$H(B Bach [1986] $B$r8+$F$/$@$5$$!#(B
$B%;%/%7%g%s(B 3 $B$G$O(B Linux $B$N%;%-%e%j%F%#5!9=$N%-!<%]%$%s%H$r35@b$7$^$9!#(B
<P>
<H2><A NAME="ss2.2">2.2 $B%;%-%e%j%F%#$N86B'(B</A>
</H2>

<P>$B%;%-%e%j%F%#$N86B'$K$D$$$F$O!">/$J$+$i$:CN$C$F$*$/I,MW$,$"$j$^$9!#(B
$B$<$R(B [Pfleeger 1997] $B$N$h$&$J!"%3%s%T%e!<%?$K4X$o$k%;%-%e%j%F%#A4HL$K$D$$$F(B
$B=q$+$l$?=q@R$rFI$s$G$/$@$5$$!#(B
<P>Saltzer [1974] $B$H(B Saltzer and Schroeder [1975] $B$K$*$$$F!"0BA4$rJ]8n$9$k(B
$B$?$a$N%7%9%F%`@_7W$r9T$&$KEv$?$C$F!"$=$N86B'$K$D$$$F2<5-$N$h$&$K$^$H$a$F(B
$B$$$^$9!#$3$l$O8=:_$G$b$J$*M-8z$G$9!#(B
<UL>
<LI><I>$BFC8"$r$G$-$k$@$1;}$?$;$J$$(B</I>$B!#(B
$B%f!<%6$d%W%m%0%i%`$K$O!"$G$-$k$@$18"8B$r;}$?$;$J$$$h$&$K$9$k$3$H!#(B
$B$=$&$9$l$P!"967b<T$K$h$k%@%a!<%8$,:G>.8B$KM^$($i$l$k(B</LI>
<LI><I>$B$7$/$_$rC1=c$K(B</I>$B!#(B
$BKI8f%7%9%F%`$O>.$5$/C1=cL@2w$J@_7W$K$9$k$3$H(B</LI>
<LI><I>$B%*!<%W%s$J@_7W(B</I>$B!#(B
$BKI8f$9$k$7$/$_$O!"967b<T$,$=$N$7$/$_$NCN<1$r;}$C$F$J$$$3$H$K0MB8$7$F(B
$B$O$J$i$J$$!#(B
$B5U$K!"$=$N$7$/$_$O8x3+$5$l$?$b$N$G!"%Q%9%o!<%I$N$h$&$KHf3SE*>/$J$$9`L\(B
($B$=$7$F4JC1$KJQ$($i$l$k(B)$B$GHkL)$r<i$l$k$3$H!#(B
$B$=$&$7$F$*$1$P!"9-$/Bh;0<T$+$i%A%'%C%/$r<u$1$i$l$k!#(B
Bruce Schneier $B;a$O!"F,$N@Z$l$k%(%s%8%K%"$J$i$P!"!V%;%-%e%j%F%#$K4X$9$k(B
$B$9$Y$F$N%3!<%I$O%*!<%W%s!&%=!<%9$G$"$k$3$H$r6/$/<gD%$9$k!W$K0c$$$J$$$H(B
$B$7$F$$$k!#(B
$B$^$?$=$&$9$k$3$H$G!"9-$/Bh;0<T$+$i%l%S%e!<$r<u$1$i$l!"$=$3$GLdBj$H$J$C$?(B
$BItJ,$b=$@5$5$l$k$3$H$r>ZL@$7$F$$$k!#(B[Schneier 1999]</LI>
<LI><I>$B40A4$KCg2p$r9T$&$3$H(B</I>$B!#(B
$B$9$Y$F$N%"%/%;%9$r%A%'%C%/$7$J$1$l$P$J$i$J$$!#%A%'%C%/$9$k$7$/$_$O!"(B
$B$=$l$,GK$i$l$J$$$H$3$m$KCV$/$3$H!#(B
$B$?$H$($P!"%/%i%$%"%s%H(B-$B%5!<%P!<!&%b%G%k$G$"$l$P!"%5!<%P!<B&$G$9$Y$F$N(B
$B%"%/%;%9$r%A%'%C%/$9$kI,MW$,$"$k!#$=$l$O%f!<%6$,!"%/%i%$%"%s%HB&$r?7$7$/(B
$B:n@.$7$?$j!"4{B8$N$b$N$r=$@5$9$k$3$H$,2DG=$J$?$a$G$"$k(B</LI>
<LI><I>$B%Q!<%_%C%7%g%s$r3hMQ$9$k$3$H(B</I>$B!#(B
$B%G%U%)%k%H$G$O%5!<%S%9$r5qH]$9$k$3$H(B</LI>
<LI><I>$B8"8B$r=8Cf$5$;$J$$(B</I>$B!#(B
$BBP>]$X$N%"%/%;%9$KEv$?$C$F!"M}A[E*$K$OJ#?t$N>r7o$r$D$1$kI,MW$,$"$k!#$=$&(B
$B$9$l$P!"$b$7$"$kKI8f%7%9%F%`$,GK$i$l$F$b!"L5@)8B$J%"%/%;%9$r5v$9$h$&$J(B
$B$3$H$K$O$J$i$J$$(B</LI>
<LI><I>$B6&DL$7$?$7$/$_$O$G$-$k$@$1MQ$$$J$$(B</I>$B!#(B
$B$7$/$_$r6&DL2=$9$k$H!"$=$3$,0lO"$N>pJs$NN.$l$NCf$G4m81@-$r$O$i$s$@7PO)(B
$B$K$J$C$F$7$^$&62$l$,$"$k!#$7$?$,$C$FJ*M}E*$K$bO@M}E*$K$bFHN)$5$;$k$3$H(B</LI>
<LI><I>$B4JC1$K;H$($k(B</I>$B!#(B
$B%f!<%6$,MxMQ$r7I1s$7$J$$$h$&$K!"4JC1$K;H$($k$h$&$K$9$k$3$H(B</LI>
</UL>
<P>
<H2><A NAME="ss2.3">2.3 $B0BA4@-$,5a$a$i$l$k%W%m%0%i%`$N<oN`(B</A>
</H2>

<P>$B0BA4@-$OB?4t$KEO$k%W%m%0%i%`(B($B$3$N%I%-%e%a%s%H$GDj5A$5$l$F$$$k(B)$B$K5a$a$i(B
$B$l$F$$$^$9!#(B
$BBeI=E*$J$b$N$r$"$2$F$_$^$9!#(B
<UL>
<LI>$B%j%b!<%H$K$"$k%G!<%?$r8+$k$?$a$N%"%W%j%1!<%7%g%s!#(B
$B%S%e!<%"!<(B($B%o!<%I%W%m%;%C%5$d%U%!%$%k%U%)!<%^%C%H$r8+$k$?$a$N%S%e!<%"!<(B
$B$J$I(B)$B$H$7$F;H$o$l$k%W%m%0%i%`$G$O!"N%$l$?$H$3$m$K$$$k?.Mj$G$-$J$$%f!<%6(B
$B$,%G!<%?$rAw$k$h$&$KMW5a$9$k%1!<%9$,B?$$(B($B$3$N$h$&$JMW5a$O(B Web $B%V%i%&%6(B
$B$,<+F0E*$K9T$C$F$$$k>l9g$,$"$k(B)$B!#(B
$B?.Mj$G$-$J$$%f!<%6$+$i$NF~NO$K$h$C$F!"G$0U$N%W%m%0%i%`$rF0$+$9$h$&$J(B
$B%"%W%j%1!<%7%g%s$O7h$7$F5v2D$9$Y$-$G$O$J$$!#(B
$B=i4|2=%^%/%m(B($B%G!<%?$rI=<($9$k;~$KF0$/(B)$B$r%5%]!<%H$9$k$3$H$b!"0lHLE*$K(B
$B$h$$$H$O$$$($J$$!#2>$K%5%]!<%H$7$J$1$l$P$J$i$J$$>l9g$G$b!"0BA4$J%5%s%I(B
$B%\%C%/%9(B($BJ#;($G4V0c$$$,5/$-$,$A(B)$B$rMQ0U$9$kI,MW$,$"$k!#(B
$B8eDx?($l$k%P%C%U%!%*!<%P!<%U%m!<$N$h$&$JLdBj$O!"==J,$KCm0U$,I,MW$G$"$k!#(B
$B%P%C%U%!%*!<%P!<%U%m!<$,5/$-$k$H!"?.Mj$G$-$J$$%f!<%6$,%S%e!<%"!<7PM3$G(B
$BG$0U$N%W%m%0%i%`$rF0$+$9$3$H$r5v$7$F$7$^$&62$l$,$"$k(B
<P><B>$BLuCp!'(B</B>$B%5%s%I%\%C%/%9(B(sandbox)$B$H$O!"@)8BIU$-$GJ]8n$5$l$?%a%b%j!<(B
$BNN0h!#$3$NNN0h$GF0$/%"%W%j%1!<%7%g%s$O!"%7%9%F%`$K%@%a!<%8$rM?$($J$$(B
$B$h$&$K@_7W!"F0:n$7$^$9!#(B
<P>
</LI>
<LI>$B%7%9%F%`4IM}<T(B(root)$B$,;HMQ$9$k%"%W%j%1!<%7%g%s!&%W%m%0%i%`!#(B
$B$=$N$h$&$J%W%m%0%i%`$G$O!"%7%9%F%`4IM}<T0J30$,JQ99$G$-$k>pJs$r?.Mj$7$F$O(B
$B$$$1$J$$(B</LI>
<LI>$B%m!<%+%k$N%5!<%P!<(B($B%G!<%b%s$H8F$P$l$F$k(B)</LI>
<LI>$B%M%C%H%o!<%/%5!<%S%9$r9T$&%5!<%P!<(B($B%M%C%H%o!<%/!&%G!<%b%s$H8F$P$l$k$3$H(B
$B$b$"$k(B)</LI>
<LI>CGI $B%9%/%j%W%H!#(B
CGI $B%9%/%j%W%H$O!"%M%C%H%o!<%/%5!<%S%9$r9T$&%5!<%P!<$H$7$F$OFC<l$JNc$K(B
$BEv$?$k!#$7$+$7$h$/;HMQ$5$l$F$$$k$N$G!"FHN)$7$?J,Ln$H$7$F07$&$3$H$K$9$k!#(B
Web $B%5!<%P!<$,(B CGI $B%9%/%j%W%H$rF0$+$9!#967b$NFb$$$/$D$+$N$b$N$O(B Web 
$B%5!<%P!<$,%U%#%k%?%j%s%0$9$k$,!"(BCGI $B%9%/%j%W%HB&$GBP=h$7$J$1$l$P$J$i$J$$(B
$B967b$b?tB?$/$"$k(B</LI>
<LI>setuid/setgid $B$5$l$?%W%m%0%i%`!#(B
$B$3$l$i$N%W%m%0%i%`$O!"$=$N%^%7%s$r;H$C$F$$$k%f!<%6$,<B9T$9$k!#<B9T$5$l$k(B
$B$H$=$N%W%m%0%i%`$N%*!<%J!<$d%*!<%J!<$N=jB0$9$k%0%k!<%W$N8"8B$,M?$($i$l$k!#(B
$BMM!9$JM}M3$G!"0BA4LL$+$i$9$k$H$3$l$i$OHs>o$K$d$C$+$$$J%W%m%0%i%`$G$"$k!#(B
$B$H$$$&$N$b!"F~NO$NBgItJ,$O?.Mj$G$-$J$$%f!<%6$,A`$C$F$*$j!"Cf$K$OC/$,F~NO(B
$B$7$?$N$+$o$+$i$J$$$b$N$b$"$k(B</LI>
</UL>
<P>$B$3$N%I%-%e%a%s%H$G$O!">e5-$N0[$J$C$?<oN`$N%W%m%0%i%`$NLdBjE@$r0l@Z9g:b$^$H(B
$B$a$F$7$^$$$^$9!#(B
$B$3$N$d$jJ}$N7gE@$O!";XE&$5$l$?LdBj$NCf$K$O$9$Y$F$N<oN`$N%W%m%0%i%`$KEv$F(B
$B$O$^$k$H$O8B$i$J$$$b$N$b4^$^$l$F$$$k$H$$$&$3$H$G$9!#(B
$BFC$K(B setuid/setgid $B$5$l$?%W%m%0%i%`$O!"M=A[$G$-$J$$$h$&$JF~NO$r<u$1<h$k$?$a!"(B
$B%,%$%I%i%$%s$N$$$/$D$+$O(B setuid/setgid $B$5$l$?%W%m%0%i%`$K$7$+Ev$F$O$^$j$^(B
$B$;$s!#(B
$B$7$+$7<B:]$O$=$s$J$K3d$j@Z$l$k$b$N$G$O$"$j$^$;$s!#$H$$$&$N$b!"$"$k<o$N%W%m(B
$B%0%i%`$O$$$/$D$+$NHOaF$K$^$?$,$C$F$$$k$+$i$G$9(B($B$?$H$($P!"(B CGI $B%9%/%j%W%H$O(B 
setuid/setgid $B$5$l$F$$$k$+$b$7$l$J$$$7!"(Bsetuid/setgid $B$HF1MM$J8z2L$,=P$k$h$&(B
$B$K@_Dj$5$l$F$$$k$+$b$7$l$^$;$s(B)$B!#(B
$B%W%m%0%i%`$N<oN`$9$Y$F$r$^$H$a$F9M$($k$3$H$ND9=j$O!"%W%m%0%i%`$NJ,N`$r4V0c$((B
$B$?$j$9$k$3$H$J$/$9$Y$F$NLdBj$r8!F$$G$-$kE@$K$"$j$^$9!#(B
$B$3$l$+$i8+$F$$$/$3$H$K$J$j$^$9$,!"86B'$NB?$/$O0BA4@-$,I,MW$H$J$k%W%m%0%i%`(B
$B$9$Y$F$KEv$F$O$^$j$^$9!#(B
<P>$B$3$N%I%-%e%a%s%H$O!"(BC $B$G=q$+$l$?%W%m%0%i%`$KB?>/$+$?$h$k798~$K$"$j$^$9$,!"(B
C++ $B$d!"(BPerl$B!"(BPython$B!"(BAda95$B!"(BJava $B$J$I$K$D$$$F$bB?>/$O?($l$F$$$^$9!#(B
$B$3$l$O(B C $B$,(B $B0BA4$J%W%m%0%i%`$r(B Linux $B$G<BAu$9$k$N$K:G$b%]%T%e%i!<$J8@8l(B
$B$@$+$i$G$9(B(CGI $B%9%/%j%W%H$ONc30$G$9!#(BPerl $B$,$h$/;H$o$l$F$$$^$9(B)$B!#B>$N8@8l(B
$B$G$"$C$F$b!"$=$N<BAu$O(B C $B$G9T$C$F$$$k>l9g$,$[$H$s$I$G$9!#(B
$B$@$+$i$H$$$C$F!"(BC $B$,0BA4$J%W%m%0%i%`$r=q$/$?$a$N!V:GNI$N!W8@8l$G$"$k(B
$B$o$1$G$O$"$j$^$;$s!#$3$3$G=R$Y$i$l$F$$$k86B'$NB?$/$O!";HMQ$5$l$F$$$k%W%m%0%i(B
$B%_%s%08@8l$K$h$i$:E,MQ$G$-$^$9!#(B
<P>
<H2><A NAME="ss2.4">2.4 $B5?$$?<$/!"$3$@$o$j$,6/$$$3$H$OH~FA$G$9(B</A>
</H2>

<P>$B$^$:0BA4@-$,5a$a$i$l$k%W%m%0%i%`$r=q$/$KEv$?$C$F$d$C$+$$$JE@$O!"$=$NCe4cE@(B
$B$,IaDL$N%W%m%0%i%`$H0c$&$H$3$m$G$9!#4JC1$K$$$&$H!"5?$$?<$/!"$3$@$o$j$r6/$/(B
$B;}$DI,MW$,$"$k$H$$$&$3$H$G$9!#(B
$B$H$$$&$N$b!"%(%i!<(B($B7g4Y$H$+%P%0$H$b8F$P$l$F$$$^$9(B)$B$,@8$8$?;~$K!"%7%9%F%`(B
$B$KM?$($k1F6A$,IaDL$N%W%m%0%i%`$H$O$^$C$?$/0c$&$+$i$G$9!#(B
<P>$B0BA4@-$,5a$a$i$l$J$$IaDL$N%W%m%0%i%`$O!"%(%i!<$r$?$/$5$sJz$($F$$$^$9!#(B
$B$b$A$m$s$3$l$i$N%(%i!<$O9%$^$7$/$J$$$b$N$G$9$,!"$?$$$F$$$O$[$H$s$I5/$3$i(B
$B$J$$$b$N$@$C$?$j!"5/$3$C$?$H$7$F$bHs>o$K$^$l$J%1!<%9$@$C$?$j$7$^$9!#2>$K(B
$B5/$3$C$?$H$7$F$b!"%f!<%6$O6vA3$K=P$/$o$7$F$7$^$C$?$O$:$G!"$=$N%P%0$r2?$H$+(B
$BHr$1$J$,$iMxMQ$7B3$1$h$&$H$9$k$H;W$$$^$9!#(B
<P>$B0BA4@-$,5a$a$i$l$k%W%m%0%i%`$G$O!"$3$N>u67$,0lJQ$7$^$9!#(B
$B$H$"$k%f!<%6$O!"0U?^E*$K%P%0$rA\$7=P$7$F!"K\Ev$K$^$l$K$7$+5/$3$i$J$$>u67$r(B
$B$D$/$j=P$7$^$9!#$=$7$F967b$9$k$3$H$K$h$C$FITEv$J8"8B$rF@$h$&$H$7$^$9!#(B
$B$D$^$j!"0BA4$J%W%m%0%i%`$r=q$/$N$KEv$?$C$F$O!"5?$$?<$/!"$3$@$o$j$r6/$/;}$D(B
$B$3$H$,H~FA$K$J$k$N$G$9!#(B
<H2><A NAME="ss2.5">2.5 $B@_7W$H<BAu$r9T$&$KEv$?$C$F$N%,%$%I%i%$%s$H$J$k>pJs8;$K$D$$$F(B</A>
</H2>

<P>$B0BA4@-$,5a$a$i$l$k%W%m%0%i%`$r=q$/$?$a(B($B$b$7$/$O4{B8$N%W%m%0%i%`$N%;%-%e(B
$B%j%F%#>e$NLdBjE@$r8+$D$1$k$?$a(B)$B$K!"MM!9$J%I%-%e%a%s%H$,=q$+$l$F$$$^$9!#(B
$B$3$l$i$N%I%-%e%a%s%H$O!"$3$l$+$i$3$N%I%-%e%a%s%H$GL@$i$+$K$7$F$$$/%,%$%I(B
$B%i%$%s$N:,5r$K$J$C$F$$$^$9!#(B
<P>
<P>
<P>AUSCERT $B$O%W%m%0%i%`$KEv$?$C$F$N%A%'%C%/%j%9%H$r8x3+$7$F$$$^$9!#(B
<A HREF="ftp://ftp.auscert.org.au/pub/auscert/papers/secure_programming_checklist">[AUSCERT 1996]</A>,
$B$3$N%A%'%C%/%j%9%H$O(B suid $B$5$l$?%W%m%0%i%`$d%M%C%H%o!<%/4XO"$N%W%m%0%i%`$r(B
$B$$$+$K0BA4$K$9$k$+$K$D$$$FO@$8$?(B Garfinkel$B!"(BSpafford $B3F;a$N(B 22 $B>O$NItJ,$r(B
$B%Y!<%9$K$7$F$$$^$9!#(B
<A HREF="http://www.oreilly.com/catalog/puis">[Garfinkel 1996]</A>.
Matt $B;a$O!"(B
<A HREF="http://olympus.cs.ucdavis.edu/~bishop/secprog.html">Bishop [1996, 1997]</A>
$B$G$3$N%H%T%C%/$K4XO"$7$F!"Hs>o$KLr$KN)$D%I%-%e%a%s%H$rH/I=$7$F$$$^$9!#(B
<A HREF="http://www.sunworld.com/swol-04-1998/swol-04-security.html">Galvin [1998a]</A> $B$O!"0BA4$J%W%m%0%i%`$N3+H/$N$?$a$N%7%s%W%k(B
$B$J3+H/%W%m%;%9$H%A%'%C%/%j%9%H$K$D$$$F5-=R$7$F$$$^$9!#(B
<A HREF="http://www.sunworld.com/sunworldonline/swol-08-1998/swol-08-security.html">Galvin [1998b]</A>.
<A HREF="http://www.pobox.com/~kragen/security-holes.html">Sitaker [1999]</A>
$B$O!"!V(BLinux $B%;%-%e%j%F%#4F::!W%A!<%`$,D4::$9$kLdBj$K4X$7$F$N%j%9%H$rDs<((B
$B$7$F$$$^$9!#(B
<A HREF="http://www.homeport.org/~adam/review.html">Shostack [1999]</A>
$B$G$O!"%;%-%e%j%F%#$r=EMW;k$9$k%3!<%I$r%l%S%e!<$9$k>l9g$N%A%'%C%/%j%9%H$r(B
$B>e5-$H$OJL$KDs<($7$F$$$^$9!#(B
The <I>Secure Unix Programming FAQ</I> $B$bLr$KN)$DFbMF$G$9(B
<A HREF="http://www.whitefang.com/sup/">[Al-Herbish 1999]</A>.
<A HREF="http://www.clark.net/pub/mjr/pubs/pdf/">Ranum [1998]</A>.
$B$+$i$bM-1W$J>pJs$,$$$/$D$+F@$i$l$^$9!#(B
<A HREF="http://www.homeport.org/~adam/setuid.7.html">Anonymous [unknown]</A>
$B$O!"DL>o$G$b5/$3$j$&$k4m81$J6%9g>uBV$r5/$3$jF@$J$$$b$N$H$7$F!"(Baccess(3)$B$N(B
$B;HMQ$r?d>)$7$F$$$^$9!#(B
Wood [1985] $B$NCf$N!V(BSecurity for Programmers$B!W$N>O$OLr$KN)$A$^$9$,!">/!9(B
$B8E$$FbMF$K$J$C$F$7$^$$$^$7$?!#(B
<A HREF="http://www.research.att.com/~smb/talks">Bellovin [1994]</A>
$B$H(B
<A HREF="http://www.freebsd.org/security/security.html">FreeBSD [1999]</A>
$B$K$bLr$KN)$D%,%$%I%i%$%s$,$"$j$^$9!#(B
<P>Web $B$H$N%$%s%?!<%U%'!<%9$H$J$k(B CGI(Common Gateway Interface)$B$K$D$$$F$O!"(B
$B%W%m%0%i%_%s%0$r$9$k:]$KI,MW$K$J$k%;%-%e%j%F%#$N%,%$%I%i%$%s$r<($7$?(B
$B%I%-%e%a%s%H$,B??t$"$j$^$9!#(B
<A HREF="http://language.perl.com/CPAN/doc/FAQs/cgi/perl-cgi-faq.html">Gundavaram [unknown]</A>,
<A HREF="http://www.eekim.com/pubs/cgibook">Kim [1996]</A>,
<A HREF="http://www.go2net.com/people/paulp/cgi-security/safe-cgi.txt">Phillips [1995]</A>,
<A HREF="http://www.w3.org/Security/Faq/www-security-faq.html">Stein [1999]</A>,
<A HREF="http://www.webbertech.com/tips/web-security.html">Webber [1999]</A>.
<P>
<P>$BJL$N4QE@(B($B$D$^$j!V%7%9%F%`$r%/%i%C%/$9$k$K$O!WEy(B)$B$+$i$3$NLdBj$r07$C$?(B
$B%I%-%e%a%s%H$b$?$/$5$s$"$j$^$9!#(B
$B$?$H$($P(B McClure [1999] $B$,$=$l$K$"$?$j$^$9!#%$%s%?!<%M%C%H$NMxE@$r@8$+$7$F!"(B
$BB>$K$b?t$(@Z$l$J$$$[$I$N;qNA$,$"$U$l$F$$$^$9!#(B
<P>$B$3$N%I%-%e%a%s%H$O!"M-1W$K0c$$$J$$$H;d$,H=CG$7$?%,%$%I%i%$%s$r$^$H$a$^$7$?!#(B
$B$=$N$?$a!"9M$($i$l$k$9$Y$F$rLVMe$7$?$b$N$G$O$"$j$^$;$s!#(B
$B;d<+?H$,JT=8$7$?$b$N(B($B$*$^$1$K%j%9%H$=$l$>$l$,FH<+$N9=@.$r;}$C$F$$$^$9(B)
$B$G$9$7!"(B Linux $B8GM-$N%,%$%I%i%$%s(B($B$?$H$($P%1%$%Q%S%j%F%#$K$D$$$F$d(B fsuid 
$B$NCMEy(B)$B$K$D$$$F$bF1MM$G$9!#(B
$B>e5-$9$Y$F$N%I%-%e%a%s%H$r@'Hs;2>H$7$F$/$@$5$$!#(B
<P><B>$BLuCp!'(B</B>$B%1%$%Q%S%j%F%#$H$O!"%*%Z%l!<%F%#%s%0%7%9%F%`$d%O!<%I%&%'%"(B
(CPU)$B$,;}$D!"%;%-%e%j%F%#$d%"%/%;%9!&%3%s%H%m!<%k$r<B8=$9$k$7$/$_!#(B
fsuid $B$H$O!"%U%!%$%k%7%9%F%`$r%A%'%C%/$9$k>l9g$K;HMQ$9$k%f!<%6!<<1JL5!G=!#(B
<P>$B!VB>?M$N%I%-%e%a%s%H$r0zMQ$9$k$@$1$G$J$/!"<+J,$G%I%-%e%a%s%H$r=q$$$?$N$O$J$<(B
$B$G$9$+!)!W(B
$B$H$$$&5?Ld$r$*;}$A$K$J$C$?$+$b$7$l$^$;$s!#M}M3$O$$$/$D$+$"$j$^$9!#(B
<UL>
<LI>$B>pJs$NB?$/$,$"$A$3$A$KJ,;6$7$F$7$^$C$F$$$k!#=EMW$J>pJs$O!"@0M}(B
$B$7$F(B 1 $B$D$N%I%-%e%a%s%H$H$7$F$^$H$a$F$*$/$HJXMx(B</LI>
<LI>$BCf$K$O!"%W%m%0%i%^$N$?$a$G$O$J$/!"%7%9%F%`4IM}<T$d0lHL%f!<%68~$1(B
$B$K=q$+$l$?%I%-%e%a%s%H$,$"$k(B</LI>
<LI>Linux $B$K4X78$J$$%I%-%e%a%s%H$,$"$k!#$?$H$($P(B setuid $B$5$l$?%7%'%k(B
$B%9%/%j%W%H$KBP$7$F$NCm0UE@$r$"$2$F$"$k%A%'%C%/%j%9%H$,B?$$!#$7$+$7(B Linux 
$B$G$OIaDL$=$N$h$&$J%9%/%j%W%H$r<B9T$G$-$J$$$N$G!"Cm0U$r$&$J$,$9I,MW$,$J$$(B</LI>
<LI>$B$I$N%7%9%F%`(B(UNIX $B%i%$%/$J%7%9%F%`$9$Y$F(B)$B$G$bE,MQ$G$-$k9`L\$,6/D4(B
$B$5$l$F$$$k>l9g$,B?$$!#(B
$B%]!<%?%S%j%F%#$r=E;k$9$k$J$i$P!"(BLinux $B8GM-$N5!G=$r;HMQ$7$J$$$3$H$,0lHV!#(B
$B$7$+$78GM-$N5!G=$r;H$&$3$H$G!"%;%-%e%j%F%#$,3NJ]$G$-$k$N$b$^$?;v<B$G$"$k!#(B
Linux $B0J30$N%*%Z%l!<%F%#%s%0%7%9%F%`$H$N%]!<%?%S%j%F%#$,I,MW$G$"$C$F$b!"(B
Linux $B8GM-$N5!G=$r;H$&$3$H$bA*Br;h$H$7$F;D$5$l$F$$$k(B</LI>
<LI>$B$3$N%"%W%m!<%A$N$7$+$?$O!"2?$b(B Linux $B$@$1$,9T$C$F$$$k$o$1$G$O$J$$!#(B
$BB>$N%*%Z%l!<%F%#%s%0%7%9%F%`!"$?$H$($P(B FreeBSD $B$G$b%;%-%e%j%F%#$r<i$k(B
$B$?$a$NFH<+$N%W%m%0%i%_%s%0!&%,%$%I$,MQ0U$5$l$F$$$k(B</LI>
</UL>
<H2><A NAME="ss2.6">2.6 $B$3$N%I%-%e%a%s%H$G$NI=5-(B</A>
</H2>

<P>$B%7%9%F%`$K$"$k%^%K%e%"%k(B(man)$B$N%Z!<%8$O(B<I>$BL>>N(B($BHV9f(B)</I>$B$N7A<0$G;2>H$7$^$9!#(B
<I>$BHV9f(B</I>$B$O!"%^%K%e%"%k$N%;%/%7%g%sHV9f$rI=$7$F$$$^$9!#(B
C $B$H(B C++ $B$O!V(B\0$B!W(B(ASCII $B$N(B 0)$B$rFCJL07$$$9$k$N$G!"$3$N%I%-%e%a%s%H$G$O!V(BNIL$B!W(B
$B$HI=5-$7$^$9!#(B
$B!V$I$3$b;X$7$F$$$J$$!W%]%$%s%?CM$O!"!V(BNULL$B!W$HI=5-$7$^$9!#(BC $B%3%s%Q%$%i$O(B
$BDL>o!"@0?t$N(B 0 $B$r(B NULL $B$H$7$F07$$$^$9$,!"(BNULL $B$r$9$Y$F$N%S%C%H$,(B 0 $B$H$$$&(B
$B<BAu$K$9$k$h$&$K$H(B C $B$N5,3J$,5,Dj$7$F$$$k$o$1$G$O$"$j$^$;$s!#(B
<HR>
<A HREF="Secure-Programs-HOWTO-3.html">$B<!$N%Z!<%8(B</A>
<A HREF="Secure-Programs-HOWTO-1.html">$BA0$N%Z!<%8(B</A>
<A HREF="Secure-Programs-HOWTO.html#toc2">$BL\<!$X(B</A>
</BODY>
</HTML>