Sophie

Sophie

distrib > Mandriva > 2008.1 > x86_64 > media > main-release > by-pkgid > 17a4b2c1b6ee695e469f771cfdbee1d0 > files > 1297

howto-html-ja-10.1-4mdv2008.1.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: $B%H%T%C%/(B</TITLE>
 <LINK HREF="Secure-Programs-HOWTO-10.html" REL=next>
 <LINK HREF="Secure-Programs-HOWTO-8.html" REL=previous>
 <LINK HREF="Secure-Programs-HOWTO.html#toc9" REL=contents>
</HEAD>
<BODY>
<A HREF="Secure-Programs-HOWTO-10.html">$B<!$N%Z!<%8(B</A>
<A HREF="Secure-Programs-HOWTO-8.html">$BA0$N%Z!<%8(B</A>
<A HREF="Secure-Programs-HOWTO.html#toc9">$BL\<!$X(B</A>
<HR>
<H2><A NAME="s9">9. $B%H%T%C%/(B</A></H2>

<H2><A NAME="ss9.1">9.1 $B%m%C%/(B</A>
</H2>

<P>$B%W%m%0%i%`$,2?$+$KBP$7$FGSB>E*$K<B9T$9$k8"8B$r;}$C$F$$$k$+$I$&$+$NN"IU$1$r(B
$B<h$i$J$1$l$P$J$i$J$$>u67$,$h$/$"$j$^$9!#(B
POSIX $B%7%9%F%`$G$O!"0JA0$+$i%m%C%/>uBV$r<($9%U%!%$%k$r:n@.$9$k$3$H$GBP=h(B
$B$7$F$-$^$7$?!#$=$l$OB?$/$N%7%9%F%`4V$G8_49@-$r<h$k$K$O$h$$J}K!$@$+$i$G$9!#(B
<P>$B$7$+$7$3$NJ}K!$K$O$$$/$D$+Hr$1$J$1$l$P$J$i$J$$Mn$H$77j$,$"$j$^$9!#(B
$B$^$:(B root $B8"8B$r;}$C$F$$$k%W%m%0%i%`$O!"(BO_EXCL $B%b!<%I(B($BDL>o%U%!%$%k$,B8:_$7$F(B
$B$$$k$H<:GT$9$k(B)$B$N%U%!%$%k$G$b%*!<%W%s$G$-$F$7$^$$$^$9!#(B
$B$=$&$J$k$H(B open(2)$B$r;H$o$:(B link(2)$B$r;HMQ$7$F%U%!%$%k$r:n@.$9$kI,MW$,$"$j$^$9!#(B
$B%^%7%s>e$G%5!<%P!<%W%m%0%i%`$,(B 1 $B$D$@$1$7$+<B9T$G$-$J$$$3$H$r3N<B$K9T$$$?$$(B
$B$J$i!"(B/var/log/$BL>A0(B.pid $B$H$$$&Cf?H$,$=$N%W%m%0%i%`$N(B pid $B$,=q$+$l$F$$$k%m%C%/(B
$B%U%!%$%k$r:n@.$9$k$3$H$r8!F$$7$F$_$F$/$@$5$$!#(B
$B$3$NJ}K!$O!"%W%m%0%i%`M=A[30$KCfCG$7$FCfESH>C<$J>uBV$K$J$C$F$7$^$&!"$H$$$&(B
$B7gE@$rJz$($F$$$^$9$,!"0lHLE*$K;HMQ$5$l$F$*$j!"B>$N%7%9%F%`%D!<%k$+$i$G$b4JC1(B
$B$KMxMQ$G$-$^$9!#(B
<P>$B<!$K!"%m%C%/%U%!%$%k$,(B NFS $B$G%^%&%s%H$5$l$?%U%!%$%k%7%9%F%`>e$K$"$k>l9g!"(B
NFS $B$,DL>o$N%U%!%$%k$N5!G=$r=<J,$K$O%5%]!<%H$7$F$$$J$$LdBj$KG:$^$5$l$k$3$H(B
$B$K$J$j$^$9!#(B
<I>open(2)</I>$B$N%^%K%e%"%k$K$I$&$7$?$i$3$NLdBj$r2r7h$G$-$k$+$N@bL@$,(B
$B$"$j$^$9(B(root $B8"8B$N%W%m%0%i%`$K$D$$$F$N07$$J}$K$D$$$F$b@bL@$,$"$j$^$9(B)
<P>
<P>
<BLOCKQUOTE>
... $B%m%C%/$r$+$1$k$N$K!V(Bopen(2)$B$N(B O_CREAT and O_EXCL $B%U%i%0!W$K0MB8$7$F(B
$B$$$k%W%m%0%i%`$O!"6%9g>uBV$K4Y$kLdBj$rJz$($F$$$^$9!#(B
$B%m%C%/%U%!%$%k$r;H$C$F%"%H%_%C%/$J%U%!%$%k%m%C%-%s%0$r9T$&$K$O!"(B
$B$^$:F1$8%U%!%$%k%7%9%F%`>e$K%f%K!<%/$J%U%!%$%k$r:n$j(B($B$?$H$($P%[%9(B
$B%HL>$H(B pid $B$rAH$_9g$o$;$^$9(B)$B!"<!$K$3$N%m%C%/%U%!%$%k$K(B link(2)$B$G%j(B
$B%s%/$rD%$j!"$=$l$+$i%f%K!<%/$J%U%!%$%k$KBP$7$F(B stat(2)$B$r9T$C$F%j%s%/(B
$B$N;2>H?t$,(B 2 $B$KA}$($F$$$k$3$H$r3NG'$7$^$9!#(B
link(2)$B$NJV$jCM$r;H$&$N$O;_$a$F$/$@$5$$!#(B
</BLOCKQUOTE>
<P>
<H2><A NAME="ss9.2">9.2 $B%Q%9%o!<%I(B</A>
</H2>

<P>$B$G$-$k$J$i!"%Q%9%o!<%I$r07$&%3!<%I$O<+A0$G=q$+$J$$$h$&$K$7$F$/$@$5$$!#(B
$BFC$K%m!<%+%k$J%"%W%j%1!<%7%g%s$N>l9g!"DL>o9T$&%f!<%6$N%m%0%$%sG'>Z$K$^$+$;$F(B
$B$7$^$C$F$/$@$5$$!#(B
$B%"%W%j%1!<%7%g%s$,(B CGI $B%9%/%j%W%H$N>l9g!"(BWeb $B%5!<%P!<$,MQ0U$7$F$$$kKI8f$K$^$+(B
$B$;$F$/$@$5$$!#(B
$B%"%W%j%1!<%7%g%s$r%M%C%H%o!<%/7PM3$GMxMQ$9$k$N$b$N$J$i!"J?J8$G%Q%9%o!<%I$r(B
$BAw$k$3$H$r;_$a$F$/$@$5$$(B($B2DG=$J$i(B)$B!#$H$$$&$N$O%M%C%H%o!<%/$rEpD0$9$k$3$H$G!"(B
$B$$$H$b4JC1$K2#<h$j$5$l$F8e$G;H$o$l$F$7$^$&$+$i$G$9!#(B
$B%M%C%H%o!<%/$GMxMQ$9$k$J$i!">/$J$/$H$b%@%$%8%'%9%H!&%Q%9%o!<%I$N;HMQ$r9M$($F(B
$B$/$@$5$$(B($BD>@\$7$+$1$F$/$k967b$K$O<e$$$N$G$9$,!"%M%C%H%o!<%/$NEpD0$KBP$7$F$O(B
$BM-8z$G$9(B)
<P>$B%"%W%j%1!<%7%g%s$,%Q%9%o!<%I$r07$&I,MW$,$"$k$J$i!";H$C$?$i$9$0>e=q$-$7$F(B
$B$7$^$C$F$/$@$5$$!#$=$&$9$l$P%Q%9%o!<%I$r8+$i$l$k;~4V$,C;$/$J$j$^$9!#(B
Java $B$G$O%Q%9%o!<%I$rJ]B8$7$F$*$/$N$K(B String $B7?$r;H$o$J$$$h$&$K$7$F$/$@$5$$!#(B
String $B7?$OFbMF$rJQ99$G$-$J$$7?$@$+$i$G$9(B(String $B7?$OITMW%a%b%jNN0h$N@0M}$d(B
$B:FMxMQ$r$7$J$$8B$j>e=q$-$G$-$J$$;EMM$G!":#8e$b$=$N;EMM$N$^$^$@$H;W$$$^$9(B)
$B$=$N$+$o$j(B char[] $B$r;H$C$FJ]B8$7$F$/$@$5$$!#$3$NJ}K!$@$H$9$0$K$G$b>e=q$-$G$-(B
$B$^$9!#(B
<P>$B%"%W%j%1!<%7%g%s$G%f!<%6$,%Q%9%o!<%I$r@_Dj$G$-$k$N$J$i%Q%9%o!<%I$r%A%'%C%/(B
$B$7$F!"!VE,@Z$J!W%Q%9%o!<%I$@$1$r5v2D$7$F$/$@$5$$(B($B<-=q$K:\$C$F$$$J$$!"0lDj(B
$B0J>e$NJ8;z?t$G$"$k!"$J$I(B)$B!#(B
$BE,@Z$J%Q%9%o!<%I$NIU$1J}$r8+$D$1$?$$$J$i!"(B
<A HREF="http://consult.cern.ch/writeup/security/security_3.html">http://consult.cern.ch/writeup/security/security_3.html</A>
$B$r8+$F$O$I$&$G$7$g$&$+!#(B
<P>
<H2><A NAME="ss9.3">9.3 $BMp?t(B</A>
</H2>

<P>Linux $B%+!<%M%k(B(1.3.30 $B0J>e(B)$B$K$OMp?t@8@.5!G=$,$"$j$^$9!#(B
$BMp?t@8@.$K$O<~0O$GH/@8$9$k%N%$%:$r%G%P%$%9%I%i%$%P$dB>$N>pJs8;$+$i(B
$B<}=8$7$F%(%s%H%m%T!<!&%W!<%k$K<}$a$^$9!#(B
/dev/random $B$K%"%/%;%9$9$k$H%(%s%H%m%T!<!&%W!<%k$K$"$k%N%$%:$+$i?dDj(B
$B$5$l$?%S%C%H?t$NHO0O$G$@$1!"%i%s%@%`$JCM$,JV$5$l$F$-$^$9(B($B%(%s%H%m%T!<!&(B
$B%W!<%k$,6u$N>l9g$O!"<~0O$+$i%N%$%:$,=8$^$C$F$/$k$^$G!"8F$S=P$7$r%V%m%C%/(B
$B$7$^$9(B)$B!#(B
/dev/unrandom $B$G%"%/%;%9$7$F!"Bg$-$JCM$rMW5a$9$k$H!"%(%s%H%m%T!<!&%W!<%k(B
$B$,;H$$2L$?$5$l$F$bCM$,JV$C$F$-$^$9!#(B
$BMp?t$r0E9f2=$NL\E*$GMxMQ$9$k$J$i(B($B$?$H$($P%-!<$N@8@.$N$?$a(B)$B!"(B/dev/random $B$r(B
$B;H$C$F$/$@$5$$!#(B
$B$5$i$K>\$7$$>pJs$O!"%7%9%F%`$K$"$k%*%s%i%$%s%^%K%e%"%k$N(B random(4)$B$r;2>H(B
$B$7$F$/$@$5$$!#(B
<P>
<H2><A NAME="ss9.4">9.4 $B0E9f%"%k%4%j%:%`$HDL?.%W%m%H%3%k(B</A>
</H2>

<P>$B0E9f%"%k%4%j%:%`$HDL?.%W%m%H%3%k$O!"%7%9%F%`$N0BA4$r0];}$9$k$N$KI,MW$G!"(B
$BFC$K%$%s%?!<%M%C%H$N$h$&$J?.Mj$G$-$J$$%M%C%H%o!<%/$r7PM3$7$F$d$j$H$j$r(B
$B9T$&>l9g$OI,?\$G$9!#(B
$B2DG=$J$i$PDL?.%;%C%7%g%s$r0E9f2=$7!"%;%C%7%g%s>h$C<h$j$NN"$r$+$$$F$/$@$5$$!#(B
$B$3$&$9$l$PG'>Z>pJs$r1#JC$G$-!"%W%i%$%P%7!<$NJ]8n$K$bLrN)$A$^$9!#(B
<P>$B$-$A$s$H$7$?0E9f2=%"%k%4%j%:%`$dDL?.%W%m%H%3%k$r:n$j>e$2$k$K$O:$Fq$,$H$b$J$$(B
$B$^$9$N$G!"<+J,$G:n$m$&$H$O$7$J$$$G$/$@$5$$!#(B
$B$=$N$+$o$j$K!"0lHLE*$K?.Mj@-$,3NN)$5$l$F$$$k4{B8$N%W%m%H%3%k$G$"$k!"(BSSL$B!"(BSSH$B!"(B
IPSec$B!"(BGnuPG/PGP $B$d(B Kerberos $B$rMxMQ$7$F$/$@$5$$!#(B
$B9-$/8x3+$5$l!"D9G/$N967b$KBQ$($F$-$?Id9f2=%"%k%4%j%:%`$@$1$r;H$C$F$/$@$5$$(B
($B$?$H$($P%H%j%W%k(B DES $B$J$I!"FC5v$K$h$kMxMQ$NK8$2$,$J$$$b$N(B)$B!#(B
$BFC$K!"<+J,$,0E9f2=$N@lLg2H$G!"2?$r$7$F$$$k$+$rGD0.$7$F$$$k$N$G$J$1$l$P!"(B
$BId9f2=%"%k%4%j%:%`$r:n@.$9$k$h$&$J$3$H$O$7$J$$$G$/$@$5$$!#(B
$B$3$N<o$N%"%k%4%j%:%`$N:n@.$O!"@lLg2H$@$1$K5v$5$l$?:n6H$G$9!#(B
<P>$B4XO"$7$F!"$I$&$7$F$bFH<+$KDL?.%W%m%H%3%k$r3+H/$7$J$1$l$P$J$i$J$$$J$i!"(B
$B2a5n$K5/$-$?LdBj;vNc$ND4::$r$7$F$/$@$5$$!#(B
Bellovin [1989] $B$K:\$C$F$$$k(B TCP/IP $B%W%m%H%3%k$K$*$1$k%;%-%e%j%F%#$K$D$$$F$N(B
$B%l%S%e!<$N$h$&$J8EE5E*$J;qNA$d(B Bruce Schneier [1998] $B$,Lr$KN)$D$H;W$$$^$9!#(B
$B$^$?!"(BMudge $B;a$K$h$k%^%$%/%m%=%U%H<R$N(B PPTP $B$N<BAuGK$j$d$=$N8e$N?d0\$b(B
$B;29M$K$J$k$H;W$$$^$9!#(B
<P><B>$BLuCp!'(B</B>Mudge $B;a$O!"(BL0pht Heavy Industries $B$H$$$&D6%O%C%+!<(B($B%/%i%C%+!<(B
$B!)(B $BI>2A$,JL$l$F$$$k$h$&$G$9(B)$B=8CD$N<gG$2J3X<T$G$7$?!#8=:_$O(B @Stake 
$B$H$$$&%;%-%e%j%F%#4XO"$N%5!<%S%9$rDs6!$9$k2q<R$G8&5f3+H/C4EvI{<RD9$r$7$F(B
$B$$$^$9!#(B
<P>$B$b$A$m$s?7$7$$%W%m%H%3%k$KBP$7$F$O!"9-$/%l%S%e!<$r9T$&$Y$-$G!"$G$-$k$J$i(B
$B:FMxMQ$7$F$/$@$5$$!#(B
<P>
<H2><A NAME="ss9.5">9.5 Java</A>
</H2>

<P>Linux $B>e$N%;%-%e%j%F%#$K4X78$7$?%W%m%0%i%`$NCf$K$O(B Java $B$d(B Java $B%P!<%A%c%k!&(B
$B%^%7%s(B(JVM)$B$r;H$C$F<BAu$5$l$F$$$k$b$N$,$"$j$^$9!#(B
Java $B$G0BA4@-$rMW5a$5$l$k%W%m%0%i%`$r=q$/$K$O(B Gong [1999] $BB>$N;qNA$G>\:Y(B
$B$,=R$Y$i$l$F$$$^$9!#(B
$B2<5-$K(B Gong [1999] $B$+$iH4?h$7$?%-!<%]%$%s%H$r$"$2$F$*$-$^$9!#(B
<UL>
<LI>public $B$J%U%#!<%k%I$dJQ?t$r;H$o$J$$$3$H!#MxMQ$9$kB&$K(B private $B$G@k8@(B
$B$7$FDs6!$9$l$P!"7k2L$H$7$F%"%/%;%9$K@)8B$r$+$1$i$l$k(B</LI>
<LI>$BFC$KM}M3$,$J$$8B$j(B private $B%a%=%C%I$K$9$k$3$H(B</LI>
<LI>static $B$J%U%#!<%k%IJQ?t$N;HMQ$OHr$1$k$3$H!#$=$N$h$&$JJQ?t$O%/%i%9$K(B
$B=>B0$7$F$*$j(B($B%/%i%9$N%$%s%9%?%s%9$G$O$J$$(B)$B!"%/%i%9$OB>$N%/%i%9$H(B
$BAj8_4X78$r;}$D!#(B
$B7k2L$H$7$F!"(Bstatic $B$JJQ?t$O$=$NJQ?t$,B0$7$F$$$J$$B>$N%/%i%9$+$i(B
$B;2>H$G$-$F$7$^$$!"0BA4$N3NJ]$,:$Fq$K$J$k(B</LI>
<LI>$BIT@5$J$b$N$H$J$k2DG=@-$r;}$C$?%3!<%I$KBP$7$F(B mutable $B%*%V%8%'%/%H$r(B
$BJV$7$F$O$J$i$J$$(B($B$=$N%3!<%I$,FbMF$rJQ99$7$F$7$^$&62$l$,$"$k$?$a(B)</LI>
</UL>
<H2><A NAME="ss9.6">9.6 PAM</A>
</H2>

<P>Linux $B%G%#%9%H%j%S%e!<%7%g%s$N$[$H$s$I$O!"(BPAM(Pluggable Authentication
Modules)$B$r;}$C$F$*$j!"%f!<%6$NG'>Z$K=@Fp$KBP1~$G$-$k$7$/$_$K$J$C$F$$$^$9!#(B
$B%+!<%M%k$N%P!<%8%g%s$,(B 2.2 $B7ONs$G$"$k(B Red Hat Linux$B!"(BCaldera$B!"(BDebian $B$,:NMQ(B
$B$7$F$*$j!"(BFreeBSD $B$N%P!<%8%g%s(B 3.1 $B$b:NMQ$7$F$$$^$9!#(B
PAM $B$r;H$&$H!"%W%m%0%i%`$HG'>Z$N$7$/$_(B($B%Q%9%o!<%I$d%9%^!<%H!&%+!<%I(B)$B$rFHN)(B
$B$7$?$b$N$K$G$-$^$9!#(B
$B$D$^$j!"%W%m%0%i%`$O(B PAM $B$r8F$S=P$7!"(BPAM $B$,%m!<%+%k%7%9%F%`$N4IM}<T$,@_Dj$7$?(B
$BFbMF$r%A%'%C%/$7!"$I$N!VG'>Z%b%8%e!<%k!W$,I,MW$+$r%i%s%?%$%`$KH=CG$7$^$9!#(B
$BG'>Z$,I,MW$H$J$k%W%m%0%i%`(B($B$?$H$($P%Q%9%o!<%I$rF~NO$9$k(B)$B$r:n@.$7$F$$$k$J$i!"(B
PAM $B$r:NMQ$9$Y$-$G$9!#(B
$B>\:Y$O!"(BLinux-PAM $B%W%m%8%'%/%H$N(B Web $B%5%$%H$G$"$k!"(B
<A HREF="http://www.kernel.org/pub/linux/libs/pam/index.html">http://www.kernel.org/pub/linux/libs/pam/index.html</A>
$B$r;2>H$7$F$/$@$5$$!#(B
<H2><A NAME="ss9.7">9.7 $B$=$NB>(B</A>
</H2>

<P>$BA0Ds>r7o$N>/$J$/$H$b0lIt$O!";H$&A0$K%W%m%0%i%`$K%A%'%C%/$5$;$F$/$@$5$$(B
($B$?$H$($P!"%W%m%0%i%`$,3+;O$5$l$k$H$3$m$G(B)$B!#(B
$B$?$H$($P!"$"$k%G%#%l%/%H%j$G!V(Bsticky$B!W%S%C%H$,N)$C$F$$$k$3$H$rA0Ds$K$7$F$$$k(B
$B$J$i!"K\Ev$K$=$&$J$C$F$$$k$+$r%F%9%H$7$F$/$@$5$$!#%F%9%H$K;~4V$O$+$+$i$J$$(B
$B$G$9$7!"$=$l$K$h$C$F?<9o$JLdBj$rKI$0$3$H$,$G$-$k$O$:$G$9!#(B
$B$b$7$=$l$>$l$N8F$S=P$7$G%F%9%H<B9T;~4V$,$+$+$k$3$H$,5$$K$J$k$J$i!"%$%s%9%H!<%k(B
$B;~$K$O:GDc8B9T$&$h$&$K$7$F$/$@$5$$!#(B
<P>$B4F::%m%0$O%W%m%0%i%`5/F0;~$d%;%C%7%g%s3+;O;~!"F0:n$,2x$7$2$J;~$K=q$-9~$`$h$&(B
$B$K$7$F$/$@$5$$!#(B
$B>pJs$H$7$F9M$($i$l$k$b$N$O!"G/7nF|!";~9o!"(Buid$B!"(Beuid$B!"(Bgid$B!"(Begid$B!"C<Kv>pJs!"(B
$B%W%m%;%9(B id$B!"%3%^%s%I%i%$%s$NCM$G$9!#(B
$B4F::%m%0$r:N$k$KEv$?$C$F$O!"(Bsyslog(3)$B4X?t$,;29M$K$J$k$H;W$$$^$9!#(B
<P>$B%$%s%9%H!<%k!&%9%/%j%W%H$O$G$-$k$@$10BA4$K%W%m%0%i%`$r%$%s%9%H!<%k$7$F(B
$B$/$@$5$$!#(B
$B%G%U%)%k%H$G$O!"%$%s%9%H!<%k$9$k%U%!%$%k$9$Y$F$r(B root $B$+B>$N%7%9%F%`4IM}(B
$B%f!<%6$N=jM-$K$7$F!"B>$N%f!<%6$,=q$-9~$_$,$G$-$J$$$h$&$K$7$F$/$@$5$$!#(B
$B$3$&$9$l$P(B root $B0J30$N%f!<%6$O%&%$%k%9$r%$%s%9%H!<%k$G$-$^$;$s!#(B
root $B0J30$N%f!<%6$,%$%s%9%H!<%k$G$-$k>l=j$bMQ0U$7$F$*$$$F$*$1$P!"(Broot $B$N8"8B(B
$B$r;}$?$J$$%f!<%6$d%$%s%9%H!<%i$r?.$8$-$l$J$$4IM}<T$G$b%W%m%0%i%`$r;H$($k$h$&(B
$B$K$J$j$^$9!#(B
<P>$B2DG=$G$"$l$P!"(Broot $B$K(B setuid $B$d(B setgid $B$5$l$?%W%m%0%i%`$O:n$i$J$$$G$/$@$5$$!#(B
$B%f!<%6$K$O(B root $B$G%m%0%$%s$9$k$h$&$K$5$;$F$/$@$5$$!#(B
<P>$B%3!<%I$KEE;R=pL>$r$7$F$/$@$5$$!#$=$&$9$l$PMxMQ<T$OAw$i$l$F$-$?$b$N$,MxMQ$G$-$k(B
$B$b$N$+$I$&$+$r%A%'%C%/$G$-$^$9!#(B
<P>$B0BA4@-$,5a$a$i$l$k%W%m%0%i%`$r:n@.$9$k>l9g$K@EE*$K%j%s%/$r9T$&$3$H$r8!F$$7$F(B
$B$_$F$/$@$5$$!#(B
$B0BA4@-$,5a$a$i$l$k%W%m%0%i%`$,F0E*%j%s%/$r;H$o$J$$$h$&$K$9$l$P!"F0E*$J%i%$%V(B
$B%i%j$N%j%s%/5!G=$rA@$C$?967b$KBP93$G$-$^$9!#(B
<P>$B%3!<%I$rD/$a$F$$$k;~$K$O>r7o$K%^%C%A$7$J$$%1!<%9$9$Y$F$r8!F$$7$F$/$@$5$$!#(B
$B$?$H$($P(B switch $BJ8$,$"$C$?>l9g!"$I$N%1!<%9$K$b%^%C%A$7$J$+$C$?>l9g$I$&$J$k(B
$B$N$+!)(B
$B!V(Bif$B!WJ8$,$"$C$F>r7o$,56$@$C$?>l9g!"$I$N$h$&$K=hM}$5$l$k$+!)(B
<P>$B%W%m%0%i%`$r%3%s%Q%$%k$9$k;~$d<B9T$9$k;~$K%A%'%C%/5!G=$r3N<B$KF/$+$;$k$h$&$K(B
$B$7$F!"K\HV$GF0$+$9;~$b$=$&$7$F$*$$$F$/$@$5$$!#(B
Perl $B$N%W%m%0%i%`$J$i7Y9p%U%i%0(B(-w)$B$r$D$1$k$Y$-$G$9!#$=$&$9$k$H4m81$K$J$k(B
$B$+$b$7$l$J$$%3!<%I$d$9$G$K8E$$J8K!$K$J$C$F$7$^$C$?<0$KBP$7$F7Y9p$r=P$7$F$/$l(B
$B$^$9!#$^$?1x@wM=KI%U%i%0(B(-T)$B$r$D$1$k$H!"2?$i$+$N%U%#%k%?%j%s%0$r$+$1$J$$8B$j!"(B
$B?.Mj$G$-$J$$F~NO$rD>@\;HMQ$G$-$J$/$J$j$^$9!#(B
$B%;%-%e%j%F%#4XO"$N%W%m%0%i%`$O7Y9p$r$9$Y$FM-8z$K$7$F7Y9p$,=P$J$$$h$&$K(B
$B%3%s%Q%$%k$9$Y$-$G$9!#(B
gcc $B$r;H$C$F(B C $B$d(B C++ $B$r%3%s%Q%$%k$9$k$K$O!">/$J$/$H$b2<5-$N%3%s%Q%$%k;~$N(B
$B%U%i%0$r;HMQ$7$F$/$@$5$$(B($BB??t$N7Y9p%a%C%;!<%8$rM-8z$K$7$F!"7Y9p$9$Y$F$r(B
$BDY$7$F$/$@$5$$(B)$B!#(B
<PRE>
gcc -Wall -Wpointer-arith -Wstrict-prototypes
</PRE>
<HR>
<A HREF="Secure-Programs-HOWTO-10.html">$B<!$N%Z!<%8(B</A>
<A HREF="Secure-Programs-HOWTO-8.html">$BA0$N%Z!<%8(B</A>
<A HREF="Secure-Programs-HOWTO.html#toc9">$BL\<!$X(B</A>
</BODY>
</HTML>