· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
Linuxdoc Sgml/Path

PATH HOWTO

PATH HOWTO

Esa Turtiainen mailto: etu@dna.fi

v0.4, 15 November 1997 ¹ø¿ª: °í¿µÈÆ gogoonee@bbs.para.co.kr

1. Introduction

ÀÌ ¹®¼­´Â unix ¿Í linuxÀÇ È¯°æ º¯¼ö, ƯÈ÷ path¿¡ °üÇÑ ÀϹÝÀûÀÎ ¿ä·É°ú ¹®Á¦Á¡µéÀ» ¼³¸íÇÏ°í ÀÖ´Ù. path ´Â ¸í·É¾î¸¦ ã±âÀ§ÇÑ µð·ºÅ丮µéÀÇ ¸®½º Æ®·Î µ¥ºñ¾È ¸®´ª½º 1.3 ¹èÆ÷ÆÇÀ» ±âÁØÀ¸·Î ¼³¸íÇÑ´Ù. ÇÑ°¡Áö ¾Ë¾ÆµÑ °ÍÀº ÀÌ ±ÛÀº º£Å¸ÆÇÀ̶ó´Â °ÍÀÌ´Ù. ÀüÇÒ ¸»À̳ª ±³Á¤»çÇ×À» ¾Ë·ÁÁÖ¸é ÁÁ°Ú´Ù.

2. Copyright

ÀÌ ¹®¼­´Â ÀÚÀ¯·Ó´Ù. Free software foundation ÀÌ ¼±¾ðÇÑ GPLÇÏ¿¡¼­ ¹èÆ÷ ÇÒ¼ö ÀÖ°í ¼öÁ¤ÇÒ¼ö ÀÖ´Ù. ( GPL ¹öÀü2 ¶Ç´Â ±× ÀÌÈÄÀÇ ¹öÀüÀ» µû¸£´Â °Ç ´ç½Å ¸¶À½ÀÌ´Ù)

ÀÌ ¹®¼­´Â À¯¿ëÇÏ°Ô ¾²À̱⸦ ¹Ù¶ó´Â ¸¾¿¡¼­ ¹èÆ÷µÉ »Ó, ¾î¶°ÇÑ º¸ÁõÀ» ÇØÁÖ Áø ¾ÊÀ¸¸ç Àº¿¬ÁßÀÇ »ó¾÷¼ºÀ̳ª ƯÁ¤ ¸ñÀûÀ¸·Î ¹èÆ÷µÇ´Â °Íµµ ¾Æ´Ï´Ù. ÀÚ¼¼ÇÑ »çÇ×À» ¾Ë°í½ÍÀ¸¸é GNU GPLÀ» Àо¶ó.

´ç½ÅÀÌ ÀÌ ¹®¼­¿Í ÇÔ²² GNU GPL ¹®¼­¸¦ °¡Áö°í ÀÖ±æ ¹Ù¶õ´Ù. ±×·¸Áö ¾Ê´Ù¸é ´ÙÀ½ ÁÖ¼Ò·Î ÆíÁö¸¦ ¶ç¿ö¶ó Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

3. General

¸ðµç À¯´Ð½ºÀÇ ÇÁ·Î¼¼½ºµéÀº "ȯ°æ"À» ´ã°í ÀÖ´Ù. ÀÌ°ÍÀº º¯¼öµéÀÇ ¸®½ºÆ®·Î 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¸¦ ÅëÇؼ­ ·Î±×ÀÎÀ» ÇϰԵǴ °æ ¿ì°¡ ¿ÏÀüÈ÷ ´Ù¸£°Ô µÈ´Ù.

4. Init

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ÀÌ´Ù.

5. Login

ÅؽºÆ® Äֿܼ¡´Â 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

6. Shells

»ç¿ëÀÚ ÇÁ·Î¼¼½ºµéÀº /etc/passwd ¿¡ Á¤ÇØÁø ½©ÀÇ ÀÚ½ÄÇÁ·Î¼¼½ºÀÎ °æ¿ì°¡ ¸¹À¸¸ç ´ë°Ô ½©ÀÇ ÃʱâÈ­ ÆÄÀÏ¿¡ ÀÇÇؼ­ path´Â ¼öÁ¤µÇ¾îÁö´Â °æ¿ì°¡ ¸¹´Ù. login ÇÁ·Î±×·¥¿¡¼­´Â ½©ÀÇ À̸§¾Õ¿¡ '-' °¡ ºÙ´Â´Ù. ¿¹¸¦µé¾î bash´Â '-bash'¶ó°í ºÒ·ÁÁø´Ù. ÀÌ Ç¥½Ã´Â ±×°ÍÀÌ ·Î±×ÀÎ ½©ÀÓÀ» ºÒ·ÁÁö´Â ½©¿¡°Ô ¾Ë¸°´Ù. ÀÌ °æ¿ì¿¡ ½©Àº ·Î±×ÀÎ ÃʱâÈ­ ÆÄÀÏÀ» ¼öÇàÇÏ°Ô µÈ´Ù. ·Î±×ÀÎ ½©ÀÌ ¾Æ´Ò°æ¿ì¿¡´Â °£´ÜÇÑ ÃʱâÈ­°¡ ÀÌ·ç¾îÁø´Ù.

Ãß°¡ÀûÀ¸·Î, ½©ÀÌ »óÈ£ ´ëÈ­½Ä½©ÀÎÁö Áï, ¸í·É¾î°¡ ÆÄÀϷκÎÅÍ ÀÔ·ÂÀÌ µÇ´Â Áö tty¿¡¼­ ÀÔ·ÂÀÌ µÇ´ÂÁö üũ¸¦ Çϴµ¥ ÀÌ°ÍÀº ½©ÀÇ ÃʱâÈ­¸¦ ¼öÁ¤ÇÏ°Ô µÇ ¸ç ±×·¡¼­ ´ëÈ­½Ä ½©ÀÌ ¾Æ´Ï°í ·Î±×ÀÎ ½©µµ ¾Æ´Ï¶ó¸é ÃʱâÈ­´Â ¾ÆÁÖ °£´ÜÇÏ°Ô ÀÌ·ç¾îÁø´Ù.(bash´Â ÀÌ°æ¿ì¿¡´Â ¾Æ¹«·± ÃʱâÈ­µµ ÇÏÁö ¾Ê´Â´Ù!)

6.1 bash

ÀüÇüÀûÀÎ ·Î±×ÀÎ ½©·Î¼­ 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 °ú ·Î±×ÀÎ ½©ÀÇ Ãʱâ È­¸¸ µû¸¥´Ù.

6.2 tcsh

tcsh °¡ ·Î±×ÀÎ ½©À̸é tcsh ´Â ´ÙÀ½ ¼ø¼­·Î ÆÄÀϵéÀ» ¼öÇàÇÑ´Ù.


   /etc/csh.cshrc
   /etc/csh.login
   ~/.tcshrc
   ~/.cshrc (.tcshrc °¡ ¾ø´Â°æ¿ì)
   ~/.history
   ~/.login
   ~/.cshdirs

