Sophie

Sophie

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

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: $B%W%m%0%i%`$N%$%s%?%U%'!<%9$HFbIt9=@.$r$-$A$s$H$9$k$3$H(B</TITLE>
 <LINK HREF="Secure-Programs-HOWTO-7.html" REL=next>
 <LINK HREF="Secure-Programs-HOWTO-5.html" REL=previous>
 <LINK HREF="Secure-Programs-HOWTO.html#toc6" REL=contents>
</HEAD>
<BODY>
<A HREF="Secure-Programs-HOWTO-7.html">$B<!$N%Z!<%8(B</A>
<A HREF="Secure-Programs-HOWTO-5.html">$BA0$N%Z!<%8(B</A>
<A HREF="Secure-Programs-HOWTO.html#toc6">$BL\<!$X(B</A>
<HR>
<H2><A NAME="s6">6. $B%W%m%0%i%`$N%$%s%?%U%'!<%9$HFbIt9=@.$r$-$A$s$H$9$k$3$H(B</A></H2>

<P>
<P>
<H2><A NAME="ss6.1">6.1 $B%$%s%?%U%'!<%9$r0BA4$K(B</A>
</H2>

<P>$B%$%s%?%U%'!<%9$O!"$G$-$k8B$j>.$5$/(B($B8B$j$J$/%7%s%W%k$K(B)$B!"87L)$K(B($BI,MW$J5!G=(B
$B$@$1(B)$B!"$=$7$FNc30$J$/$=$N%$%s%?%U%'!<%9$r;H$&$h$&$K$9$kI,MW$,$"$j$^$9!#(B
$B?.MQ$G$-$kF~NO$O$[$H$s$I$J$$$H;W$C$F$/$@$5$$!#(B
$B%"%W%j%1!<%7%g%s$d%G!<%?$r8+$k$?$a$N%S%e!<%"!<$O!"30It$G:n@.$5$l$?%U%!%$%k(B
$B$rI=<($9$k$3$H$,B?$$$H;W$$$^$9$,!"$=$l$i$N%U%!%$%k$r%W%m%0%i%`(B($B<+F0<B9T%^%/%m(B
$B$b4^$_$^$9(B)$B$H$7$F07$&$3$H$rHr$1$F$/$@$5$$!#0BA4$J%5%s%I%\%C%/%9$r6lO+$7$F(B
$B:n@.$9$k$3$H$r$$$H$o$J$$$N$G$"$l$P!"OC$OJL$G$9$,!#(B
<H2><A NAME="ss6.2">6.2 $B%Q!<%_%C%7%g%s$r:G>.8B$K(B</A>
</H2>

<P>$B$9$G$K?($l$^$7$?$,!"$3$NE@$K$D$$$F$OBg86B'$,B8:_$7$F$$$^$9!#$=$l$O%W%m%0%i%`(B
$B$K$O!"=hM}$N$?$a$KI,MW$J:GDc8B$N%Q!<%_%C%7%g%s$7$+;}$?$;$J$$$H$$$&$3$H$G$9!#(B
$B$=$&$9$l$PK|$,0l%W%m%0%i%`$,$*$+$7$/$J$C$F$b!"1F6AHO0O$,69$^$j$^$9!#(B
$B6KC<$r8@$&$H!"$G$-$k$J$i0BA4@-$,5a$a$i$l$k%W%m%0%i%`$r:n@.$9$k$3$H<+BN$r(B
$B;_$a$k!"$H$$$&$N$,0lHV3N<B$J$N$G$9$,!#(B
<P>Linux $B$G$O%W%m%;%9$N%Q!<%_%C%7%g%s$O!"$^$:$=$N3F<o(B ID $B$K$h$C$F7h$^$j$^$9!#(B
$B%W%m%;%9$O$=$l$>$l<B(B ID$B!"<B8z(B ID$B!"%U%!%$%k%7%9%F%`(B ID$B!"J]B8(B ID $B$r%f!<%6$H(B
$B%0%k!<%WKh$K;}$C$F$$$^$9!#(B
$B$3$l$i$NCM$r$&$^$/;HMQ$7$F!"%Q!<%_%C%7%g%s$r:G>.8B$K$9$k$3$H$O$H$F$bBg@Z(B
$B$J$3$H$G$9!#(B
<P>$BJL$N4QE@$+$i$b%Q!<%_%C%7%g%s$r:G>.8B$KM^$($kM}M3$r$"$2$i$l$^$9!#(B
<UL>
<LI>$B:G9b$N%Q!<%_%C%7%g%s$r5v2D$9$k$3$H$O:G>.8B$KM^$($k$3$H!#(B
$B$J$k$Y$/$J$i(B root $B$N8"8B$r%W%m%0%i%`$KM?$($J$$!#(B
$BC1FH$N%U%!%$%k$K%"%/%;%9$9$k$?$a$@$1$K!"%W%m%0%i%`$r(B <I>setuid root</I> 
$B$7$J$$!#$=$N$h$&$J>l9g$O%U%!%$%k$K%"%/%;%9$9$k$?$a$K@lMQ%0%k!<%W$N:n@.$r(B
$B8!F$$9$k$3$H!#$3$N%0%k!<%W$,%U%!%$%k$r=jM-$7!"%W%m%0%i%`$O$3$N%0%k!<%W$K(B 
<I>setgid</I> $B$9$l$P$h$$!#(B
$B$3$N$h$&$K%W%m%0%i%`$r$$$-$J$j(B <I>setuid</I> $B$;$:$K(B <I>setgid</I> 
$B$7$F$_$k$3$H!#$H$$$&$N$O!"%0%k!<%W$N%a%s%P!<$KBP$7$F$O5v2D$5$l$k$3$H$,(B
$B%f!<%6$KBP$9$k$3$H$h$j$b8BDj$5$l$F$$$k$+$i$G$"$k(B($B$?$H$($P%U%!%$%k$N%Q!<(B
$B%_%C%7%g%s$NJQ99$OG'$a$i$l$J$$(B)$B!#(B
$B$b$7%W%m%0%i%`$,J#?t$N%U%!%$%k$K%"%/%;%9$9$k$?$a$K!"J#?t%f!<%6$N%Q!<%_%C(B
$B%7%g%s$r;}$DI,MW$,$"$k$J$i(B($B$?$H$($P(B NFS $B%5!<%P!<(B)$B!"(B Linux $B8GM-$N5!G=$G$"$k(B
$B!V%U%!%$%k%7%9%F%`(B UID(fsuid)$B!W$r8!F$$9$k$3$H!#$3$l$r:NMQ$9$l$P!"6%9g>uBV(B
$B$d%f!<%6$,%W%m%;%9$K%7%0%J%k$rAw$l$k$h$&$K5v2D$rM?$($k$3$H$J$7$K%U%!%$%k(B
$B$X$N%"%/%;%9$r@)8B$G$-$k!#(B
<P><I>$B$I$&$7$F$b(B</I> root $B$N8"8B$r%W%m%0%i%`$KM?$($kI,MW$,$"$k>l9g!"(BLinux 
2.2 $B0J>e$GMxMQ2DG=$J(B POSIX $B%1%$%Q%S%j%F%#$N;HMQ$r8!F$$9$k$3$H!#(BPOSIX 
$B%1%$%Q%S%j%F%#$rMxMQ$9$k$H!"%W%m%0%i%`$,5/F0$9$k$H$9$0$K$=$N%W%m%0%i%`$N(B
$B8"8B$r:G>.8B$KM^$($i$l$k!#(B
cap_set_proc(3)$B$b$7$/$O(B Linux $B8GM-$N(B capsetp(3)$B$r8F$S=P$9$3$H$G!"%W%m(B
$B%0%i%`5/F0$H$H$b$K$=$N%W%m%0%i%`$,<B:]$KI,MW$H$9$k5!G=$@$1$K>o$K8"8B$r(B
$B@)8B$G$-$k!#(B
UNIX $B%i%$%/$J%7%9%F%`$9$Y$F$,(B POSIX $B%1%$%Q%S%j%F%#$r<BAu$7$F$$$k$o$1$G$O(B
$B$J$$$3$H$KCm0U$9$k$3$H!#(B
Linux $B$G$N(B POSIX $B%1%$%Q%S%j%F%#$N>\:Y$O!"(B
<A HREF="http://linux.kernel.org/pub/linux/libs/security/linux-privs">http://linux.kernel.org/pub/linux/libs/security/linux-privs</A>.
$B$r;2>H$9$k$3$H(B
</LI>
<LI>$B%Q!<%_%C%7%g%s$,M-8z$G$"$k;~4V$r:GC;$K!#(B
setuid(2)$B!"(Bseteuid(2)$B$d$=$l$H4XO"$7$?5!G=$r;HMQ$9$k>l9g$O!"%W%m%0%i%`$,(B
$B$=$N%Q!<%_%C%7%g%s$rI,MW$H$9$k;~$@$1M-8z$K$7$F$$$k$+$r3NG'$9$k$3$H(B</LI>
<LI>$B%Q!<%_%C%7%g%s$rM-8z$K$G$-$k;~4V$r:GC;$K!#(B
$B$9$_$d$+$K%Q!<%_%C%7%g%s$r40A4$KJ|4~$9$k$3$H!#(B
Linux $B$O!VJ]B8!W(BID $B$r:NMQ$7$F$$$k$N$G!"?.MQ$G$-$J$$(B ID $B$KBP$7$F$O(B 2 $BEY(B
$B$P$+$jB>$N(B ID $B$r%;%C%H$7$F$7$^$($P!"$=$l$G=*$o$j$K$G$-$k!#(B
setuid/setgid $B$5$l$?%W%m%0%i%`$G$O!"FCJL$JM}M3$,$J$$8B$j$O<B8z(B gid $B$H(B 
UID $B$K<B:]$K<B9T$7$?%f!<%6$N(B ID $B$r%;%C%H$9$k$3$H!#FC$K(B fork(2)$B$7$?8e$O(B
$BI,$:!#(B
root $B$+$iB>$N8"8B$K0\$k>l9g$K$O!"I,$::G=i$K(B gid $B$rJQ99$9$k$3$H!#$5$b$J$$(B
$B$HF0$+$J$/$J$k!*(B</LI>
<LI>$B%Q!<%_%C%7%g%s$K:81&$5$l$k%b%8%e!<%k?t$r$G$-$k8B$j>/$J$/!#(B
$B%Q!<%_%C%7%g%s$K:81&$5$l$k%b%8%e!<%k$N?t$,$o$:$+$J$i!"0BA4$+$I$&$+$r3NG'(B
$B$9$k$N$OMF0W$G$"$k!#J}K!$N(B 1 $B$D$OA0$N9`L\$G;XE&$7$?$3$H$=$N$^$^$G!"(B
$B%b%8%e!<%k$,$"$k8"8B$r;HMQ$7=*$($?$i!"$9$0$=$N8"8B$r<h$j5n$k!#$=$&$9$l$P(B
$B8e$+$i8F$P$l$k%b%8%e!<%k$O8"8B$r8mMQ$7$h$&$,$J$$!#(B
$BJL$N$d$jJ}$O%3%^%s%I$rJ,$1!"(B1 $B$D$O$*$S$?$@$7$$?t$N=hM}$r9T$&J#;($J%D!<%k(B
$B$G8"8B$r;}$D%f!<%6(B($B$?$H$($P(B root)$B$,;HMQ$9$k$b$N$K$7!"0lJ}B>$N%D!<%k$O(B 
setuid $B$5$l$F$O$$$k$,!"%3%s%Q%/%H$+$DC1=c$J%D!<%k$G8B$i$l$?%3%^%s%I$7$+(B
$B<B9T$G$-$J$$$h$&$K$9$k(B($B$3$N%D!<%k$GF~NO$,G'$a$i$l$?$J$i!":G=i$N%D!<%k$K(B
$BEO$9(B)$B!#(B
$B$3$NJ}K!$O(B GUI $B%Y!<%9$N%7%9%F%`$K$H$C$F$H$F$bM-8z$J<jCJ$G!"(BGUI $BItJ,$r(B
$BIaDL$N%f!<%68"8B$GF0$+$7!"$=$3$G<u$1<h$C$?%j%/%(%9%H$rFC8"$r;}$C$?(B
$B%b%8%e!<%k$KEO$7$F$d$k(B</LI>
<LI>$B;H$($k%j%=!<%9$r:G>.8B$K!#(B
$B%W%m%0%i%`$,=q$-9~$`$3$H$,$G$-$k%U%!%$%k$d%G%#%l%/%H%j$r$G$-$k$@$1>/$J$/(B
$B$9$k$h$&$K%Q!<%_%C%7%g%s$r%;%C%H$9$k$3$H!#(B
$B$3$l$O%2!<%`%=%U%H$N%O%$%9%3%"$r5-O?$9$k>l9g$K$h$/;H$o$l$F$$$kJ}K!$G!"(B
$B%2!<%`$OIaDL(B <I>games</I> $B$K(B setgid $B$5$l$F$$$F%9%3%"%U%!%$%k$O(B 
<I>games</I> $B%0%k!<%W$,=jM-$7$F$$$k!#$=$7$F%W%m%0%i%`<+BN$OJL$N%f!<%6(B
(root $B$J$I(B)$B$,=jM-$7$F$$$k!#(B
$B$3$&$7$F$*$1$P!"%2!<%`$rDL$8$F?/F~<T$,F~$C$F$-$F$b%O%$%9%3%"$r$$$8$k$3$H(B
$B$O$G$-$F$b!"%2!<%`$N<B9T7A<0$d@_Dj%U%!%$%k$K$O<j$rIU$1$i$l$J$$!#(B
<P>$B0[$J$k5!G=Kh$K$=$l$>$l%f!<%6$H%0%k!<%W$r:n$k$3$H$r9M$($F$*$/$Y$-$@!#(B
$B$=$&$7$F$*$1$P!"$"$k%7%9%F%`$KIU$19~$^$l$k$H<+F0E*$KB>$N%7%9%F%`$b(B
$B%@%a!<%8$rHo$k!"$H$$$&$3$H$O$J$/$J$k$@$m$&!#(B
<P>chroot(2)$B%3%^%s%I$r;H$($P!"%W%m%0%i%`$O8B$i$l$??t$N%U%!%$%k$7$+MxMQ$G$-(B
$B$J$/$J$k!#(B
$B$3$N5!G=$r@8$+$9$K$O!"%G%#%l%/%H%j$N@_Dj$r?5=E$K9T$J$&I,MW$,$"$k(B
($B!V(Bchroot jail(chroot $B$NO49v(B)$B!W$H8F$P$l$F$$$k(B)$B!#(B
root $B$N%Q!<%_%C%7%g%s$r;}$C$?%W%m%0%i%`$O!"$3$N<j$rBG$C$F$b%7%9%F%`$r(B
$B2u$;$k$,(B(mknod(2)$B$J$I$r8F$S=P$7$F%7%9%F%`%a%b%j!<$rJQ99$G$-$F$7$^$&(B)$B!"(B
$B$=$l0J30$O$3$NO49v$,%W%m%0%i%`$N%;%-%e%j%F%#$rBgI}$K7xO4$K$7$F$/$l$k!#(B
</LI>
</UL>
<P>$B%*%Z%l!<%F%#%s%0%7%9%F%`$NCf$K$O!"(B1 $B$D$N%W%m%;%9$G?.Mj$N%l%Y%k$rJ#?t(B
$B;}$D$b$N$b$"$j$^$9!#$?$H$($P(B Multics $B$N%j%s%0J]8n5!9=$,$=$l$KEv$?$j$^$9!#(B
$B0lHLE*$J(B UNIX $B$d(B Linux $B$G$O(B 1 $B$D$N%W%m%;%9Cf$G?.Mj$N%l%Y%k$rJ#?t$KJ,$1$k(B
$BJ}K!$O$"$j$^$;$s!#(B
$B$D$^$j!"%+!<%M%k$r8F$S=P$9$3$H$G%Q!<%_%C%7%g%s$r>e$2$i$l$^$9$,!"%W%m%;%9$O(B
$BC10l$N?.Mj%l%Y%k$7$+;}$F$^$;$s!#(B
Linux $B$d(B UNIX $B%i%$%/$J%7%9%F%`$O(B 1 $B$D$N%W%m%;%9$+$iJ#?t$N%W%m%;%9$r(B fork 
$B$7$F!"$=$N$=$l$>$l$N%W%m%;%9$K%Q!<%_%C%7%g%s$r@_Dj$9$k$3$H$G!"$3$N5!G=$r(B
$B%7%_%e%l!<%H$9$k$3$H$,$G$-$^$9!#(B
$B$3$l$r9T$J$&$K$O!"0BA4$K>pJs$rEAC#$9$k7PO)(B($BIaDL$OL>A0$J$7%Q%$%W$,;H$o$l$^$9(B)
$B$r3NJ]$7!"JL$N%W%m%;%9$r(B fork $B$7$F$G$-$k8B$jB?$/$N%Q!<%_%C%7%g%s$rMn$H$5(B
$B$J$1$l$P$$$1$^$;$s!#(B
$B$=$7$FC1=c$J%W%m%H%3%k$r;H$C$F?.Mj@-$N9b$$%W%m%;%9$+$iDc$$%W%m%;%9$KMW5a$r(B
$BEA$($k$h$&$K$7!"?.Mj@-$N9b$$%W%m%;%9$O8B$i$l$?MW5a$7$+%5%]!<%H$7$J$$$3$H$r(B
$B3N<B$K9T$J$o$J$/$F$O$J$j$^$;$s!#(B
<P>$B$3$N5;=Q$O(B Java 2 $B$d(B Fluke $B$,6/$_$r$b$DJ,Ln$N(B 1 $B$D$G$9!#(B
$B$?$H$($P(B Java 2 $B$O$"$kFCDj$N%U%!%$%k$@$1$r%*!<%W%s$9$k%Q!<%_%C%7%g%s$H$$$&(B
$B$h$&$J!"$-$a$N:Y$+$$%Q!<%_%C%7%g%s$r;XDj$G$-$^$9!#(B
$B$7$+$7HFMQE*$J%*%Z%l!<%F%#%s%0%7%9%F%`$G$O!"$=$N$h$&$J5!G=$O0lHLE*$K;}$C$F(B
$B$$$^$;$s!#(B
<P><B>$BLuCp!'(B</B>Fluke $B$O!"(BFlux $B%W%m%8%'%/%H$N0l4D$H$7$F3+H/$5$l$F$$$k%+!<%M%k(B
$B$H%*%Z%l!<%F%#%s%0%7%9%F%`$NAm>N$G!"(BFlux $B&L(B-kernel Environment $B$NN,>N(B
$B$G$9!#(B
nested process model $B$K$b$H$E$-!"6/NO$G3,AXE*$J%j%=!<%94IM}$r9T$$!"$h$j(B
$B0BA4@-$N9b$$%7%9%F%`$rL\;X$7$F$$$^$9!#(B
$B>\$7$/$O!"(B
<A HREF="http://www.cs.utah.edu/projects/flux/">The Flux Research Group</A> $B$r;2>H$7$F$/$@$5$$!#(B
<P>Linux $B$N%W%m%;%9$K$O!"%U%!%$%k%7%9%F%`(B $B%f!<%6(B ID(fsuid)$B$H%U%!%$%k%7%9%F%`(B 
$B%0%k!<%W(B ID(fsgid)$B$H$$$&(B 2 $B$D$N(B Linux $B8GM-$N>uBVJQ?t$,$"$j$^$9!#(B
$B$3$NJQ?t$O!"%U%!%$%k%7%9%F%`$N%Q!<%_%C%7%g%s$r%A%'%C%/$9$k;~$K;H$o$l$^$9!#(B
root $B$N8"8B$r;}$D%W%m%0%i%`$O!"0lHL%f!<%6$KBe$o$C$F%U%!%$%k$K%"%/%;%9$9$k(B
$BA0$K(B fsuid $B$H(B fsgid $B$rJQ99$9$k$3$H$r9MN8$9$Y$-$G$9!#(B
$BM}M3$O!"%W%m%;%9$K(B $B<B8z%f!<%6(B ID $B$r@_Dj$9$k$H!"$=$N%f!<%6$O$=$N%W%m%;%9$K(B
$BBP$7$F%7%0%J%k$rAw$l$F$7$^$$$^$9$,!"(Bfsuid $B$K@_Dj$7$F$b$=$&$O$J$j$^$;$s!#(B
$B$3$NJ}K!$N7gE@$OB>$N(B POSIX $B%7%9%F%`$G$O$3$N5!G=$,;H$($J$$$3$H$G$9!#(B
<H2><A NAME="ss6.3">6.3 $B%G%U%)%k%H$O0BA4$K(B</A>
</H2>

<P>$B%W%m%0%i%`$r%$%s%9%H!<%k$9$k;~$K$O!"%f!<%6$,@_Dj$9$k5!2q$^$G$9$Y$F$N%"%/%;%9(B
$B$r5qH]$9$Y$-$G$9!#(B
$B%$%s%9%H!<%k$5$l$?%U%!%$%k$d%G%#%l%/%H%j$O!"C/$b$,FI$_=q$-2DG=$G$"$C$F(B
$B$O7h$7$F$$$1$^$;$s!#(B
$BMW$9$k$K!"?.Mj$G$-$k%f!<%60J30$OFI$a$J$/$7$F$7$^$&$N$,0lHV$G$9!#(B
$B@_Dj$r$9$k$?$a$N8@8l$,$"$k$J$i$P!"%f!<%6$,$"$($F5v2D$7$J$$8B$j!"%G%U%)%k%H(B
$B$G$N%"%/%;%9$O5qH]$9$Y$-$G$9!#(B
<H2><A NAME="ss6.4">6.4 $B%U%'%$%k!&%*!<%W%s(B</A>
</H2>

<P>$B0BA4$J%W%m%0%i%`$O>o$K!V%U%'%$%k!&%*!<%W%s!W$G$"$k$Y$-$G$9!#$D$^$j!"(B
$B%W%m%0%i%`$,@5$7$/F0:n$7$J$/$J$C$F$b!"%W%m%0%i%`$O$9$Y$F$N%"%/%;%9$r5qH](B
$B$9$k$h$&$K@_7W$5$l$F$$$kI,MW$,$"$j$^$9(B($B!V%U%'%$%k!&%;!<%U!W$H$b8F$P$l$F(B
$B$$$^$9(B)$B!#(B
$B%W%m%0%i%`$,IT@5$H;W$o$l$k9T0Y(B($B0[>o$JF~NO$d!V5/$3$jF@$J$$!W>uBV$K$J$kEy(B)
$B$r8+$D$1$?$i!"$9$0$K%5!<%S%9$r5qH]$9$Y$-$G$9!#(B
$B!V%f!<%6$,0U?^$9$k$3$H$rC5$j=P$=$&!W$J$I$H$O$7$J$$$G$/$@$5$$!#$?$@%5!<%S%9(B
$B$r5qH]$9$k$@$1$G$h$$$N$G$9!#(B
$B$3$&$9$k$H!";~$H$7$F?.Mj@-$d;H$$>!<j$,0-$/$J$k$+$b$7$l$^$;$s(B($B%f!<%6$NN)>l(B
$B$+$i$9$k$H(B)$B!#$7$+$70BA4@-$O9b$^$j$^$9!#(B
<H2><A NAME="ss6.5">6.5 $B6%9g>uBV$OHr$1$^$7$g$&(B</A>
</H2>

<P>$B0BA4$,5a$a$i$l$k%W%m%0%i%`$O!"MW5a$r5v2D$9$Y$-$+$I$&$+$r7h$a$J$1$l$P(B
$B$J$j$^$;$s!#(B
$B$=$7$F5v2D$7$?$J$i$P!"$=$NMW5a$r<B9T$K0\$5$J$1$l$P$J$j$^$;$s!#(B
$B%W%m%0%i%`$r<B9T$9$kA0$K!"?.Mj$G$-$J$$%f!<%6$,H=Dj$K1F6A$rM?$($k$I$N$h$&$J(B
$BJQ99$b$G$-$F$O$$$1$^$;$s!#(B
<P>$B%U%!%$%k%7%9%F%`$K$*$$$F$OIQHK$K$3$NLdBj$,5/$3$j$^$9!#(B
$B0lHLE*$KHr$1$J$1$l$P$$$1$J$$$3$H$O!"%W%m%0%i%`$,(B access(2)$B$r;H$C$FMW5a$r(B
$BG'$a$k$Y$-$+$r7hDj$7!"$=$N8e$K(B open(2)$B$r;H$&$H$$$&<jK!$G$9!#$3$l$i$N%7%9%F%`(B
$B%3!<%k$rH/9T$9$k4V$K!"%f!<%6$,%U%!%$%k$r0\F0$G$-$F$7$^$&$+$b$7$l$J$$$+$i$G$9!#(B
$B0BA4$,MW5a$5$l$k%W%m%0%i%`$G$O$=$&$9$k$+$o$j$K!"<B8z(B ID $B$H%U%!%$%k%7%9%F%`(B 
ID $B$r%;%C%H$7$F$+$i$9$0!"(Bopen $B%7%9%F%`%3!<%k$rH/9T$9$Y$-$G$9!#(B
$B0BA4$K(B access(2)$B$r;H$&J}K!$b$"$j$^$9$,!"$=$N>l9g$O%f!<%6$,$=$N%U%!%$%k$d(B
$B%G%#%l%/%H%j$r%U%!%$%k%7%9%F%`$N%k!<%H$+$i%Q%9$r$?$I$C$F$$$8$k$3$H$,$G$-$J$$(B
$B;~$@$1$G$9!#(B
<H2><A NAME="ss6.6">6.6 $B?.Mj$G$-$k7PO)$@$1?.$8$k$3$H(B</A>
</H2>

<P>$B0lHLE*$K!"?.Mj$G$-$J$$7PO)$+$i$N7k2L$r?.$8$F$O$$$1$^$;$s!#(B
<P>$B%3%s%T%e!<%?$G9=@.$5$l$?%M%C%H%o!<%/(B($B%$%s%?!<%M%C%HA4BN$K$bEv$F$O$^$j$^$9(B)
$B$NBgItJ,$G$O!"@5Ev$5$,>ZL@$5$l$F$$$J$$EAAw$O?.Mj$9$k$3$H$,$G$-$^$;$s!#(B
$B$?$H$($P!"%$%s%?!<%M%C%H>e$G$O$I$s$J%Q%1%C%H$G$b$=$N%X%C%@!<>pJs$r4^$a$F!"(B
$B2~$6$s$9$k$3$H$,2DG=$G$9!#$7$?$,$C$F!"?.Mj$G$-$k$H3N>Z$G$-$k$N$G$J$1$l$P!"(B
$B$=$N>pJs$rBh(B 1 $B$N4p=`$H$7$F!"%;%-%e%j%F%#>e$NH=CG$r$7$J$$$G$/$@$5$$!#(B
$B%m!<%+%k$N%U%!%$%"!<%&%)!<%k$,30It$+$i%9%W!<%U%#%s%0(B($B$J$j$9$^$7(B)$B$rKI$$$G(B
$B$$$k$O$:$J$N$G!"K\Ev$K!VFbIt!W$+$iAw$i$l$?%Q%1%C%H$G$"$k$HCG8@$G$-$k>l9g(B
$B$b$"$j$^$9!#$7$+$7%U%!%$%"!<%&%)!<%k$,$*$+$7$+$C$?$j!"JL$N7PO)$,$"$C$?$j!"(B
$B%b%P%$%kMQ$N@\B38}$,$"$C$?$j$9$k$H!"$3$N2>Dj$5$($b5?$o$7$$$b$N$K$J$C$F(B
$B$7$^$$$^$9!#(B
$BF1MM$J463P$G!">.$5$$%]!<%HHV9f(B(1024 $B0J2<(B)$B$r?.Mj$G$-$k$b$N$H7h$a9~$^$J$$$G(B
$B$/$@$5$$!#BgItJ,$N%M%C%H%o!<%/$G$O$=$N$h$&$J%j%/%(%9%H$O2~$6$s2DG=$G$9$7!"(B
$B%3%s%T%e!<%?%7%9%F%`$K!">.$5$$%]!<%HHV9f$N;HMQ$rG'$a$k$h$&$K$9$k$3$H$b(B
$B$G$-$^$9!#(B
<P>$BI8=`E*$K;H$o$l$F$$$k$,K\<AE*$K0BA4$G$J$$%W%m%H%3%k(B($B$?$H$($P(B ftp $B$H$+(B 
rlogin)$B$r<B9T$7$F$$$k$J$i!"%G%U%)%k%H$r0BA4$K$7$F$*$-!"%I%-%e%a%s%H$K(B
$B$O<B9T$KEv$?$C$F$NA0Ds>r7o$rL@5-$7$F$*$$$F$/$@$5$$!#(B
<P>
<P>$B%I%a%$%s!&%M!<%`!&%5!<%P!<(B(DNS)$B$O9-$/%$%s%?!<%M%C%H>e$GMxMQ$5$l$F$*$j!"(B
$B%3%s%T%e!<%?L>$H(B IP $B%"%I%l%9(B($B?tCM(B)$B$NAH9g$;$r0];}4IM}$7$F$$$^$9!#(B
$B!V(BDNS $B$N5U0z$-!W$H$$$&J}K!$r;H$($P!"C1=c$J%9%W!<%U%#%s%0967b$N0lIt$r(B
$BGS=|$G$-$^$9$7!"%[%9%HL>$r8+$D$1$k;~$K$bLr$KN)$A$^$9!#(B
$B$7$+$7$3$N$d$jJ}$G$OG'>Z$r7h$a$k$[$I$N?.Mj@-$O$"$j$^$;$s!#(B
$B$D$^$k$H$3$mLdBj$J$N$O!"(BDNS $B$N%j%/%(%9%H$,7k6I$O967b<T$,%3%s%H%m!<%k$7$F$$$k(B
$B$I$3$+$N%7%9%F%`$KBP$7$FAw$i$l$F$$$k$+$b$7$l$J$$!"$H$$$&$H$3$m$K$"$j$^$9!#(B
$B$7$?$,$C$F!"(BDNS $B$+$iF@$i$l$?7k2L$,F~NO$H$7$F@5$7$$$3$H$r3NG'$9$kI,MW$,(B
$B$"$j!"=EMW$J%"%/%;%9@)8f$N<jCJ$H$7$F?.MQ$7$F$O$$$1$^$;$s!#(B
<P>$B%Q%9%o!<%I$rMW5a$9$k>l9g!"?.Mj$G$-$kF~NO$r$9$k$?$a$K!"0lO"$NN.$l$r@_Dj(B
$B$9$k$h$&$K?4$,$1$F$/$@$5$$(B($B$?$H$($P!"%m%0%$%s$9$kA0$K2~$6$s$G$-$J$$(B
$B%-!<$r2!$9$3$H$rMW5a$9$k!"(BLED $B$rE@LG$5$;$F!"2~$6$s$G$-$J$$%Q%?!<%s(B
$B$rI=<($9$kEy(B)$B!#(B
<P>$BEE;R%a!<%k(B($B!V(BFrom$B!W$K=q$$$F$"$k%"%I%l%9$r4^$`(B)$B$b2~$6$s$G$-$^$9!#(B
$B$=$N$h$&$J967b$NB?$/$O!"EE;R=pL>$r;H$($PKI$2$^$9!#(B
$B$b$C$H4JC1$JKI8f$O!"EE;R%a!<%k$K%i%s%@%`$KH/@8$5$;$?CM$rE:IU$7$F$d$j$H$j(B
$B$9$kJ}K!$G$9!#>.3[$N6bA,<h0z$-$b$J$$$h$&$J!"8x3+%a!<%j%s%0!&%j%9%H$X$N(B
$BEPO?$J$i$P==J,MxMQ$G$-$^$9!#(B
<P>$B?.Mj$G$-$J$$%M%C%H%o!<%/1[$7$K?.Mj$G$-$k7PO)$rI,MW$H$9$k$J$i$P!"2?$i$+$N(B
$B0E9f:n@.5;=Q$N=u$1$,I,MW$H$J$j$^$9(B($B:GDc8B$G$b0E9fE*$K0BA4$J%O%C%7%e5;=Q(B)$B!#(B
$B2<5-$N%;%/%7%g%s$K$"$k!V0E9f%"%k%4%j%:%`$HDL?.%W%m%H%3%k!W$r;2>H$7$F$/$@$5$$!#(B
<P>$BCm0U$7$FM_$7$$$N$O!"(BCGI $B$,$"$k%/%i%$%"%s%H(B/$B%5!<%P!<(B $B%b%G%k$G!"%/%i%$%"%s%H(B
$B$,$I$s$JCM$bJQ99$G$-$F$7$^$&$3$H$G$9!#%5!<%P!<B&$O>o$K$3$NE@$K5$$r$D$1$F$$$J(B
$B$1$l$P$J$j$^$;$s!#(B
$BNc$r$"$2$k$H!"$$$o$f$k!V1#$l%U%#!<%k%I!W!"%/%C%-!<$J$I$O!"(BCGI $B%W%m%0%i%`$,(B
$BCM$r<u$1<h$kA0$K%/%i%$%"%s%HB&$GCM$rJQ99$G$-$F$7$^$$$^$9!#(B
$B%/%i%$%"%s%H$,56B$$G$-$J$$J}K!$G=pL>$r$9$k$+!"%5!<%P!<$,=pL>$r%A%'%C%/$9$k(B
$B$N$G$J$1$l$P!"$3$l$i$NCM$r?.MQ$7$F$O$$$1$^$;$s!#(B
<P>getlogin(3)$B$d(B ttyname(3)$B$H$$$C$?4X?t$,JV$9CM$O!"%m!<%+%k$N%f!<%6$,@)8f$G$-(B
$B$F$7$^$&$N$G!"%;%-%e%j%F%#$NMQES$H$7$F$3$l$i$r?.MQ$7$F$O$$$1$^$;$s!#(B
<H2><A NAME="ss6.7">6.7 $BFbIt$N@09g@-$r%A%'%C%/$9$k%3!<%I$r;HMQ$7$^$7$g$&(B</A>
</H2>

<P>$B%W%m%0%i%`$O!"8F$S=P$9;~$K;XDj$9$k0z?t$dA[Dj$7$F$$$k4pK\>uBV$,E,@Z$G$"$k$3$H(B
$B$,J]>Z$5$l$F$$$k$+$r%A%'%C%/$9$Y$-$G$9!#(B
C $B$G$O(B assert(3)$B$N$h$&$J%^%/%m$,Lr$KN)$D$G$7$g$&!#(B
<P>
<H2><A NAME="ss6.8">6.8 $B%j%=!<%9$r<+<g5,@)$7$^$7$g$&(B</A>
</H2>

<P>$B%M%C%H%o!<%/4XO"$N%G!<%b%s$G$O!"2aIi2Y$H$J$kMW5a$O5qH]$9$k$+@)8B$r@_$1$^(B
$B$7$g$&!#(B
$B8B3&CM$r@_Dj$7$F(B(setrlimit(2)$B$r;H$C$F(B)$B;HMQ$5$l$F$7$^$&$HM=A[$5$l$k%j%=!<%9$r(B
$B@)8B$7$^$7$g$&!#(B
setrlimit(2)$B$r;H$C$F!V(Bcore$B!W%U%!%$%k$,$G$-$J$$$0$i$$$O:GDc8B$9$k$h$&$K$7$F(B
$B$/$@$5$$!#(B
$BIaDL(B Linux $B$G$O(B core $B%U%!%$%k$r:n$C$F!"%W%m%0%i%`$,0[>o=*N;$7$?$i$=$N$9$Y$F(B
$B$N%a%b%j$rJ]B8$9$k$h$&$K$7$^$9!#$7$+$7(B core $B%U%!%$%k$K$O!"%Q%9%o!<%I$d$=$NB>(B
$B$NCm0U$,I,MW$J%G!<%?$,$"$k$+$b$7$l$^$;$s!#(B
<P>
<HR>
<A HREF="Secure-Programs-HOWTO-7.html">$B<!$N%Z!<%8(B</A>
<A HREF="Secure-Programs-HOWTO-5.html">$BA0$N%Z!<%8(B</A>
<A HREF="Secure-Programs-HOWTO.html#toc6">$BL\<!$X(B</A>
</BODY>
</HTML>