Linuxdoc Sgml/Path
<!doctype linuxdoc system>
<article>
<title>
PATH HOWTO
<author>Esa Turtiainen <url url="mailto: etu@dna.fi" name="mailto: etu@dna.fi" >
<date> v0.4, 15 November 1997
<trans>¹ø¿ª: °í¿µÈÆ <url url="mailto: gogoonee@bbs.para.co.kr" name="gogoonee@bbs.para.co.kr" >
<sect> Introduction<p>
ÀÌ ¹®¼´Â unix ¿Í linuxÀÇ È¯°æ º¯¼ö, ƯÈ÷ path¿¡ °üÇÑ ÀϹÝÀûÀÎ ¿ä·É°ú
¹®Á¦Á¡µéÀ» ¼³¸íÇϰí ÀÖ´Ù. path ´Â ¸í·É¾î¸¦ ã±âÀ§ÇÑ µð·ºÅ丮µéÀÇ ¸®½º
Æ®·Î µ¥ºñ¾È ¸®´ª½º 1.3 ¹èÆ÷ÆÇÀ» ±âÁØÀ¸·Î ¼³¸íÇÑ´Ù.
ÇѰ¡Áö ¾Ë¾ÆµÑ °ÍÀº ÀÌ ±ÛÀº º£Å¸ÆÇÀ̶ó´Â °ÍÀÌ´Ù. ÀüÇÒ ¸»À̳ª ±³Á¤»çÇ×À»
¾Ë·ÁÁÖ¸é ÁÁ°Ú´Ù.
</p>
<sect> Copyright
<p>
ÀÌ ¹®¼´Â ÀÚÀ¯·Ó´Ù. Free software foundation ÀÌ ¼±¾ðÇÑ GPLÇÏ¿¡¼ ¹èÆ÷
ÇÒ¼ö ÀÖ°í ¼öÁ¤ÇÒ¼ö ÀÖ´Ù. ( GPL ¹öÀü2 ¶Ç´Â ±× ÀÌÈÄÀÇ ¹öÀüÀ» µû¸£´Â °Ç ´ç½Å
¸¶À½ÀÌ´Ù)
ÀÌ ¹®¼´Â À¯¿ëÇÏ°Ô ¾²À̱⸦ ¹Ù¶ó´Â ¸¾¿¡¼ ¹èÆ÷µÉ »Ó, ¾î¶°ÇÑ º¸ÁõÀ» ÇØÁÖ
Áø ¾ÊÀ¸¸ç Àº¿¬ÁßÀÇ »ó¾÷¼ºÀ̳ª ƯÁ¤ ¸ñÀûÀ¸·Î ¹èÆ÷µÇ´Â °Íµµ ¾Æ´Ï´Ù. ÀÚ¼¼ÇÑ
»çÇ×À» ¾Ë°í½ÍÀ¸¸é GNU GPLÀ» Àо¶ó.
´ç½ÅÀÌ ÀÌ ¹®¼¿Í ÇÔ²² GNU GPL ¹®¼¸¦ °¡Áö°í ÀÖ±æ ¹Ù¶õ´Ù. ±×·¸Áö ¾Ê´Ù¸é
´ÙÀ½ ÁÖ¼Ò·Î ÆíÁö¸¦ ¶ç¿ö¶ó Free Software Foundation, Inc., 675 Mass
Ave, Cambridge, MA 02139, USA.
</p>
<sect> General
<p>
¸ðµç À¯´Ð½ºÀÇ ÇÁ·Î¼¼½ºµéÀº "ȯ°æ"À» ´ã°í ÀÖ´Ù. À̰ÍÀº º¯¼öµéÀÇ ¸®½ºÆ®·Î
name À̳ª ¶Ç´Â ƯÁ¤ °ª µéÀÌ´Ù.(µÑ´Ù ´ÜÁö string À¸·Î¼ ´ëºÎºÐÀÇ
character°¡ µé¾î°¥ ¼ö ÀÖ´Ù). ¸ðµç À¯´Ð½º ÇÁ·Î¼¼½ºµéÀº ÆÐ·±Æ® ÇÁ·Î¼¼½º
(ºÎ¸ð ÇÁ·Î¼¼½º)¸¦ °¡Áö°í ÀÖ´Ù (ºÎ¸ð ÇÁ·Î¼¼½º¶õ ÇöÀçÀÇ ÇÁ·Î¼¼½º¸¦ (ÀÌÀü¿¡)
»ý¼ºÇÑ ÇÁ·Î¼¼½º·Î À̶§ ÇöÀçÀÇ ÇÁ·Î¼¼½º´Â Â÷Àϵå ÇÁ·Î¼¼½º¶ó ÇÑ´Ù(ÀÚ½Ä
ÇÁ·Î¼¼½º)). ÀÚ½Ä ÇÁ·Î¼¼½º´Â ºÎ¸ð ÇÁ·Î¼¼½º·ÎºÎÅÍ È¯°æÀ» ¹°·Á¹Þ°Ô µÇ°í
ÀÚ½Ä ÇÁ·Î¼¼½º´Â ¶Ç ´Ù½Ã ÀÚ±â ÀÚ½ÄÇÁ·Î¼¼½º¸¦ ¸¸µé¸é¼ ȯ°æÀ» ¹Ù²Ü¼ö ÀÖ´Ù.
±× Áß Áß¿äÇÑ È¯°æº¯¼ö °¡¿îµ¥ Çϳª°¡ PATH ÀÌ´Ù. PATH´Â ¸í·É¾î¸¦ ã±âÀ§ÇØ
°Ë»öÇØ¾ßµÉ µð·ºÅ丮µéÀÇ ¸®½ºÆ®·Î¼ ÄÝ·Ð(:)À¸·Î ±¸ºÐµÇ¾îÁø´Ù. ¸¸¾à ´ç½Å
ÀÌ 'foo' ¶ó´Â ¸í·É¾î¸¦ ÃÆ´Ù¸é PATH¿¡ Á¤ÀÇµÈ ¼ø¼´ë·Î µð·ºÅ丮µéÀÌ °Ë»ö
µÇ¾îÁö¸ç ½ÇÇàÆÄÀÏÀÎ(x ºñÆ®°¡ on »óÅÂÀÎ ÆÄÀÏ) 'foo' ÆÄÀÏÀ» ã°ÔµÇ°í ¹ß°ß
ÀÌ µÇ¸é ½ÇÇàÀÌ µÈ´Ù.
ÀÌ howto ¹®¼¿¡¼ ³ª´Â PATH¸ÞÄ«´ÏÁò¿¡ ÀÇÇØ ªÀº À̸§¸¸À¸·Î(Ç® ÆÐ½º
³×ÀÓÀÌ ¾Æ´Ñ:¿ªÀÚÁÖ) È£ÃâµÇ¾îÁö´Â ½ÇÇàÆÄÀÏÀ» °¡¸®ÄÑ '¸í·É¾î'(command)
¶ó ºÎ¸£°Ú´Ù.
¸®´ª½º¿¡¼´Â ÇÁ·Î¼¼½º¸¦ ½ÃÀÛÇϱâ À§ÇÑ Àú ¼öÁØÀÇ ¿î¿µÃ¼Á¦ ½Ã½ºÅÛ È£Ãâµµ
(exec ÆÐ¹Ð¸® Äݵé) PATH¿¡ Á¤ÇØÁø µð·ºÅ丮µéÀ» °Ë»öÇÏ¿© ½ÇÇàµÇ¾îÁø´Ù:
¶ÇÇÑ ´ç½ÅÀÌ ¾îµð¿¡¼ ¸í·ÉÀ» ½ÇÇàÇ졂 PATH¸ÞÄ«´ÏÁò¿¡ ÀÇÇØ ½ÇÇàµÇ¾îÁø´Ù.
¸¸¾à, exec ½Ã½ºÅÛ ÄÝÀÌ '/'ÀÌ Æ÷ÇÔµÇÁö ¾ÊÀº ÆÄÀϳ×ÀÓ(Áï, Ç®ÆÐ½º ³×ÀÓÀÌ ¾Æ
´Ñ°Í:¿ªÀÚ ÁÖ)À» ½ÇÇàÇÒ °ÍÀ» ¿ä±¸¹ÞÀ¸¸é path º¯¼ö¸¦ ÂüÁ¶ÇÏ°Ô µÇ°í PATH
°¡ ¼³Á¤µÇ¾îÀÖÁö ¾Ê´õ¶óµµ Àû¾îµµ /bin °ú /usr/bin µð·ºÅ丮°¡ Àû´çÇÑ ¸í·É
À» À§ÇØ °Ë»öµÇ¾îÁö°Ô µÉ °ÍÀÌ´Ù.
ȯ°æº¯¼ö ¼¼ÆÃÀº sh ¿¡¼´Â export ¸í·É¾î¸¦ »ç¿ëÇϰí csh ¿¡¼´Â setenv
¸í·É¾î¸¦ »ç¿ëÇÑ´Ù. ¿¹¸¦ µé¸é:
sh:
PATH=/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games:.
csh:
setenv PATH usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games:.
C-ÇÁ·Î±×·¥¿¡¼´Â setenv() ¶óÀ̺귯¸®ÄÝÀ» »ç¿ëÇÏ¿© ȯ°æÀ» ¹Ù²Ü ¼ö ÀÖ
´Ù. Perl ¿¡¼´Â%ENV ¶ó´Â Á¶ÇÕ Çà·ÄÀ» °¡Áö°í ÀÖ¾î¼ ´ÙÀ½°ú °°ÀÌ path¸¦
¼³Á¤ÇÒ ¼ö ÀÖ´Ù.
$ENV{PATH}="/bin".
env ¸í·É¾î´Â ÇöÀçÀÇ È¯°æº¯¼ö°ªµéÀ» ¾Ë¾Æº¸´Âµ¥ ±âº»ÀûÀÎ ¸í·É¾îÀÌ¸ç ¶ÇÇÑ
ȯ°æ º¯¼ö¸¦ ¹Ù²Ù´Â µ¥¿¡µµ ¾²ÀÏ ¼ö ÀÖ´Ù.
±âº»ÀûÀΠȯ°æ(º¯¼ö) ¸ÞÄ«´ÏÁò¿¡ ´ëÇÑ Á¤º¸µéÀº ¸Å´º¾ó ÆäÀÌÁöÀÇ 'environ',
'execl', 'setenv'¸¦ º¸°Å³ª info ÆÄÀÏ 'env' ±×¸®°í ½©¿¡ °üÇÑ ¹®¼¸¦ º¸±â
¹Ù¶õ´Ù.
¸®´ª½º°¡ ºÎÆÃµÉ ¶§ Á¦ÀÏ Ã³À½ ½ÃÀ۵Ǵ °ÍÀº init ÇÁ·Î¼¼½ºÀÌ´Ù. À̰ÍÀº
Ưº°ÇÑ ÇÁ·Î¼¼½º·Î¼ ¸ðµç ÇÁ·Î¼¼½ºµéÀÇ Á¶»óÀÌ µÇ¸ç ÀÚ½ÅÀº ºÎ¸ðÇÁ·Î¼¼½º¸¦
°¡ÁöÁö ¾Ê´Â´Ù. Áï init ÀÇ È¯°æÀº ¸í¹éÇÏ°Ô ¹Ù²îÁö ¾Ê´ÂÇÑ ´Ù¸¥ ¸ðµç ÇÁ·Î¼¼
½ºÀÇ È¯°æÀ¸·Î¼ ³²¾ÆÀÖ°Ô µÈ´Ù.(»ç½Ç ´ë ºÎºÐÀÇ ÇÁ·Î¼¼½ºµéÀº ȯ°æÀ» ¼öÁ¤
ÇÑ´Ù)
init Àº ¿©·¯ ÇÁ·Î¼¼½º ±×·ìµéÀ» ½ÇÇà½Ã۴µ¥, /etc/inittab ÆÄÀÏÀÌ ¾î¶² ÇÁ
·Î¼¼½º¸¦ ½ÃÀÛ½Ãų°ÍÀÎÁö ¾Ë·ÁÁØ´Ù. ÀÌ ÇÁ·Î¼¼½ºµéÀº init À¸·ÎºÎÅÍ ¹ÞÀº ȯ
°æÀ» °¡Áö°í ¼öÇàµÇ°í, 'getty'(Äֿܼ¡ 'login:'À̶ó°í ³ªÅ¸³»ÁÖ´Â ÇÁ·Î¼¼½º)
°°Àº °ÍµéÀÌ ÀÖ´Ù. ¸¸¾à ¿©±â¼(½Ã½ºÅÛ ½ºÅ¸Æ® ½Ã¿¡) pppÁ¢¼ÓÀ» ½ÃÀÛÇÑ´Ù¸é
ÀÌ ¶§´Â initÀÇ È¯°æº¯¼ö ¾Æ·¡¼ ¼öÇàµÇ°í ÀÖÀ½À» ¾Ë¾Æ¾ß ÇÑ´Ù. ½Ã½ºÅÛ Ãʱâ
È´Â ´ë°Ô ¿©±â¼ ½ÃÀ۵Ǵ ½ºÅ©¸³Æ®µé¿¡ ÀÇÇØ ÀÌ·ç¾î Áø´Ù. µ¥ºñ¾È 1.3ÀÇ
ÃʱâÈ´Â /etc/init.d/rcÀ̸ç ÀÌ ½ºÅ©¸³Æ®´Â ¶Ç ´Ù½Ã ´Ù¸¥ ÃʱâÈ ½ºÅ©¸³Æ®
µéÀ» È£ÃâÇÑ´Ù.
½Ã½ºÅÛ¿¡´Â µ¹¾Æ°¡°í ÀÖ´Â ¸¹Àº ¼¹ö(µ¥¸óÀ̶ó°íµµ ÇÔ)µéÀÌ Àִµ¥ ÀÌ °Íµé
Àº µðÆúÆ®ÀÇ È¯°æº¯¼ö¸¦ »ç¿ëÇÒ ¼öµµ ±×·¸Áö ¾ÊÀ»¼öµµ Àִµ¥, ´ëºÎºÐÀÇ ¼
¹öµéÀº ÃʱâÈ ½ºÅ©¸³Æ®¿¡¼ ½ÇÇàµÇ¾îÁö¸ç, ±×·¡¼ initÀÇ È¯°æÀ» °¡Áö°í ÀÖ
´Ù.
»ç¿ëÀÚ°¡ ½Ã½ºÅÛ¿¡ ·Î±×ÀÎ ÇϰԵǸé ȯ°æº¯¼öµéÀº ÇÁ·Î±×·¥¿¡ ÄÄÆÄÀϵǾî
µé¾î°£ ȯ°æº¯¼ö ¼³Á¤¿¡ ÀÇÇØ¼, ¶Ç´Â ½Ã½ºÅÛ Àü¹Ý¿¡ ¿µÇâÀ» ÁÖ´Â ÃʱâÈ ½ºÅ©¸³Æ®³ª »ç¿ëÀÚ ÃʱâÈ ½ºÅ©¸³Æ®¿¡ ÀÇÇØ º¯ÇÏ°Ô µÈ´Ù. À̰ÍÀº ²Ï º¹ÀâÇϰí
¿©±â¼ ¼³¸íÇϱ⿡´Â ÃæºÐÄ¡ ¾Ê´Ù°í º»´Ù. ¿¹¸¦ µé¾î »ç¿ëÀÚ°¡ ÄַܼΠ·Î±×
ÀÎÀ» ÇÏ´Â °æ¿ì, ¾Æ´Ï¸é xdm ¶Ç´Â network¸¦ ÅëÇØ¼ ·Î±×ÀÎÀ» ÇϰԵǴ °æ
¿ì°¡ ¿ÏÀüÈ÷ ´Ù¸£°Ô µÈ´Ù.
</p>
<sect> Init
<p>
init Àº ´Ù¸¥ ¸ðµç ÇÁ·Î¼¼½ºµéÀÇ ºÎ¸ð ÇÁ·Î¼¼½º·Î¼, ´Ù¸¥ ÇÁ·Î¼¼½ºµéÀº init
ÀÇ È¯°æÀ» µû¸£°Ô µÇ°í ´Ù¸¥ ÆÐ½º°¡ ÁöÁ¤µÇÁö ¾Ê´Â ÇÑ(µå¹È °æ¿ìÀÌ´Ù) initÀÇ
PATH¸¦ µû¸£°Ô µÈ´Ù.
initÀÇ PATH´Â init ÇÁ·Î±×·¥ÀÇ ¼Ò½º¿¡ ´ÙÀ½°ú °°ÀÌ Á¤ÇØÁ® µé¾î°¡ ÀÖ´Ù.
/usr/local/sbin:/sbin:/bin:/usr/sbin:/usr/bin
initÀÇ PATH¿¡ /usr/local/binÀÌ µé¾î°¡ÀÖÁö ¾Ê´Ù´Â °ÍÀ» ´«¿©°Ü ºÁµÎ±â ¹Ù
¶õ´Ù.
/etc/inittab ÆÄÀÏ, Ưº°È÷ ½Ã½ºÅÛ ÃʱâÈ ½ºÅ©¸³Æ®ÀÎ /etc/int.d·ÎºÎÅÍ ½Ç
ÇàµÇ´Â ¸ðµç ÇÁ·Î±×·¥µé Àº initÀÇ È¯°æ¿¡ µû¸£°Ô µÈ´Ù. (debian 1.3)
½Ã½ºÅÛ ÃʱâÈ ½ºÅ©¸³Æ®¿¡ ÀÇÇØ ½ÇÇàµÇ´Â ¸ðµç °ÍµéÀº init ÀÇ È¯°æÀ» µðÆú
Ʈȯ°æÀ¸·Î °¡Áö°Ô µÇ´Âµ¥ ÀÌ·¯ÇѰͿ¡´Â syslogd, kerneld, pppd (½Ã½ºÅÛ
ºÎÆÃ½Ã ½ÃÀÛµÉ ¶§) , gpm, ±×¸®°í ¾ÆÁÖ Áß¿äÇÑ lpd ¿Í inetd °¡ ±×·¯Çϸç ÀÌ
µéÀº µðÆúÆ® ȯ°æÀ» ¹Ù²ÙÁö ¾Ê´Â´Ù.
ºÎÆÃ ½ºÅ©¸³Æ®¿¡¼ ½ÃÀ۵Ǵ ¸î °³ÀÇ ÇÁ·Î±×·¥Áß¿¡´Â ºÎÆÃ ½ºÅ©¸³Æ®¿¡¼
path º¯¼ö°¡ ÁöÁ¤µÇ±âµµ Çϴµ¥ ÀÌ·¯ÇÑ °Í¿¡´Â atd, sendmail, apache ±×
¸®°í squid°¡ ÀÖ´Ù.
ºÎÆÃ½ºÅ©¸³Æ®¿¡¼ ½ÃÀ۵Ǵ ÇÁ·Î±×·¥Áß¿¡´Â path¸¦ ¾Æ¿¹ ¹Ù²ã¹ö¸®´Â °Íµµ
Àִµ¥ ÇÑ ¿¹°¡ cronÀÌ´Ù.
</p>
<sect> Login<p>
ÅØ½ºÆ® Äֿܼ¡´Â getty ¶ó´Â ÇÁ·Î±×·¥ÀÌ »ç¿ëÀÚÀÇ ·Î±×ÀÎÀ» ±â´Ù¸°´Ù. ÀÌ
ÇÁ·Î±×·¥Àº 'login:' µîÀÇ ¸Þ½ÃÁö¸¦ ȸ鿡 ³ªÅ¸³»¸ç initÀÇ È¯°æº¯¼öÇÏ¿¡¼
½ÇÇàµÈ´Ù. »ç¿ëÀÚ°¡ ·Î±×ÀÎ ÇϰԵǸé getty´Â login ÇÁ·Î±×·¥À» ±âµ¿½Ã۸ç
loginÀº »ç¿ëÀÚ È¯°æÀ» ¼¼ÆÃÇϰí shellÀ» ±âµ¿ÇÑ´Ù.
login ÇÁ·Î±×·¥Àº /usr/include.path.h ¿¡ Á¤ÇØÁø´ë·Î path¸¦ ¼³Á¤ÇÑ´Ù. ÀÏ
¹ÝÀûÀÎ »ç¿ëÀÚ¸¦ À§ÇÑ ÆÐ½ºÁöÁ¤Àº ´ÙÀ½°ú °°´Ù.(_PATH_DEFPATH)
/usr/local/bin:/usr/bin:/bin:.
root¸¦ À§Çؼ´Â ´ÙÀ½ÀÌ ÁöÁ¤µÇ¾îÀÖ´Ù. (_PATH_DEFPATH_ROOT)
/sbin:/bin:/usr/sbin:/usr/bin
ÀϹݻç¿ëÀÚÀÇ ÆÐ½º´Â ¾î¶°ÇÑ sbin µð·ºÅ丮µµ Æ÷ÇÔÇϰí ÀÖÁö¾Ê´Ù. ±×·¯³ª
ÇöÀçµð·ºÅ丮ÀÎ '.'À» Æ÷ÇÔÇϰí Àִµ¥ ÀÌ µð·ºÅ丮¸¦ path¿¡ ³Ö´Â °ÍÀº
root¿¡°Ô´Â À§ÇèÇÑ °ÍÀ¸·Î º¸´Â °æ¿ì°¡ ¸¹´Ù. ½ÉÁö¾î root¿¡°Ô /usr/local/bin
µð·ºÅ丮µµ PATH¿¡´Â ¾ø´Ù.
·Î±×ÀÎ ÆÐ½º´Â ÀÚÁÖ ¼¿ ÃʱâÈ °úÁ¤¿¡¼ ¼öÁ¤µÇ¾îÁø´Ù. ±×·¯³ª »ç¿ëÀÚ ½©·Î
¼ /etc/passwd ¿¡ º¸Åë ¾²ÀÌ´Â ½©¸»°í ´Ù¸¥ ÇÁ·Î±×·¥µµ »ç¿ëµÉ¼ö ÀÖ´Ù. ¿¹
·Î ³ª´Â Ưº°È÷ ¸¸µç À¯Àú³×ÀÓÀ¸·Î ·Î±×ÀÎ ÇÏ´Â °æ¿ì¿¡´Â ppp¸¦ ½ºÅ¸Æ® ½Ã
۱âÀ§ÇØ ´ÙÀ½°ú °°Àº ¹æ¹ýÀ» ÀÌ¿ëÇÑ´Ù.(ÀÌ °æ¿ì pppdÀÇ ÆÐ½º´Â login ÇÁ
·Î±×·¥ÀÇ ÆÐ½º¿Í °°´Ù)
etu-ppp:viYabVlxPwzDl:1000:1000:Esa Turtiainen,PPP:/:/usr/sbin/pppd
</p>
<sect> Shells
<p>
»ç¿ëÀÚ ÇÁ·Î¼¼½ºµéÀº /etc/passwd ¿¡ Á¤ÇØÁø ½©ÀÇ ÀÚ½ÄÇÁ·Î¼¼½ºÀÎ °æ¿ì°¡
¸¹À¸¸ç ´ë°Ô ½©ÀÇ ÃʱâÈ ÆÄÀÏ¿¡ ÀÇÇØ¼ path´Â ¼öÁ¤µÇ¾îÁö´Â °æ¿ì°¡ ¸¹´Ù.
login ÇÁ·Î±×·¥¿¡¼´Â ½©ÀÇ À̸§¾Õ¿¡ '-' °¡ ºÙ´Â´Ù. ¿¹¸¦µé¾î bash´Â
'-bash'¶ó°í ºÒ·ÁÁø´Ù. ÀÌ Ç¥½Ã´Â ±×°ÍÀÌ ·Î±×ÀÎ ½©ÀÓÀ» ºÒ·ÁÁö´Â ½©¿¡°Ô
¾Ë¸°´Ù. ÀÌ °æ¿ì¿¡ ½©Àº ·Î±×ÀÎ ÃʱâÈ ÆÄÀÏÀ» ¼öÇàÇÏ°Ô µÈ´Ù. ·Î±×ÀÎ ½©ÀÌ
¾Æ´Ò°æ¿ì¿¡´Â °£´ÜÇÑ ÃʱâȰ¡ ÀÌ·ç¾îÁø´Ù.
Ãß°¡ÀûÀ¸·Î, ½©ÀÌ »óÈ£ ´ëȽĽ©ÀÎÁö Áï, ¸í·É¾î°¡ ÆÄÀϷκÎÅÍ ÀÔ·ÂÀÌ µÇ´Â
Áö tty¿¡¼ ÀÔ·ÂÀÌ µÇ´ÂÁö üũ¸¦ Çϴµ¥ À̰ÍÀº ½©ÀÇ Ãʱâȸ¦ ¼öÁ¤ÇÏ°Ô µÇ
¸ç ±×·¡¼ ´ëÈ½Ä ½©ÀÌ ¾Æ´Ï°í ·Î±×ÀÎ ½©µµ ¾Æ´Ï¶ó¸é ÃʱâÈ´Â ¾ÆÁÖ °£´ÜÇϰÔ
ÀÌ·ç¾îÁø´Ù.(bash´Â À̰æ¿ì¿¡´Â ¾Æ¹«·± Ãʱâȵµ ÇÏÁö ¾Ê´Â´Ù!)
</p>
<sect1> bash
<p>
ÀüÇüÀûÀÎ ·Î±×ÀÎ ½©·Î¼ bash´Â ½Ã½ºÅÛÀü¹Ý¿¡ °ÉÃÄ ¾²ÀÌ´Â /etc/profile ÆÄ
ÀÏÀ» ÂüÁ¶ÇÑ´Ù. ¿©±â¿¡´Â ½Ã½ºÅÛ È¯°æ°ú path°¡ bash »ç¿ëÀÚ¸¦ À§ÇØ ¼³Á¤µÇ
¾î Áú ¼ö ÀÖ´Ù.
±×·¯³ª ½Ã½ºÅÛÀÌ ´ëÈ½Ä ½©ÀÌ ¾Æ´Ï¶ó°í ÆÇ´ÜÇÏ°Ô µÇ¸é ÀÌ ÆÄÀÏÀº ÀÐÇôÁöÁö
¾Ê´Â´Ù. Áß¿äÇÑ °æ¿ì·Î ¸®¸ðÆ®¿¡¼ ¸í·É¾î°¡ ½ÇÇàµÇ´Â rsh °¡ Àִµ¥ ÀÌ °æ¿ì
/etc/profileÀº ÀÐÇôÁöÁö ¾Ê°í path´Â rsh µ¥¸ó¿¡°Ô¼ »ó¼ÓµÇ¾îÁø´Ù.
bash´Â ¸í·É Àμö -login°ú -i ·Î½á ·Î±×ÀÎ ½©ÀÎÁö ¾Æ´ÑÁö ¿Í ´ëÈÇü ½©ÀÎ
Áö ¾Æ´ÑÁö¸¦ Á¤ÇÒ ¼ö ÀÖ´Ù.
»ç¿ëÀڴ Ȩµð·ºÅ丮¿¡ ~/.bash_profile, ~/.bash_login ¶Ç´Â ~/.profile
ÆÄÀÏÀ» ¸¸µé¾î¼ /etc/profile ¿¡ Á¤ÇØÁø °ªÀ» ¼öÁ¤ÇÒ ¼ö ÀÖ´Ù. ÁÖÀÇÇÒ °ÍÀº
cshÀÇ ÃʱâÈ °úÁ¤°ú´Â ´Ù¸£°Ô ÀÌ ÆÄÀÏÁß Ã³À½°Í¸¸ ½ÇÇàµÈ´Ù´Â °ÍÀÌ´Ù.
~/.bash_login Àº ·Î±×ÀÎ ½©ÀÏ °æ¿ì ½ÇÇàµÇÁö ¾ÊÀ¸¸ç ~/.bash_profile ÀÌ
ÀÖ´Ù¸é ~/.bash_loginÀº ÀüÇô ½ÇÇà¾ÈµÈ´Ù!!
¸¸¾à bash°¡ sh ¶õ À̸§À¸·Î »ç¿ëµÇ¾îÁø´Ù¸é bash´Â ¿À¸®Áö³¯ º»½©ÀÇ ÃÊ
±âȸ¦ ¿¡¹Ä·¹ÀÌÆ®ÇÑ´Ù. Áï, /etc/profile, ~/.profile °ú ·Î±×ÀÎ ½©ÀÇ Ãʱâ
ȸ¸ µû¸¥´Ù.
</p>
<sect1> tcsh
<p>
tcsh °¡ ·Î±×ÀÎ ½©À̸é tcsh ´Â ´ÙÀ½ ¼ø¼·Î ÆÄÀϵéÀ» ¼öÇàÇÑ´Ù.
<code>
/etc/csh.cshrc
/etc/csh.login
~/.tcshrc
~/.cshrc (.tcshrc °¡ ¾ø´Â°æ¿ì)
~/.history
~/.login
~/.cshdirs
</code>
tcsh´Â cshrc ½ºÅ©¸³Æ® Àü¿¡ login ½ºÅ©¸³Æ®¸¦ ¸ÕÀú ¼öÇàÇϵµ·Ï ÄÄÆÄÀÏÇÒ¼ö
µµ ÀÖ´Ù. ¾Ë¾ÆµÎ¾î¶ó!
´ëÈÇü ½©ÀÌ ¾Æ´Ò°æ¿ì¿¡´Â ´ÜÁö *cshrc½ºÅ©¸³Æ®¸¸ ½ÇÇàµÈ´Ù. *login ½ºÅ©
¸³Æ®´Â path¸¦ ÁöÁ¤Çϱâ À§ÇØ ·Î±×ÀÎ ½Ã¿¡ Çѹø »ç¿ëµÈ´Ù.
</p>
<sect> Changing user ID
<sect1>su
<p>
su ¸í·É¾î¸¦ »ç¿ëÇÒ¶§´Â »ç¿ëÇÏ·Á´Â »õ·Î¿î ¾ÆÀ̵𸦠Àû¾îÁִµ¥ ¾Æ¹«°Íµµ
Àû¾îÁÖÁö ¾ÊÀ¸¸é root °¡ »ç¿ëµÈ´Ù.
´ë°ÔÀÇ °æ¿ì su ´Â ´Ù¸¥¾ÆÀ̵ð·Î ¼ºê½©À» ±âµ¿Çϴµ¥, ¾Æ±Ô¸ÕÆ®·Î '-'(ÃÖ
±Ù¿¡´Â -l ¶Ç´Â -login)¸¦ ºÙÀÏ °æ¿ì su ´Â ·Î±×Àν©À» ±âµ¿ÇÑ´Ù. ¾î·°Å³ª
su´Â ÀÌ·± ±â´ÉÀ» ¼öÇàÇϱâÀ§ÇØ loginÇÁ·Î±×·¥À» ¾²Áö´Â¾Ê´Â´Ù. ´ë½Å ·Î±×ÀÎ
½Ã¹Ä·¹À̼Ç(¼Ò½º Äڵ忡 ÀÌ ¿ë¾î¸¦ ¾²´õ±º¿ä)À» À§ÇÑ ´Ù¸¥ ³»ÀåµÈ(built in)
path°¡ »ç¿ëµÈ´Ù.
±× path´Â ÀϹݻç¿ëÀÚ¿¡°Ô´Â
/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:.
root ¿¡°Ô´Â
/sbin:/bin:/usr/sbin:/usr/bin:/usr/bin/X11:/usr/local/sbin:/usr/local/bin
ÀÌ´Ù.
»Ó¸¸ ¾Æ´Ï¶ó su´Â ²Ï³ª ¹Ì¼¼ÇÑ È¯°æ¼³Á¤ÀÇ º¯È¸¦ °¡Á®¿Â´Ù.
</p>
<sect1>sudo
<p>
¼öÆÛÀ¯Àú ¸í·É¾îµéÀ» º¸´Ù ¾ÈÀüÇÏ°Ô ¾µ¼öÀÖµµ·Ï ÇÏ´Â ¸í·É¾îµéÀÌ Àִµ¥
À̰͵éÀº º¸´Ù ³ªÀº ·Î±ë°ú À¯Àúº° Á¦ÇѰú °³º°ÀûÀÎ ÆÐ½º¿öµå »ç¿ëÀ» °¡´É
ÇÏ°Ô ÇØÁØ´Ù. °¡Àå ³Î¸®¾²ÀÌ´Â °ÍÀº sudo ÀÌ´Ù.
$ sudo env
ÀÌ ¸í·ÉÀº env ¸í·ÉÀ» ¼öÆÛÀ¯Àú ¸ðµå·Î ½ÇÇàÇÏ°Ô ÇÑ´Ù. (¸¸¾à ±×°ÍÀ» Çã¿ë
ÇϰԲû ¼³Á¤ÀÌ µÇ¾îÀÖ´Ù¸é)
sudo ¸í·É¾î´Â path¸¦ ´Ù·ç´Âµ¥ ÀÖ¾î¼ ¶Ç´Ù¸¥ Á¢±Ù¹æ½ÄÀ» °®°í Àִµ¥,
path¸¦ ¹Ù²ã¼ Ç×»ó ÇöÀç µð·ºÅ丮°¡ pathÀÇ ¸¶Áö¸·¿¡ ÀÖ°Ô ÇÑ´Ù. ±×·¯³ª
PATH º¯¼ö¸¦ ¹Ù²ÙÁö´Â ¾ÊÀ¸¸ç ´ÜÁö SUDO_USER °°Àº ¸î °³ÀÇ È¯°æ º¯¼ö
µé¸¸À» ¹Ù²Û´Ù.
</p>
<sect>Network servers<p>
´ëºÎºÐÀÇ ³×Æ®¿öÅ© ¼¹öµéÀº ¾î¶²Á¾·ùÀÇ ¼ºê ÇÁ·Î¼¼½ºµµ °¡µ¿ÇÏÁö ¾Ê´Â°Ô
ÁÁ´Ù. º¸¾ÈÀ» »ý°¢ÇÑ´Ù¸é ±× ÇÁ·Î¼¼½ºµéÀÇ path ´Â ÃÖ¼ÒÇÑ ÀÌ¿©¾ß ÇÑ´Ù.
ÇѰ¡Áö Áß¿äÇÑ ¿¹¿Ü°¡ ÀÖ´Ù¸é ³×Æ®¿öÅ©·ÎºÎÅÍ ·Î±ëÀ» Çã¿ëÇÏ´Â ¼ºñ½ºµéÀÌ
´Ù. ÀÌ Àå¿¡¼´Â ÀÌ °æ¿ì¿¡ ¾î¶² ȯ°æÀÌ ¾²ÀÌ´ÂÁö ¼³¸íÇϰí ÀÖ´Ù. ¸¸¾à rsh¸¦
ÅëÇØ ¾î¶² ¸í·É¾î°¡ ¸®¸ðÆ® ¸Ó½Å¿¡¼ ¼öÇàµÇ¸é path ´Â ssh¸¦ »ç¿ëÇÏ´Â°Í °ú
´Ù¸£´Ù. ºñ½ÁÇÏ°Ô rloginÀ¸·Î telnet ¶Ç´Â ssh·Î ·Î±×ÀÎ ÇßÀ»¶§µµ °¢°¢ ´Ù¸£
´Ù.</p>
<sect1>inetd
<p>
´ëºÎºÐÀÇ ³×Æ®¿öÅ© ¼¹öµéÀº ¸®Äù½ºÆ®¸¦ ±â´Ù¸®¸ç ´ë±âÇϰí ÀÖ´Â ¼ºê ÇÁ
·Î¼¼½ºµéÀ» °¡Áö°í ÀÖÁö ¾Ê´Ù. ÀÌ ÀÏÀº inetd¶ó´Â ÀÎÅÍ³Ý ¼öÆÛ ¼¹ö°¡ ´ë½Å
ÇÏ°Ô µÇ´Âµ¥, inetd´Â ¼³Á¤µÈ ¸ðµç ³×Æ®¿öÅ© Æ÷Æ®µéÀ» µè°í ÀÖ´Ù°¡ ¸®Äù½ºÆ®
°¡ ¿À¸é ÇØ´çÇÏ´Â ¼¹ö¸¦ ±âµ¿ÇÑ´Ù.
inetd ÀÇ ¼³Á¤ÆÄÀÏÀº /etc/inetd.conf ÀÌ´Ù.
inetd´Â ½Ã½ºÅÛ ½ÃÀÛ ½ºÅ©¸³Æ®¿¡¼ ½ÃÀ۵Ǿî Áø´Ù. init ÇÁ·Î¼¼½º·ÎºÎÅÍ
path¸¦ »ó¼Ó¹Þ°í ¼öÁ¤ÇÏÁö´Â ¾Ê´Â´Ù. ±×·¡¼ inetd ·ÎºÎÅÍ ½ÃÀ۵Ǵ ¸ðµç
¼¹öµéÀº initÀÇ path¸¦ °¡Áö°í ÀÖ´Ù.
¿¹·Î¼ IMAP post office ÇÁ·ÎÅäÄÝÀÎ imapdÀ» µé¼öÀÖ´Ù
´Ù¸¥ inetdÇÁ·Î¼¼½º´Â telnet, rlogin, talkd, ftp, popd, ¿©·¯ http¼¹ö µîÀÌ
ÀÖ´Ù.
¸®¾ó ¼¹ö¸¦ ±¸µ¿ÇϱâÀ§ÇØ µû·Î ºÐ¸®µÈ(µ¶¸³ÀûÀÎ?:¿ªÀÚ ÁÖ) tcpd ÇÁ·Î±×·¥
À» »ç¿ëÇÑ´Ù¸é inetd ÀÇ »ç¿ë¹ýÀº ¿©ÀüÈ÷ º¹ÀâÇÏ´Ù. tcpd´Â ¸®¾ó ¾îÇø®ÄÉ
À̼ÇÀÌ ½ÃÀ۵DZâ Àü¿¡ Ãß°¡ÀûÀÎ º¸¾È Á¡°ËÀ» ÇϰԵǴµ¥ path¸¦ ¹Ù²ÙÁö´Â
¾Ê´Â´Ù.(È®ÀÎÇØº¸Áö ¾Ê¾ÒÀ½)
</p>
<sect1>rsh
<p>
rsh µ¥¸óÀº ÀϹݻç¿ëÀÚ¸¦ À§ÇØ ·Î±×ÀÎ ÇÁ·Î±×·¥ÀÌ ¼³Á¤Çϴ°Ͱú °°Àº
_PATH_DEFPATH (/usr/include/paths.h) ·ÎºÎÅÍ path¸¦ ¼³Á¤ÇÑ´Ù. root
¿ª½Ã ÀϹÝÀ¯Àú¿Í °°Àº path¸¦ °®´Â´Ù.
»ç½Ç, rshd ´Â commandline¿¡¼ ¾òÀº ÆÄ¶ó¸ÞÅÍ(¿¹Á¦¿¡¼
command-line:¿ªÀÚ ÁÖ)·Î ´ÙÀ½°ú °°Àº ¸í·É¾î¸¦ ½ÇÇàÇÏ´Â °ÍÀÌ´Ù.
shell -c command-line
À̰æ¿ì ·Î±×ÀÎ ½©Àº¾Æ´Ï´Ù. /etc/passwd ¿¡ ±â·ÏµÈ ¸ðµç ½©µéÀÌ -c ¿É¼ÇÀ»
Áö¿øÇÏ´ÂÁö È®ÀÎÇϱ⠹ٶõ´Ù.
</p>
<sect1> rlogin
<p>
Rlogin Àº real login °úÁ¤À» ¼öÇàÇϱâÀ§ÇØ loginÀ» ±âµ¿ÇÑ´Ù. rloginÀ» ÅëÇØ
·Î±×ÀÎ ÇÑ´Ù¸é login ¿¡¼¿Í °°Àº path¸¦ °®°Ô µÉ °ÍÀÌ´Ù. ´Ù¸¥¹æ½ÄÀÇ ¸®´ª½º
·Î±×ÀÎÀº ´ëºÎºÐ loginÀ» »ç¿ëÇÏÁö ¾Ê´Â´Ù. rsh ¿Í ´Ù¸£´Ù´Â °Í¿¡ ÁÖÀÇÇϱâ
¹Ù¶õ´Ù.
½ÇÁ¦ login ´ÙÀ½°ú °°Àº ¸í·ÉÀ» »ç¿ëÇϴµ¥
login -p -h host-name user-name
-p ¿É¼ÇÀº HOME, PATH, SHELL, TERM, MAIL, LOGNAMEÀ» Á¦¿ÜÇÑ
ȯ°æº¯¼öµéÀ» Àü¿¡ ÀÖ´ø ±×´ë·Î º¸Á¸Çϰí, -h ¿É¼ÇÀº ·Î±×ÀÎÇÒ ¸®¸ðÆ® È£½º
Æ® ¸íÀ» ¾Ë·ÁÁÖ°Ô µÈ´Ù.
</p>
<sect1> telnet
<p>
telnetÀº rlogin °ú ºñ½ÁÇÏ´Ù. login ÇÁ·Î±×·¥À» »ç¿ëÇÏ¸ç ¸í·É½ÇÇ൵
rlogin°ú ºñ½ÁÇÑ ¹æ½ÄÀ¸·Î ÀÌ·ç¾îÁø´Ù.
</p>
<sect1> ssh
<p>
ssh ´Â ÀڽŸ¸ÀÇ path ¼³Á¤Ä¡¸¦ °®°í ÀÖ´Ù. ssh´Â °íÁ¤µÃ path º¯¼ö¸¦ °¡
Áö¸ç ssh °¡ ³õ¿©Á®ÀÖ´Â path¸¦ Ãß°¡ÇÑ °ÍÀÌ´Ù. ¶§·Î ÀÌ·¸°Ô µÊÀ¸·Î½á
/usr/bin µð·ºÅ丮°¡ ÆÐ½º¿¡ µÎ ¹ø ³ªÅ¸³ª°Ô µÇ±âµµ ÇÑ´Ù.
/usr/local/bin:/usr/bin:/bin:.:/usr/bin
path¿¡ /usr/X11/bin ÀÌ µé¾îÀÖÁö ¾ÊÀ¸¸ç, ssh°¡ ±âµ¿ÇÑ ½©Àº ·Î±×ÀÎ ½©ÀÌ
¾Æ´Ï´Ù. ±×·¯¹Ç·Î
ssh remotehost xterm
ÀÌ·± ¸í·ÉÀº ½ÇÇàµÇÁö ¾Ê°í /etc/profileÀ̳ª /etc/csh.cshrc°ªÀ» ¹Ù²ãÁØ´Ù
ÇØµµ ¼Ò¿ë¾ø´Ù. »ç¿ëÇÏ·Á¸é Ç® ÆÐ½º¸¦ Àû¾îÁà¾ßÇÑ´Ù (/usr/bin/X11/xterm)
ssh´Â /etc/environment ÆÄÀϾÈÀÇ VAR=VALUE, ÀÌ·± Çü½ÄÀÇ È¯°æº¯¼ö
°ªÀ» ÀоîµéÀδÙ. ±×·¡¼ XFree86 ½ÇÇà½Ã ¹®Á¦¸¦ ÀÏÀ¸Å²´Ù. (µÚ¿¡ Ãß°¡ÀûÀ¸
·Î ¼³¸íµÊ:¿ªÀÚ ÁÖ)
</p>
<sect> XFree86
<sect1> XDM
<p>
XDMÀº ±×·¡ÇÈ È¯°æÀÇ Å͹̳ηΠ·Î±×ÀÎ ½Ã¿¡ ¸¹ÀÌ »ç¿ëµÇ´Â ¹æ¹ýÀÌ´Ù. login
°ú ºñ½ÁÇÏ°Ô º¸ÀÏÁö ¸ð¸£³ª ³»ºÎÀûÀ¸·Î´Â ¿ÏÀüÈ÷ ´Ù¸¥°ÍÀÌ´Ù.
Àü°ú´Â ´Ù¸¥ ·Î±×ÀÎ °úÁ¤À» ½ÇÇàÇϱâ À§ÇÑ ¼³Á¤ÆÄÀϵéÀÌ /etc/X11/xdm µð
·ºÅ丮¿¡ ÀÖ´Ù. Xstartup (screen 0 ´Â Xstartup_0) Àº À¯Àú°¡ ·Î±×ÀÎÇÑÈÄ
½ÇÇàµÇ´Â ¸í·ÉµéÀÌ ÀÖ´Ù.(¸í·ÉÀº root ±ÇÇÑÀ¸·Î ½ÇÇàµÇ¾îÁø´Ù)
À¯ÀúµéÀ» À§ÇÑ path ´Â /etc/X11/xdm/xdm-config ÆÄÀÏ¿¡ ÀÖ´Ù. ´ÙÀ½°ú
°°Àº ¶óÀεéÀε¥
DisplayManager*userPath:
/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
DisplayManager*systemPath:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11
´ç¿¬È÷ ÀÏ¹Ý »ç¿ëÀÚ¿Í root¸¦ À§ÇÑ ±âº» path °¡ µÉ°ÍÀ̸ç /usr/bin/X11 µð
·ºÅ丮°¡ path¿¡ °É·ÁÀÖ´Ù´Â °Í¿¡ ÁÖ¸ñÇϱ⠹ٶõ´Ù. ¸¸¾à¿¡ X À¯Àú°¡ ´Ù¸¥
¸Ó½Å¿¡ µé¾î°¡ X Ŭ¶óÀÌ¾ðÆ® ÇÁ·Î±×·¥À» ½ÇÇàÇϱâ À§Çؼ´Â (X terminal·Î
ºÎÅÍ Á÷Á¢ ·Î±×ÀÎ ÇÏÁö ¾Ê¾Ò´õ¶óµµ..) /usr/bin/X11 ÀÌ path¿¡ °É·ÁÀÖ¾î¾ß
ÇÑ´Ù.
XstartupÀ» ½ÇÇàÇÑÈÄ XDMÀº ÃÖÁ¾»ç¿ëÀڷμ /etc/X11/XsessionÀ» ½ÇÇà
ÇÑ´Ù. /etc/environment ÆÄÀÏÀÌ Á¸ÀçÇÑ´Ù¸é XsessionÀº ÀÌ ÆÄÀÏÀ» ºÒ·¯µé
ÀÌ°í ·ÎÄ® ¼³Á¤Àº ÀÌ ÆÄÀÏ¿¡¼ ³¡³ª°Ô µÈ´Ù.(XsesionÀº /bin/sh ¿¡ ÀÇÇØ ½Ç
ÇàµÇ¹Ç·Î /etc/environment ´Â shÆÄÀÏÀ̾î¾ß ÇÑ´Ù) ÀÌ ¶§¹®¿¡ ssh¸¦ »ç¿ëÇÒ
°æ¿ì ¹®Á¦°¡ ¹ß»ýÇÑ´Ù. ssh´Â /etc/environment°¡ VAR=VALUE, ÀÌ·± Çü
½ÄÀÇ ¶óÀεéÀÌ µé¾î°¡ ÀÖ´Â ÆÄÀÏÀÏ °ÍÀ̶ó »ý°¢Çϱ⠶§¹®ÀÌ´Ù.
</p>
<sect1> xterm -ls
<p>
µðÆúÆ®·Î X window¸Þ´ÏÁ® ¸Þ´º·ÎºÎÅÍ ½ÇÇàµÈ ¸í·ÉµéÀ» À§ÇÑ path´Â XDM
À¸·ÎºÎÅÍ »ó¼Ó¹ÞÀº °ÍÀÌ´Ù. ´Ù¸¥ path¸¦ ¿øÇÑ´Ù¸é Á÷Á¢ ¼¼ÆÃÇØÁà¾ß ÇÑ´Ù.
¸î¸î ±âº»ÀûÀÎ ÆÐ½º¸¦ °¡Áö°í Å͹̳Π¿¡¹Ä·¹ÀÌÅ͸¦ ½ÃÀÛÇÏ·Á¸é Ưº°ÇÑ ¿É¼Ç
µéÀÌ »ç¿ëµÇ¾îÁ®¾ß ÇÑ´Ù. xterm¿¡¼´Â -ls(login shell) ¿É¼ÇÀ» »ç¿ëÇÏ¿©
shell ·Î±×ÀÎ ÃʱâÈ ÆÄÀÏÀÇ path¸¦ Áö´Ñ ·Î±×ÀÎ ½©À» ±âµ¿ÇÒ ¼ö ÀÖ´Ù.
</p>
<sect1> Window manager menus and buttons
<p>
À©µµ¿ì ¸Þ´ÏÁ®´Â XDMÀ¸·ÎºÎÅÍ È¯°æº¯¼ö¸¦ ¹°·Á¹Þ´Â´Ù. À©µµ¿ì ¸Þ´ÏÁ®·Î
ºÎÅÍ ½ÇÇàµÈ ¸ðµç ÇÁ·Î±×·¥µéÀº À©µµ¿ì ¸Þ´ÏÁ®ÀÇ È¯°æÀ» ¹°·Á¹Þ´Â´Ù.
»ç¿ëÀÚ ½©ÀÇ È¯°æº¯¼ö´Â À©µµ¿ì ¸Þ´ÏÁ®ÀÇ ¹öưÀ̳ª ¸Þ´º·ÎºÎÅÍ ½ÇÇàµÇ´Â
ÇÁ·Î±×·¥¿¡´Â ¿µÇâÀ» ¹ÌÄ¡Áö ¾Ê´Â´Ù. ¿¹¸¦µé¾î, 'xterm -ls'¿¡¼ ÇÁ·Î±×·¥ÀÌ
½ºÅ¸Æ® µÈ´Ù¸é ·Î±×ÀÎ ½©ÀÇ ±âº» ȯ°æÀ» °®°Ô µÇ³ª, ¸Þ´º¿¡¼ ½ÇÇàµÈ´Ù¸é,
´ÜÁö À©µµ¿ì ¸Þ´ÏÁ®ÀÇ È¯°æ¸¸À» °¡Áú»ÓÀÌ´Ù.
</p>
<sect> Delayed commands cron and at
<sect1> cron
<p>
Cron Àº ÁÖ±âÀûÀ¸·Î /etc/crontab°ú À¯Àú°¡ Á¤ÀÇÇÑ crontabs¾ÈÀÇ ¸í·ÉÀ»
½ÇÇàÇÏ´Â ¸í·É¾îÀÌ´Ù. µ¥ºñ¾È 1.3 ¿¡´Â /etc/cron.daily, /etc/cron.weekly,
/etc/cron.monthly ÆÄÀϵé·Î½á Ç¥ÁØÀûÀÎ ±â´ÉÀ» ¼öÇàÇÏ°Ô µÈ´Ù.
Cron Àº ºÎÆ® ½ºÆ®¸³Æ®¿¡¼ ½ÃÀ۵dzª ÀÚ½ÅÀÇ path¸¦ Á¶±ÝÀº »ý¼ÒÇÑ °ÍÀ¸·Î
¹Ù²Û´Ù. Áï,
/usr/bin:/binn:/sbin:/bin:/usr/sbin:/usr/bin
ÀÌ°Ç cron ÀÇ ¹ö±×ÀÎ °Í °°´Ù!!! init ÀÇ path¿¡´Ù ¾ÕºÎºÐ¿¡ /usr/bin:/binÀ»
µ¤¾î ½á¹ö¸° °ÍÀÌ´Ù! ÀÌ ¹ö±×´Â ´Ù¸¥ ¸ðµç ½Ã½ºÅÛ¿¡ Á¸ÀçÇÏ´Â °ÍÀº ¾Æ´Ï´Ù.
crontab ¿¡´Â path Á¤ÀǸ¦ ÇÒ ¼ö Àִµ¥, µ¥ºñ¾È 1.3¿¡´Â /etc/crontab ÀÇ
¾ÕºÎºÐ¿¡ ´ÙÀ½ÀÇ ±âº» ¼³Á¤ ¶óÀÎÀÌ ÀÖ´Ù.
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
ÀÌ °ÍÀ¸·ÎÀÎÇØ, crond ÇÁ·Î±×·¥ÀÇ PATH´Â À¯Àú ÇÁ·Î±×·¥¿¡¼´Â Àû¿ëµÇÁö
¾ÊÀ¸¸ç, /etc.cron* µð·ºÅ丮ÀÇ ¸ðµç ½ºÆ®¸³Æ®µéÀº ÀÌ ÆÐ½º¸¦ ±âº»À¸·Î »ç
¿ëÇÑ´Ù. ½ÉÁö¾î ÇÁ·Î±×·¥ÀÇ ½ÇÇàÀÚ°¡ root°¡ ¾Æ´Ï¶ó ÀϹݻç¿ëÀÚÀÏ °æ¿ì¿¡µµ
crond ÇÁ·Î±×·¥Àº ÀÌ ÆÐ½º¸¦ »ç¿ëÇÑ´Ù.
</p>
<sect1>at
<p>
at ´Â ƯÁ¤ÇÑ ½Ã°£¿¡ ÇÁ·Î±×·¥À» Çѹø ½ÇÇàÇϱâ À§ÇØ »ç¿ëÇÏ´Â ¸í·É¾îÀÌ´Ù.
atd ´Â init ÀÇ ÆÐ½º¸¦ »ç¿ëÇϳª, À¯ÀúµéÀÇ ÇÁ·Î±×·¥Àº sh ¸í·É¾î·Î Ç×»ó À¯
ÀúÀÇ È¯°æÇÏ¿¡¼ ¼öÇàµÇ¾îÁø´Ù. ±×·¯¹Ç·Î shell ¿¡ ÀÇÇØ ȯ°æº¯°æÀÌ Àû¿ëµÇ
¾îÁø´Ù. bash ¿¡ °üÇÑ ±ÛÀ» Àо¶ó.
</p>
<sect> Some examples
<sect1> magicfilter
<p>
magicfilter ´Â ÇÁ¸°Æ®ÇÒ ÆÄÀÏÀ» ´Ù·ç±â À§ÇØ ÁÖ·Î »ç¿ëµÇ´Â ÅøÀÌ´Ù. ÇÁ¸°Æ®
µÉ ÆÄÀÏÀ» ºÐ¼®ÇÏ¿© ÀûÀýÇÑ ÇÊÅÍ ½ºÅ©¸³Æ®¸¦ ±âµ¿ÇÑ´Ù. ÀÌ·¯ÇÑ ½ºÅ©¸³Æ®µéÀº
initÀÌ /etc/init.d/lpd¿¡¼ ½ÃÀÛ½ÃŲ lpd °¡ ¼öÇàÇÏ°Ô µÇ¸ç ±×·¡¼ initÀÇ ÆÐ
½º¸¦ °¡Áö°í ÀÖ´Ù. ±×·¯¹Ç·Î /usr/bin/X11Àº path ¿¡ µé¾î°¡ ÀÖÁö ¾Ê´Ù!!
¸ÞÁ÷ÇÊÅÍ¿¡ PDF ÆÄÀÏÀ» ³Ö¾î¼ Ãâ·ÂÇÏ°í ½ÍÀ» °ÍÀÌ´Ù. À̰ÍÀº
/usr/bin/xpdf¸¦ »ç¿ëÇÏ¸é °¡´ÉÇÏ´Ù. À̶§ ´ç½ÅÀº Ç®ÆÐ½º ÆÄÀϳ×ÀÓÀ» Àû¾î
Áà¾ßÇÑ´Ù. ±×·¸Áö ¾ÊÀ¸¸é ¸ÞÁ÷ÇÊÅÍ´Â ±× ÆÄÀÏÀ» ãÀ»¼ö¾ø±â ¶§¹®ÀÌ´Ù. (±×·¯
³ª) ¸ÞÁ÷ÇÊÅͰ¡ »ç¿ëÇÏ´Â ´ëºÎºÐÀÇ ÇÁ·Î±×·¥µéÀº /bin¶Ç´Â /usr/bin¿¡ ÀÖ±â
¶§¹®¿¡ ¾ÕÀÇ °æ¿ì ¿Ü¿¡´Â Ç®ÆÐ½º¸¦ ÀûÀ»ÇÊ¿ä´Â ¾ø´Ù.
</p>
<sect1> Printing from X applications
<p>
Áö±Ý »ç¿ëÇÏ´Â ÇÁ¸°ÅͰ¡ ¹ºÁö ³ªÅ¸³»±â À§Çؼ PRINTER ȯ°æº¯¼ö¸¦ »ç¿ëÇÒ
¼ö ÀÖ´Ù. ±×·¯³ª ¾î¶² °æ¿ì¿¡´Â ÀÛµ¿ÇÏÁö ¾ÊÀ»¼öµµ ÀÖ´Ù´Â°É ¾Ë¾ÆµÎ±â ¹Ù¶õ´Ù.
¸¸¾à¿¡ XDM¿¡¼ X sessionÀÌ ½ÃÀ۵Ǿú´Ù¸é À©µµ¿ì ¸Þ´ÏÁ®´Â shell ·Î±×ÀÎ
½ºÅ©¸³Æ®¸¦ ½ÇÇàÇÏÁö ¾Ê´Â´Ù´Â °ÍÀ» ±â¾ïÇØ¾ßµÈ´Ù. xterm¿¡¼ ½ÇÇàµÈ ¸ðµç X
applicationµéÀº PRINTER°ªÀ» °¡Áö°í ÀÖÁö¸¸ ¸Þ´º³ª À©µµ¿ì ¸Þ´ÏÁ® ¹öư
¿¡¼ ½ÇÇàµÈ´Ù¸é PRINTER°ªÀÌ ¾øÀ»°ÍÀÌ´Ù.
¾î¶² °æ¿ì¿¡´Â ÇÏÀ§°èÃþÀ¸·Î »ó¼ÓµÇ´Â °æ¿ìµµ ÀÖ´Ù. ¿¹¸¦µéÀÚ¸é ¸ðÁú¶ó help
ÇÁ·Î±×·¥Àº(Ç÷¯±× ÀÎ ÇÁ·Î±×·¥:¿ªÀÚ ÁÖ- ÀÌ ÈÄ ÇÁ·¯±×ÀÎ À̶ó ºÎ¸¥´Ù)
PRINTER º¯¼ö°ªÀ» °¡Áú ¼öµµ ÀÖ°í ±×·¸Áö ¾ÊÀ» ¼öµµ ÀÖ´Ù.
</p>
<sect> Security concerns
<p>
ÆÐ½º´Â ¶§·Î Áß´ëÇÑ º¸¾È¹®Á¦¸¦ ¾ß±âÇϱ⵵ ÇÑ´Ù. À߸øµÈ ÆÐ½º¼³Á¤À» ¾Ç¿ë
ÇÏ¿© ½Ã½ºÅÛÀ» ÇØÅ·ÇÏ´Â °ÍÀº ÈçÇѰæ¿ìÀÌ´Ù.
°ú°Å(?) ÆÐ½º¼³Á¤¿¡¼ ÈçÇÑ ½Ç¼ö´Â rootÀÇ ÆÐ½º¿¡ '.'ÀÌ µé¾î°¡ Àִ°æ¿ìÀÌ´Ù.
¾ÇÀÇÀÖ´Â ÇØÄ¿´Â ÀÚ½ÅÀÇ È¨µð·ºÅ丮¿¡ 'ls' ÇÁ·Î±×·¥À» µÎ¾î root°¡ ´ÙÀ½Ã³·³
# cd ~hacker
# ls
ÇØÄ¿ ÀÚ½ÅÀÇ µð·ºÅ丮¿¡¼ ls¸¦ ½ÇÇàÇÏ°Ô µÇ¸é ÇØÄ¿°¡ ¸¸µç ÇÁ·Î±×·¥ÀÌ ½ÇÇà
µÇµµ·Ï ÇÑ´Ù.
ÀÌ·¯ÇÑ¿ø¸®´Â root ±ÇÇÑÀ¸·Î ½ÇÇàµÇ´Â ¸ðµç ÇÁ·Î±×·¥¿¡ °£Á¢ÀûÀ¸·Î Àû¿ëÀÌ
µÈ´Ù. ¸ðµç µ¥¸ó ÇÁ·Î¼¼½ºµéÀº ÀÏ¹Ý À¯Àú°¡ ¾²±â°¡´ÉÇÑ °ÍÀÌ¸é ¾î¶°ÇÑ °Íµµ
½ÇÇàÇØ¼´Â ¾ÈµÈ´Ù. ¸î¸î ½Ã½ºÅÛ¿¡¼´Â /usr/local/bin µð·ºÅ丮¿¡ ÇÁ·Î±×
·¥µéÀÌ ÀÖ°í ±×¸® ¾ö°ÝÇÏÁö ¾ÊÀº º¸¾È »óÅ¿¡ ÀÖ´Ù.(´ÜÁö ÀÌ µð·ºÅ丮°¡
rootÀÇ ÆÐ½º¿¡ ¾øÀ»»Ó..) ¾î·°Å³ª, ¸¸¾à¿¡ ¾î¶² µ¥¸óÀÌ 'foo' ¶ó´Â ¸í·ÉÀ»
½ÇÇàÇϴµ¥ /usr/local/bin µð·ºÅ丮°¡ ÆÐ½º¿¡ °É·ÁÀÖ´Ù¸é '/bin/foo' ´ë½Å¿¡
'/usr/local/bin' ÀÌ ½ÇÇàµÉ¼öµµÀÖÀ» °ÍÀÌ´Ù. ±×·¸´Ù¸é /usr/local/bin ¿¡ ¾²±â
±ÇÇÑÀÌ ÀÖ´Â »ç¿ëÀÚ´Â ´©±¸³ª ½Ã½ºÅÛ¿¡ ħÀÔÇØ µé¾î°¥ ¼ö ÀÖ°Ô µÈ´Ù.
ÆÐ½º¿¡ ¼³Á¤µÈ µð·ºÅ丮µéÀÇ '¼ø¼'°¡ ¾î¶²Áö ÁÖÀDZí°Ô »ìÆìº¸´Â°Íµµ »ó´çÈ÷
Áß¿äÇÏ´Ù. ¸¸¾à /usr/local/binÀÌ /bin º¸´Ù ¾Õ¿¡ ÆÐ½º°¡ °É·ÁÀÖ´Ù¸é ,À½..
±×°Ç º¸¾È¹®Á¦°¡ ÀÖ´Â °ÍÀÌ´Ù. ¹Ý´ë·Î /bin ÀÌ ¾Õ¿¡ÀÖ°í /usr/local/bin ÀÌ
µÚ¿¡ÀÖ´Ù¸é ·ÎÄöóÀÌÁîµÈ /usr/local/bin¿¡ ÀÖ´Â ÇÁ·Î±×·¥ÀÌ /bin ¿¡ ÀÖ´Â
°ÍÀ» ´ë½ÅÇÏ¿© ¼öÇàµÉ °¡´É¼ºÀº ¾ø´Ù.
¸®´ª½º¿¡¼ ÆÐ½º¸¦ °ËÅä, Àû¿ëÇÏ´Â °ÍÀº ¿î¿µÃ¼Á¦ ½Ã½ºÅÛ ÄÝ ·¹º§¿¡¼ ÀÌ·ç
¾îÁø´Ù´Â °ÍÀ» ±â¾ïÇØ¾ßÇÑ´Ù. ¾î´À°÷¿¡¼³ª ¸í·É¾î¸¦ ÀÔ·ÂÇÏ¸é ¼³Á¤µÈ µð·º
Å丮°¡ °Ë»öµÇ¾îÁö°í Àû¾îµµ /bin °ú /usr/bin ÀÌ °Ë»öµÇ¾îÁø´Ù.
</p>
<sect> How to debug problems?<p>
ȯ°æº¯¼ö¸¦ Àоîµå¸®´Â ±âº»¸í·É¾î´Â /usr/bin/env ÀÌ´Ù.
/proc µð·ºÅ丮¸¦ ÀÌ¿ëÇÏ¸é ¾î¶² ÇÁ·Î±×·¥ÀÇ ÆÐ½º¸¦ ¾Ë¾Æ³¾¼ö ÀÖ´Ù. ¸ÕÀú
ÇÁ·Î¼¼½º ¹øÈ£¸¦ ¾Ë¾Æ¾ß ÇÑ´Ù. (ps ¸í·É¾î¸¦ »ç¿ëÇϸéµÈ´Ù) ¿¹¸¦µé¸é,
xtermÀÇ ÇÁ·Î¼¼½º ¹øÈ£°¡ 1088 ÀÌ¸é ´ÙÀ½ ¸í·É¾î·Î ÇÁ·Î±×·¥ÀÇ È¯°æº¯¼ö¸¦
¾Ë ¼ö ÀÖ´Ù.
# more /proc/1088/environ
ÀÌ ¹æ¹ýÀº xdm°ú °°Àº µ¥¸ó ÇÁ·Î±×·¥¿¡°Ô´Â Àû¿ëµÇÁö ¾Ê´Â´Ù. ½Ã½ºÅÛ ÇÁ·Î
¼¼½ºÀÇ È¯°æº¯¼ö, ¶Ç´Â ´Ù¸¥ »ç¿ëÀÚ ÇÁ·Î¼¼½ºÀÇ È¯°æº¯¼ö¸¦ ¾Ë¾Æ³»±â À§ÇØ
¼´Â root ±ÇÇÑÀÌ ÇÊ¿äÇÏ´Ù.
¸ðÁú¶ó¸¦ µð¹ö±× ÇØº¸ÀÚ. /tmp/test ½ºÅ©¸³Æ®¸¦ ¸¸µç´Ù:
<verb>
$ cat > /tmp/test
#!/bin/sh
/usr/bin/env > /tmp/env
^d
$ chmod +x /tmp/test
</verb>
±×¸®°í ³ª¼ ¾Æ¹« ÇÁ·¯±×ÀÎ ÇÁ·Î±×·¥À» ¼³Á¤ÇÑ´Ù. ¿¹¸¦µé¾î ¸®¾ó¿Àµð¿À,
audio/x-pn-realaudio¸¦ '/tmp/test' ÇÁ·Î±×·¥À» È£ÃâÇϵµ·ÏÇÑ´Ù. ±×·¯°í
³ª¼ ºê¶ó¿ìÁ®·Î ¸®¾ó¿Àµð¿À ¸µÅ©°¡ Àִµ¥·Î°¡¸é (¿¹¸¦µé¾î
<url url="http://www.realaudio.com/showcase" name=" www.realaudio.com/showcase">), ¸ðÁú¶ó´Â /tmp/env ¿¡ ȯ°æº¯¼ö
µéÀ» ÀúÀåÇÏ´Â ´õ¹Ì ÇÁ·Î±×·¥(¹æ±Ý ¸¸µç ½ºÅ©¸³Æ®:¿ªÀÚÁÖ)À» È£ÃâÇÒ°ÍÀÌ´Ù.</p>
<sect> Some strategies to get the same path for all the users<p>
°¡Àå Áß¿äÇÑ ¼³Á¤µéÀº Æ÷°ýÀûÀÎ ·Î±×ÀÎ ½©ÀÇ ½© ÃʱâÈ¿¡¼ ÇÒ¼öÀÖ´Ù. tcsh
ÀÎ °æ¿ì´Â /etc/csh.login bashÀÎ °æ¿ì´Â /etc/profile.
rsh , ssh ¸í·É, ·Î±×ÀÎ ½©À» ¸í½ÃÀûÀ¸·Î ½ÃÀÛÇÏÁö ¾Ê´Â X window¸Þ´ÏÁ®ÀÇ
¸Þ´º¾ÆÀÌÅÛµé, inittab·ÎºÎÅÍ ±âµ¿µÈ ¸í·Éµé, cron jobµéÀ̳ª lprd·Î ºÎÅÍ
½ÃÀÛµÈ ¸ÞÁ÷ ÇÊÅͰ°Àº µ¥¸ó jobµé,±×¸®°í WWW CGI ½ºÅ©¸³Æ® µîµîÀº ÀÌ·¯
ÇÑ ÆÐ½º°¡ Àû¿ëµÇÁö ¾Ê´Â ¿¹¿ÜÀÎ °æ¿ì´Ù.
¸¸¾à¿¡ ÆÐ½º°¡ /etc/csh.cshrc ÆÄÀÏ¿¡ ¼³Á¤µÇÀÖ´Ù¸é rsh ³ª ssh °¡ ¸®¸ðÆ®
¸Ó½Å¿¡¼ ¸í·É¾î¸¦ ¼öÇàÇßµå¶óµµ tcsh³ª csh¸¦ »ç¿ëÇÏ´Â °èÁ¤¿¡¼¶ó¸é ÆÐ
½º´Â À¯È¿ÇÏ°Ô µÈ´Ù. ±×·¯³ª bash³ª sh¸¦ »ç¿ëÇÑ´Ù¸é ÆÐ½º´Â À¯È¿ÇÏÁö ¾Ê´Ù.
ÆÐ½º ¼³Á¤À» ¿¹¸¦µé¾î /etc/environment-common °°Àº ÇϳªÀÇ ÆÄÀÏ¿¡ ³Ö
¾î¼ »ç¿ëÇÒ ¼ö Àִµ¥, ÀÌ ÆÄÀÏ¿¡ ´ÙÀ½°ú °°ÀÌ Àû¾îµÎ°í
${EXPORT}PATH
${EQ}/bin:/usr/bin:/sbin:/usr/sbin:/usr/bin/X11:/usr/local/bin:/usr/games:.
ÀÌ °ÍÀ» /etc/csh.login(tcsh ³ª csh ÀÎ °æ¿ì)
set EQ=" " set EXPORT="setenv " source /etc/environment-common
¶Ç´Â /etc/profile (bash ÀÎ °æ¿ì, ¿ø·¡ÀÇ sh´Â ¾ÈµÊ)
EQ='=' EXPORT="export " . /etc/environment-common
¶ÇÇÑ /etc/environment (XDM ÀÎ °æ¿ì)
EQ="=" EXPORT="export " . /etc/environment-common
ÆÄÀÏ¿¡ ÀÌ¿Í °°ÀÌ »ç¿ëÇϸé Àû¿ë½Ãų ¼ö ÀÖ´Ù.
ÀÌ ¹æ¹ýÀº ssh ÀÎ °æ¿ì¿¡´Â /etc/environment (±×¸®°í EQ ¿Í EXPORT º¯
¼ö¿¡ ´ëÇÏ¿©)¾ÈÀÇ ¶óÀε鿡 ´ëÇØ¼ ºÒÆòÀ»ÇÒ°ÍÀ̳ª ±× ¿Ü,´ë°ÔÀÇ °æ¿ì¿¡´Â Àß
Àû¿ëÀÌ µÈ´Ù. (¿©ÀüÈ÷, bash¸¦ »ç¿ëÇÏ´Â rsh ¸í·É¿¡´Â Àû¿ëÀÌ µÇÁö ¾Ê´Â´Ù)
</p>
<sect> Acknowledgements
<p>
Ari MujunenÀÇ ÁÂÀýÀÌ À̱ÛÀº ¾²°Ô µÈ µ¿±â°¡ µÇ¾ú°í, Juha TakalaÀº ¿©·¯
Á¶¾ðÀ» ÇØÁÖ¾ú´Ù.
</p>
</article>
---- [http://?action=keywords&tour=1&all=1 Tags]: [[Keywords(tour)]] |
You will have long and healthy life. |