tcsh´Â cshrc ½ºÅ©¸³Æ® Àü¿¡ login ½ºÅ©¸³Æ®¸¦ ¸ÕÀú ¼öÇàÇϵµ·Ï ÄÄÆÄÀÏÇÒ¼ö µµ ÀÖ´Ù. ¾Ë¾ÆµÎ¾î¶ó!

´ëÈ­Çü ½©ÀÌ ¾Æ´Ò°æ¿ì¿¡´Â ´ÜÁö *cshrc½ºÅ©¸³Æ®¸¸ ½ÇÇàµÈ´Ù. *login ½ºÅ© ¸³Æ®´Â path¸¦ ÁöÁ¤Çϱâ À§ÇØ ·Î±×ÀÎ ½Ã¿¡ Çѹø »ç¿ëµÈ´Ù.

7. Changing user ID

7.1 su

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´Â ²Ï³ª ¹Ì¼¼ÇÑ È¯°æ¼³Á¤ÀÇ º¯È­¸¦ °¡Á®¿Â´Ù.

7.2 sudo

¼öÆÛÀ¯Àú ¸í·É¾îµéÀ» º¸´Ù ¾ÈÀüÇÏ°Ô ¾µ¼öÀÖµµ·Ï ÇÏ´Â ¸í·É¾îµéÀÌ Àִµ¥ À̰͵éÀº º¸´Ù ³ªÀº ·Î±ë°ú À¯Àúº° Á¦ÇÑ°ú °³º°ÀûÀÎ Æнº¿öµå »ç¿ëÀ» °¡´É ÇÏ°Ô ÇØÁØ´Ù. °¡Àå ³Î¸®¾²ÀÌ´Â °ÍÀº sudo ÀÌ´Ù.

$ sudo env

ÀÌ ¸í·ÉÀº env ¸í·ÉÀ» ¼öÆÛÀ¯Àú ¸ðµå·Î ½ÇÇàÇÏ°Ô ÇÑ´Ù. (¸¸¾à ±×°ÍÀ» Çã¿ë ÇÏ°Ô²û ¼³Á¤ÀÌ µÇ¾îÀÖ´Ù¸é) sudo ¸í·É¾î´Â path¸¦ ´Ù·ç´Âµ¥ À־ ¶Ç´Ù¸¥ Á¢±Ù¹æ½ÄÀ» °®°í Àִµ¥, path¸¦ ¹Ù²ã¼­ Ç×»ó ÇöÀç µð·ºÅ丮°¡ pathÀÇ ¸¶Áö¸·¿¡ ÀÖ°Ô ÇÑ´Ù. ±×·¯³ª PATH º¯¼ö¸¦ ¹Ù²ÙÁö´Â ¾ÊÀ¸¸ç ´ÜÁö SUDO_USER °°Àº ¸î °³ÀÇ È¯°æ º¯¼ö µé¸¸À» ¹Ù²Û´Ù.

8. Network servers

´ëºÎºÐÀÇ ³×Æ®¿öÅ© ¼­¹öµéÀº ¾î¶²Á¾·ùÀÇ ¼­ºê ÇÁ·Î¼¼½ºµµ °¡µ¿ÇÏÁö ¾Ê´Â°Ô ÁÁ´Ù. º¸¾ÈÀ» »ý°¢ÇÑ´Ù¸é ±× ÇÁ·Î¼¼½ºµéÀÇ path ´Â ÃÖ¼ÒÇÑ ÀÌ¿©¾ß ÇÑ´Ù. ÇÑ°¡Áö Áß¿äÇÑ ¿¹¿Ü°¡ ÀÖ´Ù¸é ³×Æ®¿öÅ©·ÎºÎÅÍ ·Î±ëÀ» Çã¿ëÇÏ´Â ¼­ºñ½ºµéÀÌ ´Ù. ÀÌ Àå¿¡¼­´Â ÀÌ °æ¿ì¿¡ ¾î¶² ȯ°æÀÌ ¾²ÀÌ´ÂÁö ¼³¸íÇÏ°í ÀÖ´Ù. ¸¸¾à rsh¸¦ ÅëÇØ ¾î¶² ¸í·É¾î°¡ ¸®¸ðÆ® ¸Ó½Å¿¡¼­ ¼öÇàµÇ¸é path ´Â ssh¸¦ »ç¿ëÇÏ´Â°Í °ú ´Ù¸£´Ù. ºñ½ÁÇÏ°Ô rloginÀ¸·Î telnet ¶Ç´Â ssh·Î ·Î±×ÀÎ ÇßÀ»¶§µµ °¢°¢ ´Ù¸£ ´Ù.

8.1 inetd

´ëºÎºÐÀÇ ³×Æ®¿öÅ© ¼­¹öµéÀº ¸®Äù½ºÆ®¸¦ ±â´Ù¸®¸ç ´ë±âÇÏ°í ÀÖ´Â ¼­ºê ÇÁ ·Î¼¼½ºµéÀ» °¡Áö°í ÀÖÁö ¾Ê´Ù. ÀÌ ÀÏÀº 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¸¦ ¹Ù²ÙÁö´Â ¾Ê´Â´Ù.(È®ÀÎÇغ¸Áö ¾Ê¾ÒÀ½)

8.2 rsh

rsh µ¥¸óÀº ÀϹݻç¿ëÀÚ¸¦ À§ÇØ ·Î±×ÀÎ ÇÁ·Î±×·¥ÀÌ ¼³Á¤Çϴ°Ͱú °°Àº _PATH_DEFPATH (/usr/include/paths.h) ·ÎºÎÅÍ path¸¦ ¼³Á¤ÇÑ´Ù. root ¿ª½Ã ÀϹÝÀ¯Àú¿Í °°Àº path¸¦ °®´Â´Ù. »ç½Ç, rshd ´Â commandline¿¡¼­ ¾òÀº ÆĶó¸ÞÅÍ(¿¹Á¦¿¡¼­ command-line:¿ªÀÚ ÁÖ)·Î ´ÙÀ½°ú °°Àº ¸í·É¾î¸¦ ½ÇÇàÇÏ´Â °ÍÀÌ´Ù.

shell -c command-line

ÀÌ°æ¿ì ·Î±×ÀÎ ½©Àº¾Æ´Ï´Ù. /etc/passwd ¿¡ ±â·ÏµÈ ¸ðµç ½©µéÀÌ -c ¿É¼ÇÀ» Áö¿øÇÏ´ÂÁö È®ÀÎÇϱ⠹ٶõ´Ù.

8.3 rlogin

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 ¿É¼ÇÀº ·Î±×ÀÎÇÒ ¸®¸ðÆ® È£½º Æ® ¸íÀ» ¾Ë·ÁÁÖ°Ô µÈ´Ù.

8.4 telnet

