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() ¶óÀ̺귯¸®ÄÝÀ» »ç¿ëÇÏ¿© ȯ°æÀ» ¹Ù²Ü ¼ö ÀÖ ´Ù. Peal ¿¡¼­´Â%ENV ¶ó´Â Á¶ÇÕ Çà·ÄÀ» °¡Áö°í À־ ´ÙÀ½°ú °°ÀÌ path¸¦ ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. $ENV{PATH}="/bin". env ¸í·É¾î´Â ÇöÀçÀÇ È¯°æº¯¼ö°ªµéÀ» ¾Ë¾Æº¸´Âµ¥ ±âº»ÀûÀÎ ¸í·É¾îÀÌ¸ç ¶ÇÇÑ È¯°æ º¯¼ö¸¦ ¹Ù²Ù´Â µ¥¿¡µµ ¾²ÀÏ ¼ö ÀÖ´Ù. ±âº»ÀûÀΠȯ°æ(º¯¼ö) ¸ÞÄ«´ÏÁò¿¡ ´ëÇÑ Á¤º¸µéÀº ¸Å´º¾ó ÆäÀÌÁöÀÇ 'environ', ¹Ù¶õ´Ù. ¸®´ª½º°¡ ºÎÆÃµÉ ¶§ Á¦ÀÏ Ã³À½ ½ÃÀ۵Ǵ °ÍÀº 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´Â ¾Ë¸°´Ù. ÀÌ °æ¿ì¿¡ ½©Àº ·Î±×ÀÎ ÃʱâÈ­ ÆÄÀÏÀ» ¼öÇàÇÏ°Ô µÈ´Ù. ·Î±×ÀÎ ½©ÀÌ ¾Æ´Ò°æ¿ì¿¡´Â °£´ÜÇÑ ÃʱâÈ­°¡ ÀÌ·ç¾îÁø´Ù. Ãß°¡ÀûÀ¸·Î, ½©ÀÌ »óÈ£ ´ëÈ­½Ä½©ÀÎÁö Áï, ¸í·É¾î°¡ ÆÄÀϷκÎÅÍ ÀÔ·ÂÀÌ µÇ´Â Áö 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' ´ë½Å¿¡ ±ÇÇÑÀÌ ÀÖ´Â »ç¿ëÀÚ´Â ´©±¸³ª ½Ã½ºÅÛ¿¡ ħÀÔÇØ µé¾î°¥ ¼ö ÀÖ°Ô µÈ´Ù. Æнº¿¡ ¼³Á¤µÈ µð·ºÅ丮µéÀÇ '¼ø¼­'°¡ ¾î¶²Áö ÁÖÀ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.realau­ dio.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Àº ¿©·¯ Á¶¾ðÀ» ÇØÁÖ¾ú´Ù.