telnetÀº rlogin °ú ºñ½ÁÇÏ´Ù. login ÇÁ·Î±×·¥À» »ç¿ëÇÏ¸ç ¸í·É½ÇÇ൵ rlogin°ú ºñ½ÁÇÑ ¹æ½ÄÀ¸·Î ÀÌ·ç¾îÁø´Ù.

8.5 ssh

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 ½ÇÇà½Ã ¹®Á¦¸¦ ÀÏÀ¸Å²´Ù. (µÚ¿¡ Ãß°¡ÀûÀ¸ ·Î ¼³¸íµÊ:¿ªÀÚ ÁÖ)

9. XFree86

9.1 XDM

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, ÀÌ·± Çü ½ÄÀÇ ¶óÀεéÀÌ µé¾î°¡ ÀÖ´Â ÆÄÀÏÀÏ °ÍÀ̶ó »ý°¢Çϱ⠶§¹®ÀÌ´Ù.

9.2 xterm -ls

µðÆúÆ®·Î X window¸Þ´ÏÁ® ¸Þ´º·ÎºÎÅÍ ½ÇÇàµÈ ¸í·ÉµéÀ» À§ÇÑ path´Â XDM À¸·ÎºÎÅÍ »ó¼Ó¹ÞÀº °ÍÀÌ´Ù. ´Ù¸¥ path¸¦ ¿øÇÑ´Ù¸é Á÷Á¢ ¼¼ÆÃÇØÁà¾ß ÇÑ´Ù. ¸î¸î ±âº»ÀûÀÎ Æнº¸¦ °¡Áö°í Å͹̳Π¿¡¹Ä·¹ÀÌÅ͸¦ ½ÃÀÛÇÏ·Á¸é Ưº°ÇÑ ¿É¼Ç µéÀÌ »ç¿ëµÇ¾îÁ®¾ß ÇÑ´Ù. xterm¿¡¼­´Â -ls(login shell) ¿É¼ÇÀ» »ç¿ëÇÏ¿© shell ·Î±×ÀÎ ÃʱâÈ­ ÆÄÀÏÀÇ path¸¦ Áö´Ñ ·Î±×ÀÎ ½©À» ±âµ¿ÇÒ ¼ö ÀÖ´Ù.

9.3 Window manager menus and buttons

À©µµ¿ì ¸Þ´ÏÁ®´Â XDMÀ¸·ÎºÎÅÍ È¯°æº¯¼ö¸¦ ¹°·Á¹Þ´Â´Ù. À©µµ¿ì ¸Þ´ÏÁ®·Î ºÎÅÍ ½ÇÇàµÈ ¸ðµç ÇÁ·Î±×·¥µéÀº À©µµ¿ì ¸Þ´ÏÁ®ÀÇ È¯°æÀ» ¹°·Á¹Þ´Â´Ù. »ç¿ëÀÚ ½©ÀÇ È¯°æº¯¼ö´Â À©µµ¿ì ¸Þ´ÏÁ®ÀÇ ¹öÆ°À̳ª ¸Þ´º·ÎºÎÅÍ ½ÇÇàµÇ´Â ÇÁ·Î±×·¥¿¡´Â ¿µÇâÀ» ¹ÌÄ¡Áö ¾Ê´Â´Ù. ¿¹¸¦µé¾î, 'xterm -ls'¿¡¼­ ÇÁ·Î±×·¥ÀÌ ½ºÅ¸Æ® µÈ´Ù¸é ·Î±×ÀÎ ½©ÀÇ ±âº» ȯ°æÀ» °®°Ô µÇ³ª, ¸Þ´º¿¡¼­ ½ÇÇàµÈ´Ù¸é, ´ÜÁö À©µµ¿ì ¸Þ´ÏÁ®ÀÇ È¯°æ¸¸À» °¡Áú»ÓÀÌ´Ù.

10. Delayed commands cron and at

10.1 cron

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 ÇÁ·Î±×·¥Àº ÀÌ Æнº¸¦ »ç¿ëÇÑ´Ù.

10.2 at

at ´Â ƯÁ¤ÇÑ ½Ã°£¿¡ ÇÁ·Î±×·¥À» Çѹø ½ÇÇàÇϱâ À§ÇØ »ç¿ëÇÏ´Â ¸í·É¾îÀÌ´Ù.

atd ´Â init ÀÇ Æнº¸¦ »ç¿ëÇϳª, À¯ÀúµéÀÇ ÇÁ·Î±×·¥Àº sh ¸í·É¾î·Î Ç×»ó À¯ ÀúÀÇ È¯°æÇÏ¿¡¼­ ¼öÇàµÇ¾îÁø´Ù. ±×·¯¹Ç·Î shell ¿¡ ÀÇÇØ È¯°æº¯°æÀÌ Àû¿ëµÇ ¾îÁø´Ù. bash ¿¡ °üÇÑ ±ÛÀ» Àо¶ó.

11. Some examples

11.1 magicfilter

magicfilter ´Â ÇÁ¸°Æ®ÇÒ ÆÄÀÏÀ» ´Ù·ç±â À§ÇØ ÁÖ·Î »ç¿ëµÇ´Â ÅøÀÌ´Ù. ÇÁ¸°Æ® µÉ ÆÄÀÏÀ» ºÐ¼®ÇÏ¿© ÀûÀýÇÑ ÇÊÅÍ ½ºÅ©¸³Æ®¸¦ ±âµ¿ÇÑ´Ù. ÀÌ·¯ÇÑ ½ºÅ©¸³Æ®µéÀº initÀÌ /etc/init.d/lpd¿¡¼­ ½ÃÀÛ½ÃŲ lpd °¡ ¼öÇàÇÏ°Ô µÇ¸ç ±×·¡¼­ initÀÇ ÆÐ ½º¸¦ °¡Áö°í ÀÖ´Ù. ±×·¯¹Ç·Î /usr/bin/X11Àº path ¿¡ µé¾î°¡ ÀÖÁö ¾Ê´Ù!! ¸ÞÁ÷ÇÊÅÍ¿¡ PDF ÆÄÀÏÀ» ³Ö¾î¼­ Ãâ·ÂÇÏ°í ½ÍÀ» °ÍÀÌ´Ù. ÀÌ°ÍÀº /usr/bin/xpdf¸¦ »ç¿ëÇÏ¸é °¡´ÉÇÏ´Ù. À̶§ ´ç½ÅÀº Ç®Æнº ÆÄÀϳ×ÀÓÀ» Àû¾î Áà¾ßÇÑ´Ù. ±×·¸Áö ¾ÊÀ¸¸é ¸ÞÁ÷ÇÊÅÍ´Â ±× ÆÄÀÏÀ» ãÀ»¼ö¾ø±â ¶§¹®ÀÌ´Ù. (±×·¯ ³ª) ¸ÞÁ÷ÇÊÅÍ°¡ »ç¿ëÇÏ´Â ´ëºÎºÐÀÇ ÇÁ·Î±×·¥µéÀº /bin¶Ç´Â /usr/bin¿¡ Àֱ⠶§¹®¿¡ ¾ÕÀÇ °æ¿ì ¿Ü¿¡´Â Ç®Æнº¸¦ ÀûÀ»ÇÊ¿ä´Â ¾ø´Ù.

11.2 Printing from X applications

Áö±Ý »ç¿ëÇÏ´Â ÇÁ¸°ÅÍ°¡ ¹ºÁö ³ªÅ¸³»±â À§Çؼ­ PRINTER ȯ°æº¯¼ö¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ±×·¯³ª ¾î¶² °æ¿ì¿¡´Â ÀÛµ¿ÇÏÁö ¾ÊÀ»¼öµµ ÀÖ´Ù´Â°É ¾Ë¾ÆµÎ±â ¹Ù¶õ´Ù.

¸¸¾à¿¡ XDM¿¡¼­ X sessionÀÌ ½ÃÀ۵Ǿú´Ù¸é À©µµ¿ì ¸Þ´ÏÁ®´Â shell ·Î±×ÀÎ ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇÏÁö ¾Ê´Â´Ù´Â °ÍÀ» ±â¾ïÇؾߵȴÙ. xterm¿¡¼­ ½ÇÇàµÈ ¸ðµç X applicationµéÀº PRINTER°ªÀ» °¡Áö°í ÀÖÁö¸¸ ¸Þ´º³ª À©µµ¿ì ¸Þ´ÏÁ® ¹öÆ° ¿¡¼­ ½ÇÇàµÈ´Ù¸é PRINTER°ªÀÌ ¾øÀ»°ÍÀÌ´Ù. ¾î¶² °æ¿ì¿¡´Â ÇÏÀ§°èÃþÀ¸·Î »ó¼ÓµÇ´Â °æ¿ìµµ ÀÖ´Ù. ¿¹¸¦µéÀÚ¸é ¸ðÁú¶ó help ÇÁ·Î±×·¥Àº(Ç÷¯±× ÀÎ ÇÁ·Î±×·¥:¿ªÀÚ ÁÖ- ÀÌ ÈÄ ÇÁ·¯±×ÀÎ À̶ó ºÎ¸¥´Ù) PRINTER º¯¼ö°ªÀ» °¡Áú ¼öµµ ÀÖ°í ±×·¸Áö ¾ÊÀ» ¼öµµ ÀÖ´Ù.

12. Security concerns

Æнº´Â ¶§·Î Áß´ëÇÑ º¸¾È¹®Á¦¸¦ ¾ß±âÇϱ⵵ ÇÑ´Ù. À߸øµÈ Æнº¼³Á¤À» ¾Ç¿ë ÇÏ¿© ½Ã½ºÅÛÀ» ÇØÅ·ÇÏ´Â °ÍÀº ÈçÇÑ°æ¿ìÀÌ´Ù. °ú°Å(?) Æнº¼³Á¤¿¡¼­ ÈçÇÑ ½Ç¼ö´Â 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 ÀÌ °Ë»öµÇ¾îÁø´Ù.

13. How to debug problems?

ȯ°æº¯¼ö¸¦ Àоîµå¸®´Â ±âº»¸í·É¾î´Â /usr/bin/env ÀÌ´Ù. /proc µð·ºÅ丮¸¦ ÀÌ¿ëÇÏ¸é ¾î¶² ÇÁ·Î±×·¥ÀÇ Æнº¸¦ ¾Ë¾Æ³¾¼ö ÀÖ´Ù. ¸ÕÀú ÇÁ·Î¼¼½º ¹øÈ£¸¦ ¾Ë¾Æ¾ß ÇÑ´Ù. (ps ¸í·É¾î¸¦ »ç¿ëÇϸéµÈ´Ù) ¿¹¸¦µé¸é, xtermÀÇ ÇÁ·Î¼¼½º ¹øÈ£°¡ 1088 ÀÌ¸é ´ÙÀ½ ¸í·É¾î·Î ÇÁ·Î±×·¥ÀÇ È¯°æº¯¼ö¸¦ ¾Ë ¼ö ÀÖ´Ù.

# more /proc/1088/environ

ÀÌ ¹æ¹ýÀº xdm°ú °°Àº µ¥¸ó ÇÁ·Î±×·¥¿¡°Ô´Â Àû¿ëµÇÁö ¾Ê´Â´Ù. ½Ã½ºÅÛ ÇÁ·Î ¼¼½ºÀÇ È¯°æº¯¼ö, ¶Ç´Â ´Ù¸¥ »ç¿ëÀÚ ÇÁ·Î¼¼½ºÀÇ È¯°æº¯¼ö¸¦ ¾Ë¾Æ³»±â À§ÇØ ¼­´Â root ±ÇÇÑÀÌ ÇÊ¿äÇÏ´Ù. ¸ðÁú¶ó¸¦ µð¹ö±× Çغ¸ÀÚ. /tmp/test ½ºÅ©¸³Æ®¸¦ ¸¸µç´Ù:

     $ cat > /tmp/test
     #!/bin/sh
     /usr/bin/env > /tmp/env
     ^d
     $ chmod +x /tmp/test
±×¸®°í ³ª¼­ ¾Æ¹« ÇÁ·¯±×ÀÎ ÇÁ·Î±×·¥À» ¼³Á¤ÇÑ´Ù. ¿¹¸¦µé¾î ¸®¾ó¿Àµð¿À, audio/x-pn-realaudio¸¦ '/tmp/test' ÇÁ·Î±×·¥À» È£ÃâÇϵµ·ÏÇÑ´Ù. ±×·¯°í ³ª¼­ ºê¶ó¿ìÁ®·Î ¸®¾ó¿Àµð¿À ¸µÅ©°¡ Àִµ¥·Î°¡¸é (¿¹¸¦µé¾î www.realaudio.com/showcase), ¸ðÁú¶ó´Â /tmp/env ¿¡ ȯ°æº¯¼ö µéÀ» ÀúÀåÇÏ´Â ´õ¹Ì ÇÁ·Î±×·¥(¹æ±Ý ¸¸µç ½ºÅ©¸³Æ®:¿ªÀÚÁÖ)À» È£ÃâÇÒ°ÍÀÌ´Ù.

14. Some strategies to get the same path for all the users

°¡Àå Áß¿äÇÑ ¼³Á¤µéÀº Æ÷°ýÀûÀÎ ·Î±×ÀÎ ½©ÀÇ ½© ÃʱâÈ­¿¡¼­ ÇÒ¼öÀÖ´Ù. 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 ¸í·É¿¡´Â Àû¿ëÀÌ µÇÁö ¾Ê´Â´Ù)

15. Acknowledgements

Ari MujunenÀÇ ÁÂÀýÀÌ À̱ÛÀº ¾²°Ô µÈ µ¿±â°¡ µÇ¾ú°í, Juha TakalaÀº ¿©·¯ Á¶¾ðÀ» ÇØÁÖ¾ú´Ù.

PATH HOWTO

PATH HOWTO

Esa Turtiainen mailto: etu@dna.fi

v0.4, 15 November 1997 ¹ø¿ª: °í¿µÈÆ gogoonee@bbs.para.co.kr

1. Introduction

ÀÌ ¹®¼­´Â unix ¿Í linuxÀÇ È¯°æ º¯¼ö, ƯÈ÷ path¿¡ °üÇÑ ÀϹÝÀûÀÎ ¿ä·É°ú ¹®Á¦Á¡µéÀ» ¼³¸íÇÏ°í ÀÖ´Ù. path ´Â ¸í·É¾î¸¦ ã±âÀ§ÇÑ µð·ºÅ丮µéÀÇ ¸®½º Æ®·Î µ¥ºñ¾È ¸®´ª½º 1.3 ¹èÆ÷ÆÇÀ» ±âÁØÀ¸·Î ¼³¸íÇÑ´Ù. ÇÑ°¡Áö ¾Ë¾ÆµÑ °ÍÀº ÀÌ ±ÛÀº º£Å¸ÆÇÀ̶ó´Â °ÍÀÌ´Ù. ÀüÇÒ ¸»À̳ª ±³Á¤»çÇ×À» ¾Ë·ÁÁÖ¸é ÁÁ°Ú´Ù.

2. Copyright

ÀÌ ¹®¼­´Â ÀÚÀ¯·Ó´Ù. Free software foundation ÀÌ ¼±¾ðÇÑ GPLÇÏ¿¡¼­ ¹èÆ÷ ÇÒ¼ö ÀÖ°í ¼öÁ¤ÇÒ¼ö ÀÖ´Ù. ( GPL ¹öÀü2 ¶Ç´Â ±× ÀÌÈÄÀÇ ¹öÀüÀ» µû¸£´Â °Ç ´ç½Å ¸¶À½ÀÌ´Ù)

ÀÌ ¹®¼­´Â À¯¿ëÇÏ°Ô ¾²À̱⸦ ¹Ù¶ó´Â ¸¾¿¡¼­ ¹èÆ÷µÉ »Ó, ¾î¶°ÇÑ º¸ÁõÀ» ÇØÁÖ Áø ¾ÊÀ¸¸ç Àº¿¬ÁßÀÇ »ó¾÷¼ºÀ̳ª ƯÁ¤ ¸ñÀûÀ¸·Î ¹èÆ÷µÇ´Â °Íµµ ¾Æ´Ï´Ù. ÀÚ¼¼ÇÑ »çÇ×À» ¾Ë°í½ÍÀ¸¸é GNU GPLÀ» Àо¶ó.

´ç½ÅÀÌ ÀÌ ¹®¼­¿Í ÇÔ²² GNU GPL ¹®¼­¸¦ °¡Áö°í ÀÖ±æ ¹Ù¶õ´Ù. ±×·¸Áö ¾Ê´Ù¸é ´ÙÀ½ ÁÖ¼Ò·Î ÆíÁö¸¦ ¶ç¿ö¶ó Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

3. General

¸ðµç À¯´Ð½ºÀÇ ÇÁ·Î¼¼½ºµéÀº "ȯ°æ"À» ´ã°í ÀÖ´Ù. ÀÌ°ÍÀº º¯¼öµéÀÇ ¸®½ºÆ®·Î 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¸¦ ÅëÇؼ­ ·Î±×ÀÎÀ» ÇϰԵǴ °æ ¿ì°¡ ¿ÏÀüÈ÷ ´Ù¸£°Ô µÈ´Ù.

4. Init

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ÀÌ´Ù.

5. Login

ÅؽºÆ® Äֿܼ¡´Â 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

6. Shells

»ç¿ëÀÚ ÇÁ·Î¼¼½ºµéÀº /etc/passwd ¿¡ Á¤ÇØÁø ½©ÀÇ ÀÚ½ÄÇÁ·Î¼¼½ºÀÎ °æ¿ì°¡ ¸¹À¸¸ç ´ë°Ô ½©ÀÇ ÃʱâÈ­ ÆÄÀÏ¿¡ ÀÇÇؼ­ path´Â ¼öÁ¤µÇ¾îÁö´Â °æ¿ì°¡ ¸¹´Ù. login ÇÁ·Î±×·¥¿¡¼­´Â ½©ÀÇ À̸§¾Õ¿¡ '-' °¡ ºÙ´Â´Ù. ¿¹¸¦µé¾î bash´Â '-bash'¶ó°í ºÒ·ÁÁø´Ù. ÀÌ Ç¥½Ã´Â ±×°ÍÀÌ ·Î±×ÀÎ ½©ÀÓÀ» ºÒ·ÁÁö´Â ½©¿¡°Ô ¾Ë¸°´Ù. ÀÌ °æ¿ì¿¡ ½©Àº ·Î±×ÀÎ ÃʱâÈ­ ÆÄÀÏÀ» ¼öÇàÇÏ°Ô µÈ´Ù. ·Î±×ÀÎ ½©ÀÌ ¾Æ´Ò°æ¿ì¿¡´Â °£´ÜÇÑ ÃʱâÈ­°¡ ÀÌ·ç¾îÁø´Ù.

Ãß°¡ÀûÀ¸·Î, ½©ÀÌ »óÈ£ ´ëÈ­½Ä½©ÀÎÁö Áï, ¸í·É¾î°¡ ÆÄÀϷκÎÅÍ ÀÔ·ÂÀÌ µÇ´Â Áö tty¿¡¼­ ÀÔ·ÂÀÌ µÇ´ÂÁö üũ¸¦ Çϴµ¥ ÀÌ°ÍÀº ½©ÀÇ ÃʱâÈ­¸¦ ¼öÁ¤ÇÏ°Ô µÇ ¸ç ±×·¡¼­ ´ëÈ­½Ä ½©ÀÌ ¾Æ´Ï°í ·Î±×ÀÎ ½©µµ ¾Æ´Ï¶ó¸é ÃʱâÈ­´Â ¾ÆÁÖ °£´ÜÇÏ°Ô ÀÌ·ç¾îÁø´Ù.(bash´Â ÀÌ°æ¿ì¿¡´Â ¾Æ¹«·± ÃʱâÈ­µµ ÇÏÁö ¾Ê´Â´Ù!)

6.1 bash

ÀüÇüÀûÀÎ ·Î±×ÀÎ ½©·Î¼­ 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 °ú ·Î±×ÀÎ ½©ÀÇ Ãʱâ È­¸¸ µû¸¥´Ù.

6.2 tcsh

tcsh °¡ ·Î±×ÀÎ ½©À̸é tcsh ´Â ´ÙÀ½ ¼ø¼­·Î ÆÄÀϵéÀ» ¼öÇàÇÑ´Ù.


   /etc/csh.cshrc
   /etc/csh.login
   ~/.tcshrc
   ~/.cshrc (.tcshrc °¡ ¾ø´Â°æ¿ì)
   ~/.history
   ~/.login
   ~/.cshdirs

tcsh´Â cshrc ½ºÅ©¸³Æ® Àü¿¡ login ½ºÅ©¸³Æ®¸¦ ¸ÕÀú ¼öÇàÇϵµ·Ï ÄÄÆÄÀÏÇÒ¼ö µµ ÀÖ´Ù. ¾Ë¾ÆµÎ¾î¶ó!

´ëÈ­Çü ½©ÀÌ ¾Æ´Ò°æ¿ì¿¡´Â ´ÜÁö *cshrc½ºÅ©¸³Æ®¸¸ ½ÇÇàµÈ´Ù. *login ½ºÅ© ¸³Æ®´Â path¸¦ ÁöÁ¤Çϱâ À§ÇØ ·Î±×ÀÎ ½Ã¿¡ Çѹø »ç¿ëµÈ´Ù.

7. Changing user ID

7.1 su

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´Â ²Ï³ª ¹Ì¼¼ÇÑ È¯°æ¼³Á¤ÀÇ º¯È­¸¦ °¡Á®¿Â´Ù.

7.2 sudo

¼öÆÛÀ¯Àú ¸í·É¾îµéÀ» º¸´Ù ¾ÈÀüÇÏ°Ô ¾µ¼öÀÖµµ·Ï ÇÏ´Â ¸í·É¾îµéÀÌ Àִµ¥ À̰͵éÀº º¸´Ù ³ªÀº ·Î±ë°ú À¯Àúº° Á¦ÇÑ°ú °³º°ÀûÀÎ Æнº¿öµå »ç¿ëÀ» °¡´É ÇÏ°Ô ÇØÁØ´Ù. °¡Àå ³Î¸®¾²ÀÌ´Â °ÍÀº sudo ÀÌ´Ù.

$ sudo env

ÀÌ ¸í·ÉÀº env ¸í·ÉÀ» ¼öÆÛÀ¯Àú ¸ðµå·Î ½ÇÇàÇÏ°Ô ÇÑ´Ù. (¸¸¾à ±×°ÍÀ» Çã¿ë ÇÏ°Ô²û ¼³Á¤ÀÌ µÇ¾îÀÖ´Ù¸é) sudo ¸í·É¾î´Â path¸¦ ´Ù·ç´Âµ¥ À־ ¶Ç´Ù¸¥ Á¢±Ù¹æ½ÄÀ» °®°í Àִµ¥, path¸¦ ¹Ù²ã¼­ Ç×»ó ÇöÀç µð·ºÅ丮°¡ pathÀÇ ¸¶Áö¸·¿¡ ÀÖ°Ô ÇÑ´Ù. ±×·¯³ª PATH º¯¼ö¸¦ ¹Ù²ÙÁö´Â ¾ÊÀ¸¸ç ´ÜÁö SUDO_USER °°Àº ¸î °³ÀÇ È¯°æ º¯¼ö µé¸¸À» ¹Ù²Û´Ù.

8. Network servers

´ëºÎºÐÀÇ ³×Æ®¿öÅ© ¼­¹öµéÀº ¾î¶²Á¾·ùÀÇ ¼­ºê ÇÁ·Î¼¼½ºµµ °¡µ¿ÇÏÁö ¾Ê´Â°Ô ÁÁ´Ù. º¸¾ÈÀ» »ý°¢ÇÑ´Ù¸é ±× ÇÁ·Î¼¼½ºµéÀÇ path ´Â ÃÖ¼ÒÇÑ ÀÌ¿©¾ß ÇÑ´Ù. ÇÑ°¡Áö Áß¿äÇÑ ¿¹¿Ü°¡ ÀÖ´Ù¸é ³×Æ®¿öÅ©·ÎºÎÅÍ ·Î±ëÀ» Çã¿ëÇÏ´Â ¼­ºñ½ºµéÀÌ ´Ù. ÀÌ Àå¿¡¼­´Â ÀÌ °æ¿ì¿¡ ¾î¶² ȯ°æÀÌ ¾²ÀÌ´ÂÁö ¼³¸íÇÏ°í ÀÖ´Ù. ¸¸¾à rsh¸¦ ÅëÇØ ¾î¶² ¸í·É¾î°¡ ¸®¸ðÆ® ¸Ó½Å¿¡¼­ ¼öÇàµÇ¸é path ´Â ssh¸¦ »ç¿ëÇÏ´Â°Í °ú ´Ù¸£´Ù. ºñ½ÁÇÏ°Ô rloginÀ¸·Î telnet ¶Ç´Â ssh·Î ·Î±×ÀÎ ÇßÀ»¶§µµ °¢°¢ ´Ù¸£ ´Ù.

8.1 inetd

´ëºÎºÐÀÇ ³×Æ®¿öÅ© ¼­¹öµéÀº ¸®Äù½ºÆ®¸¦ ±â´Ù¸®¸ç ´ë±âÇÏ°í ÀÖ´Â ¼­ºê ÇÁ ·Î¼¼½ºµéÀ» °¡Áö°í ÀÖÁö ¾Ê´Ù. ÀÌ ÀÏÀº 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¸¦ ¹Ù²ÙÁö´Â ¾Ê´Â´Ù.(È®ÀÎÇغ¸Áö ¾Ê¾ÒÀ½)

8.2 rsh

rsh µ¥¸óÀº ÀϹݻç¿ëÀÚ¸¦ À§ÇØ ·Î±×ÀÎ ÇÁ·Î±×·¥ÀÌ ¼³Á¤Çϴ°Ͱú °°Àº _PATH_DEFPATH (/usr/include/paths.h) ·ÎºÎÅÍ path¸¦ ¼³Á¤ÇÑ´Ù. root ¿ª½Ã ÀϹÝÀ¯Àú¿Í °°Àº path¸¦ °®´Â´Ù. »ç½Ç, rshd ´Â commandline¿¡¼­ ¾òÀº ÆĶó¸ÞÅÍ(¿¹Á¦¿¡¼­ command-line:¿ªÀÚ ÁÖ)·Î ´ÙÀ½°ú °°Àº ¸í·É¾î¸¦ ½ÇÇàÇÏ´Â °ÍÀÌ´Ù.

shell -c command-line

ÀÌ°æ¿ì ·Î±×ÀÎ ½©Àº¾Æ´Ï´Ù. /etc/passwd ¿¡ ±â·ÏµÈ ¸ðµç ½©µéÀÌ -c ¿É¼ÇÀ» Áö¿øÇÏ´ÂÁö È®ÀÎÇϱ⠹ٶõ´Ù.

8.3 rlogin

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 ¿É¼ÇÀº ·Î±×ÀÎÇÒ ¸®¸ðÆ® È£½º Æ® ¸íÀ» ¾Ë·ÁÁÖ°Ô µÈ´Ù.

8.4 telnet

telnetÀº rlogin °ú ºñ½ÁÇÏ´Ù. login ÇÁ·Î±×·¥À» »ç¿ëÇÏ¸ç ¸í·É½ÇÇ൵ rlogin°ú ºñ½ÁÇÑ ¹æ½ÄÀ¸·Î ÀÌ·ç¾îÁø´Ù.

8.5 ssh

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 ½ÇÇà½Ã ¹®Á¦¸¦ ÀÏÀ¸Å²´Ù. (µÚ¿¡ Ãß°¡ÀûÀ¸ ·Î ¼³¸íµÊ:¿ªÀÚ ÁÖ)

9. XFree86

9.1 XDM

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, ÀÌ·± Çü ½ÄÀÇ ¶óÀεéÀÌ µé¾î°¡ ÀÖ´Â ÆÄÀÏÀÏ °ÍÀ̶ó »ý°¢Çϱ⠶§¹®ÀÌ´Ù.

9.2 xterm -ls

µðÆúÆ®·Î X window¸Þ´ÏÁ® ¸Þ´º·ÎºÎÅÍ ½ÇÇàµÈ ¸í·ÉµéÀ» À§ÇÑ path´Â XDM À¸·ÎºÎÅÍ »ó¼Ó¹ÞÀº °ÍÀÌ´Ù. ´Ù¸¥ path¸¦ ¿øÇÑ´Ù¸é Á÷Á¢ ¼¼ÆÃÇØÁà¾ß ÇÑ´Ù. ¸î¸î ±âº»ÀûÀÎ Æнº¸¦ °¡Áö°í Å͹̳Π¿¡¹Ä·¹ÀÌÅ͸¦ ½ÃÀÛÇÏ·Á¸é Ưº°ÇÑ ¿É¼Ç µéÀÌ »ç¿ëµÇ¾îÁ®¾ß ÇÑ´Ù. xterm¿¡¼­´Â -ls(login shell) ¿É¼ÇÀ» »ç¿ëÇÏ¿© shell ·Î±×ÀÎ ÃʱâÈ­ ÆÄÀÏÀÇ path¸¦ Áö´Ñ ·Î±×ÀÎ ½©À» ±âµ¿ÇÒ ¼ö ÀÖ´Ù.

9.3 Window manager menus and buttons

À©µµ¿ì ¸Þ´ÏÁ®´Â XDMÀ¸·ÎºÎÅÍ È¯°æº¯¼ö¸¦ ¹°·Á¹Þ´Â´Ù. À©µµ¿ì ¸Þ´ÏÁ®·Î ºÎÅÍ ½ÇÇàµÈ ¸ðµç ÇÁ·Î±×·¥µéÀº À©µµ¿ì ¸Þ´ÏÁ®ÀÇ È¯°æÀ» ¹°·Á¹Þ´Â´Ù. »ç¿ëÀÚ ½©ÀÇ È¯°æº¯¼ö´Â À©µµ¿ì ¸Þ´ÏÁ®ÀÇ ¹öÆ°À̳ª ¸Þ´º·ÎºÎÅÍ ½ÇÇàµÇ´Â ÇÁ·Î±×·¥¿¡´Â ¿µÇâÀ» ¹ÌÄ¡Áö ¾Ê´Â´Ù. ¿¹¸¦µé¾î, 'xterm -ls'¿¡¼­ ÇÁ·Î±×·¥ÀÌ ½ºÅ¸Æ® µÈ´Ù¸é ·Î±×ÀÎ ½©ÀÇ ±âº» ȯ°æÀ» °®°Ô µÇ³ª, ¸Þ´º¿¡¼­ ½ÇÇàµÈ´Ù¸é, ´ÜÁö À©µµ¿ì ¸Þ´ÏÁ®ÀÇ È¯°æ¸¸À» °¡Áú»ÓÀÌ´Ù.

10. Delayed commands cron and at

10.1 cron

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 ÇÁ·Î±×·¥Àº ÀÌ Æнº¸¦ »ç¿ëÇÑ´Ù.

10.2 at

at ´Â ƯÁ¤ÇÑ ½Ã°£¿¡ ÇÁ·Î±×·¥À» Çѹø ½ÇÇàÇϱâ À§ÇØ »ç¿ëÇÏ´Â ¸í·É¾îÀÌ´Ù.

atd ´Â init ÀÇ Æнº¸¦ »ç¿ëÇϳª, À¯ÀúµéÀÇ ÇÁ·Î±×·¥Àº sh ¸í·É¾î·Î Ç×»ó À¯ ÀúÀÇ È¯°æÇÏ¿¡¼­ ¼öÇàµÇ¾îÁø´Ù. ±×·¯¹Ç·Î shell ¿¡ ÀÇÇØ È¯°æº¯°æÀÌ Àû¿ëµÇ ¾îÁø´Ù. bash ¿¡ °üÇÑ ±ÛÀ» Àо¶ó.

11. Some examples

11.1 magicfilter

magicfilter ´Â ÇÁ¸°Æ®ÇÒ ÆÄÀÏÀ» ´Ù·ç±â À§ÇØ ÁÖ·Î »ç¿ëµÇ´Â ÅøÀÌ´Ù. ÇÁ¸°Æ® µÉ ÆÄÀÏÀ» ºÐ¼®ÇÏ¿© ÀûÀýÇÑ ÇÊÅÍ ½ºÅ©¸³Æ®¸¦ ±âµ¿ÇÑ´Ù. ÀÌ·¯ÇÑ ½ºÅ©¸³Æ®µéÀº initÀÌ /etc/init.d/lpd¿¡¼­ ½ÃÀÛ½ÃŲ lpd °¡ ¼öÇàÇÏ°Ô µÇ¸ç ±×·¡¼­ initÀÇ ÆÐ ½º¸¦ °¡Áö°í ÀÖ´Ù. ±×·¯¹Ç·Î /usr/bin/X11Àº path ¿¡ µé¾î°¡ ÀÖÁö ¾Ê´Ù!! ¸ÞÁ÷ÇÊÅÍ¿¡ PDF ÆÄÀÏÀ» ³Ö¾î¼­ Ãâ·ÂÇÏ°í ½ÍÀ» °ÍÀÌ´Ù. ÀÌ°ÍÀº /usr/bin/xpdf¸¦ »ç¿ëÇÏ¸é °¡´ÉÇÏ´Ù. À̶§ ´ç½ÅÀº Ç®Æнº ÆÄÀϳ×ÀÓÀ» Àû¾î Áà¾ßÇÑ´Ù. ±×·¸Áö ¾ÊÀ¸¸é ¸ÞÁ÷ÇÊÅÍ´Â ±× ÆÄÀÏÀ» ãÀ»¼ö¾ø±â ¶§¹®ÀÌ´Ù. (±×·¯ ³ª) ¸ÞÁ÷ÇÊÅÍ°¡ »ç¿ëÇÏ´Â ´ëºÎºÐÀÇ ÇÁ·Î±×·¥µéÀº /bin¶Ç´Â /usr/bin¿¡ Àֱ⠶§¹®¿¡ ¾ÕÀÇ °æ¿ì ¿Ü¿¡´Â Ç®Æнº¸¦ ÀûÀ»ÇÊ¿ä´Â ¾ø´Ù.

11.2 Printing from X applications

Áö±Ý »ç¿ëÇÏ´Â ÇÁ¸°ÅÍ°¡ ¹ºÁö ³ªÅ¸³»±â À§Çؼ­ PRINTER ȯ°æº¯¼ö¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ±×·¯³ª ¾î¶² °æ¿ì¿¡´Â ÀÛµ¿ÇÏÁö ¾ÊÀ»¼öµµ ÀÖ´Ù´Â°É ¾Ë¾ÆµÎ±â ¹Ù¶õ´Ù.

¸¸¾à¿¡ XDM¿¡¼­ X sessionÀÌ ½ÃÀ۵Ǿú´Ù¸é À©µµ¿ì ¸Þ´ÏÁ®´Â shell ·Î±×ÀÎ ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇÏÁö ¾Ê´Â´Ù´Â °ÍÀ» ±â¾ïÇؾߵȴÙ. xterm¿¡¼­ ½ÇÇàµÈ ¸ðµç X applicationµéÀº PRINTER°ªÀ» °¡Áö°í ÀÖÁö¸¸ ¸Þ´º³ª À©µµ¿ì ¸Þ´ÏÁ® ¹öÆ° ¿¡¼­ ½ÇÇàµÈ´Ù¸é PRINTER°ªÀÌ ¾øÀ»°ÍÀÌ´Ù. ¾î¶² °æ¿ì¿¡´Â ÇÏÀ§°èÃþÀ¸·Î »ó¼ÓµÇ´Â °æ¿ìµµ ÀÖ´Ù. ¿¹¸¦µéÀÚ¸é ¸ðÁú¶ó help ÇÁ·Î±×·¥Àº(Ç÷¯±× ÀÎ ÇÁ·Î±×·¥:¿ªÀÚ ÁÖ- ÀÌ ÈÄ ÇÁ·¯±×ÀÎ À̶ó ºÎ¸¥´Ù) PRINTER º¯¼ö°ªÀ» °¡Áú ¼öµµ ÀÖ°í ±×·¸Áö ¾ÊÀ» ¼öµµ ÀÖ´Ù.

12. Security concerns

Æнº´Â ¶§·Î Áß´ëÇÑ º¸¾È¹®Á¦¸¦ ¾ß±âÇϱ⵵ ÇÑ´Ù. À߸øµÈ Æнº¼³Á¤À» ¾Ç¿ë ÇÏ¿© ½Ã½ºÅÛÀ» ÇØÅ·ÇÏ´Â °ÍÀº ÈçÇÑ°æ¿ìÀÌ´Ù. °ú°Å(?) Æнº¼³Á¤¿¡¼­ ÈçÇÑ ½Ç¼ö´Â 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 ÀÌ °Ë»öµÇ¾îÁø´Ù.

13. How to debug problems?

ȯ°æº¯¼ö¸¦ Àоîµå¸®´Â ±âº»¸í·É¾î´Â /usr/bin/env ÀÌ´Ù. /proc µð·ºÅ丮¸¦ ÀÌ¿ëÇÏ¸é ¾î¶² ÇÁ·Î±×·¥ÀÇ Æнº¸¦ ¾Ë¾Æ³¾¼ö ÀÖ´Ù. ¸ÕÀú ÇÁ·Î¼¼½º ¹øÈ£¸¦ ¾Ë¾Æ¾ß ÇÑ´Ù. (ps ¸í·É¾î¸¦ »ç¿ëÇϸéµÈ´Ù) ¿¹¸¦µé¸é, xtermÀÇ ÇÁ·Î¼¼½º ¹øÈ£°¡ 1088 ÀÌ¸é ´ÙÀ½ ¸í·É¾î·Î ÇÁ·Î±×·¥ÀÇ È¯°æº¯¼ö¸¦ ¾Ë ¼ö ÀÖ´Ù.

# more /proc/1088/environ

ÀÌ ¹æ¹ýÀº xdm°ú °°Àº µ¥¸ó ÇÁ·Î±×·¥¿¡°Ô´Â Àû¿ëµÇÁö ¾Ê´Â´Ù. ½Ã½ºÅÛ ÇÁ·Î ¼¼½ºÀÇ È¯°æº¯¼ö, ¶Ç´Â ´Ù¸¥ »ç¿ëÀÚ ÇÁ·Î¼¼½ºÀÇ È¯°æº¯¼ö¸¦ ¾Ë¾Æ³»±â À§ÇØ ¼­´Â root ±ÇÇÑÀÌ ÇÊ¿äÇÏ´Ù. ¸ðÁú¶ó¸¦ µð¹ö±× Çغ¸ÀÚ. /tmp/test ½ºÅ©¸³Æ®¸¦ ¸¸µç´Ù:

     $ cat > /tmp/test
     #!/bin/sh
     /usr/bin/env > /tmp/env
     ^d
     $ chmod +x /tmp/test
±×¸®°í ³ª¼­ ¾Æ¹« ÇÁ·¯±×ÀÎ ÇÁ·Î±×·¥À» ¼³Á¤ÇÑ´Ù. ¿¹¸¦µé¾î ¸®¾ó¿Àµð¿À, audio/x-pn-realaudio¸¦ '/tmp/test' ÇÁ·Î±×·¥À» È£ÃâÇϵµ·ÏÇÑ´Ù. ±×·¯°í ³ª¼­ ºê¶ó¿ìÁ®·Î ¸®¾ó¿Àµð¿À ¸µÅ©°¡ Àִµ¥·Î°¡¸é (¿¹¸¦µé¾î www.realaudio.com/showcase), ¸ðÁú¶ó´Â /tmp/env ¿¡ ȯ°æº¯¼ö µéÀ» ÀúÀåÇÏ´Â ´õ¹Ì ÇÁ·Î±×·¥(¹æ±Ý ¸¸µç ½ºÅ©¸³Æ®:¿ªÀÚÁÖ)À» È£ÃâÇÒ°ÍÀÌ´Ù.

14. Some strategies to get the same path for all the users

°¡Àå Áß¿äÇÑ ¼³Á¤µéÀº Æ÷°ýÀûÀÎ ·Î±×ÀÎ ½©ÀÇ ½© ÃʱâÈ­¿¡¼­ ÇÒ¼öÀÖ´Ù. 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 ¸í·É¿¡´Â Àû¿ëÀÌ µÇÁö ¾Ê´Â´Ù)

15. Acknowledgements

Ari MujunenÀÇ ÁÂÀýÀÌ À̱ÛÀº ¾²°Ô µÈ µ¿±â°¡ µÇ¾ú°í, Juha TakalaÀº ¿©·¯ Á¶¾ðÀ» ÇØÁÖ¾ú´Ù.


ID
Password
Join
He who has imagination without learning has wings but no feet.


sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2009-01-06 13:00:17
Processing time 0.0022 sec