9.4. ½© ½ºÅ©¸³Æà ¾ð¾î (sh °ú csh Deritivatives)

ÀúÀÚ´Â setuid/setgid º¸¾ÈÀûÀÎ Äڵ忡 ´ëÇØ csh, sh ¿Í bash ¿Í °°Àº Ç¥ÁØ Ä¿¸Çµå ½© ½ºÅ©¸³Æà ¾ð¾î¸¦ »ç¿ëÇÏÁö ¸»¶ó°í ÃßõÇÑ´Ù. ¸®´ª½º¿Í °°Àº ¸î¸î ½Ã½ºÅÛµéÀº À̵éÀ» ¿ÏÀüÈ÷ ±ÝÁöÇϱ⠶§¹®¿¡ ºÒÇÊ¿äÇÑ À̽ļº ¹®Á¦¸¦ ¸¸µé ¼ö ÀÖ´Ù. ¾î¶² ¿À·¡µÈ ½Ã½ºÅÛ¿¡¼­ À̵éÀº 3.1.3Àý ¿¡¼­ ³íÀÇµÈ ¹Ù¿Í °°ÀÌ °æÀï »óŶ§¹®¿¡ ±âº»ÀûÀ¸·Î ºñº¸¾ÈÀûÀÌ¸ç ´Ù¸¥ ½Ã½ºÅÛ¿¡ ´ëÇؼ­µµ À̵éÀº ½ÇÁ¦·Î ÁÁÀº °³³äÀÌ ¾Æ´Ï´Ù. Ç¥ÁØ Ä¿¸Çµå ½©Àº ¾ÆÁ÷µµ ¸í¹éÇÏÁö ¾ÊÀº ÀԷ¿¡ ÀÇÇØ ¿µÇâÀ» ¹Þ´Â °ÍÀ¸·Î À¯¸íÇѵ¥ ÀÌ´Â ÀϹÝÀûÀ¸·Î Ä¿¸Çµå ½©ÀÌ °ú°¨ÇÑ °ø°ÝÀÚ¿¡ ´ëÇØ º¸È£ÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó ´ëÈ­½Ä »ç¿ëÀÚµéÀ» À§ÇØ ÀÚµ¿ÀûÀ¸·Î ÀÛ¾÷À» ÇÏ·Á°í ¼³°èµÇ¾ú±â ¶§¹®ÀÌ´Ù. ¿¹¸¦ µé¾î ¼û°ÜÁø ȯ°æ º¯¼ö (¿¹, ENV ¶Ç´Â BASH_ENV º¯¼ö) ´Â ½ºÅ©¸³Æ®°¡ ½ÇÇàµÉ ¼ö ÀÖ±â ÀüÀÌ¶óµµ ÀÓÀÇÀÇ »ç¿ëÀÚ Á¤ÀÇ Äڵ带 ¾î¶»°Ô ¿¬»ê ¶Ç´Â ´õ ³ª¾Æ°¡¼­´Â ½ÇÇà½ÃÅ°´ÂÁö¿¡ ¿µÇâÀ» ¹ÌÄ¥ ¼ö ÀÖ´Ù. ½ÇÇà°¡´É ÆÄÀÏÀÇ À̸§ ¶Ç´Â µð·ºÅ丮 ³»¿ë°°Àº °Íµéµµ ¿µÇâÀ» ³¢Ä¥ ¼ö Àִµ¥ ¿¹¸¦ µé¾î ¸¹Àº Bourne ½© ±¸Çö¿¡¼­ ´ÙÀ½Àº ·çÆ® ±ÇÇÑÀ» ÁÙ ¼ö ÀÖ´Ù (ÀÌ ¾Ç¿ë ¼³¸í¿¡ ´ëÇØ NCSA ¿¡ °¨»çÇÑ´Ù).
 % ln -s /usr/bin/setuid-shell /tmp/-x
 % cd /tmp
 % -x
¸î¸î ½Ã½ºÅÛÀº ÀÌ º¸¾È ±¸¸ÛÀ» ¸·À» ¼ö ÀÖÁö¸¸ ¹®Á¦´Â ¾ÆÁ÷ ³²¾ÆÀִµ¥ ´ëºÎºÐÀÇ Ä¿¸Çµå ½©ÀÌ º¸¾ÈÀûÀÎ setuid/setgid ÇÁ·Î±×·¥À» ÀÛ¼ºÇϵµ·Ï ÀǵµµÇÁö ¾Ê¾Ò´Ù´Â °ÍÀÌ´Ù. ÇÁ·Î±×·¡¹Ö ¸ñÀûÀ¸·Î setuid ½© ½ºÅ©¸³Æ®¸¦ Çã¿ëÇÏ´Â ½Ã½ºÅÛÀ̶ó°í ÇÏ´õ¶óµµ À̵éÀÇ »ý¼ºÀ» ÇÇÇضó. ´ë½Å ȯ°æÀ» ±ú²ýÀÌ Çϱâ À§ÇØ ´Ù¸¥ ¾ð¾î·Î ÀÛÀº ÇÁ·Î±×·¥À» ÀÛ¼ºÇÑ ÈÄ ÀÌ ÇÁ·Î±×·¥ÀÌ ´Ù¸¥ ½ÇÇà°¡´ÉÇÑ ÆÄÀÏÀ» È£ÃâÇϵµ·Ï Çضó (À̵é ÁßÀÇ ÀϺδ ½© ½ºÅ©¸³Æ®ÀÏ ¼öµµ ÀÖ´Ù).

¾ÆÁ÷µµ ½© ½ºÅ©¸³Æà ¾ð¾îÀÇ »ç¿ëÀ» ÁÖÀåÇÑ´Ù¸é Àû¾îµµ ½ºÅ©¸³Æ®¸¦ À̵¿ ¶Ç´Â º¯°æµÉ ¼ö ¾ø´Â µð·ºÅ丮³»¿¡ µÎ¾î¶ó. ½ºÅ©¸³Æ®ÀÇ ¸Ç ¾Õ¿¡ PATH ¿Í IFS ¸¦ ¾Ë·ÁÁø °ªµé·Î ¼³Á¤Çضó.

ºñ½ÁÇÑ ¸Æ¶ôÀ¸·Î ÀúÀÚ´Â º¸¾ÈÀûÀÎ Á¤Ã¥À» ±¸ÇöÇÏ´Â ``Á¦ÇÑÀûÀÎ ½©" À» ½Å·ÚÇÏÁö ¾Ê¾Æ¾ß ÇÑ´Ù°í Ãæ°íÇÑ´Ù. Á¦ÇÑÀûÀÎ ½©Àº ÀǵµÀûÀ¸·Î »ç¿ëÀÚ·Î ÇÏ¿©±Ý ¸¹Àº ÀÛ¾÷À» ¼öÇàÇÏÁö ¸øÇÏ°Ô ÇÏ´Â ½©·Î ±× ¸ñÀûÀº »ç¿ëÀÚ¿¡°Ô ´ÜÁö ¾ÆÁÖ ¼Ò¼öÀÇ ÇÁ·Î±×·¥µé¸¸À» ½ÇÇà½Ãų ¼ö ÀÖµµ·Ï ÇÏ´Â °ÍÀÌ´Ù. Á¦ÇÑÀûÀÎ ½©Àº öóÇÑ ¹æ¾î (defense-in-depth) Á¶Ä¡·Î À¯¿ëÇÒ ¼ö ÀÖÁö¸¸ Á¤È®ÇÏ°Ô ¼³Á¤ÇÏ´Â °ÍÀÌ ¾î·Æ´Ù°í ¾Ë·ÁÁ® ÀÖÀ¸¸ç ¼³Á¤µÇ´õ¶óµµ ´ë°³ Æı«µÉ ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î ¸î¸î Á¦ÇÑÀûÀÎ ½©Àº Á¦ÇѵÇÁö ¾ÊÀº ¸ðµå¿¡¼­ ¾î¶² ÆÄÀÏ (¿¹, ``.profile) À» ½ÇÇà½ÃÅ´À¸·Î½á ½ÃÀÛµÉ ¼ö ÀÖ´Ù. - »ç¿ëÀÚ°¡ ÀÌ ÆÄÀÏÀ» º¯°æ½Ãų ¼ö ÀÖ´Ù¸é ½©Àº º¯°æµÈ Äڵ带 ½ÇÇà½ÃÅ°´Â °ÍÀÌ´Ù. Á¦ÇÑÀûÀÎ ½©Àº ´ÜÁö ¾à°£ÀÇ ÇÁ·Î±×·©¸¸À» ½ÇÇà½Ãų ¼ö ÀÖµµ·Ï ¼³Á¤µÇ¾î¾ß ÇÏÁö¸¸ ±×·¯ÇÑ ÇÁ·Î±×·¥Áß ¾î¶² ÇÁ·Î±×·¥ÀÌ »ç¿ëÀÚµé·Î ÇÏ¿©±Ý ´õ¿í ¸¹Àº ÇÁ·Î±×·¥À» ½ÇÇà½ÃÅ°µµ·Ï ÇÏ´Â ``½© À̽ºÄÉÀÌÇÁ" ¸¦ °®°í ÀÖ´Ù¸é °ø°ÝÀÚ°¡ ÀÌ·¯ÇÑ ½© À̽ºÄÉÀÌÇÁ¸¦ »ç¿ëÇØ Á¦ÇÑÀûÀÎ ½©À» À̽ºÄÉÀÌÇÁÇÒ ¼ö ÀÖ´Ù. ¹°·Ð Á¦ÇÑÀûÀÎ ½©ÀÇ PATH ¸¦ ¼³Á¤ÇÏÁö ¾Ê¾Æ ¾î¶² ÇÁ·Î±×·¥µµ ½ÇÇàµÉ ¼ö ¾øµµ·Ï ¼³Á¤ÇÑ´Ù ÇÏ´õ¶óµµ °ø°ÝÀÚ´Â ÅؽºÆ® ÆíÁý±â, ¸ÞÀÏ·¯ µî ¸¹Àº ÇÁ·Î±×·¥ÀÇ ½© À̽ºÄÉÀÌÇÁ¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¹®Á¦´Â ½©ÀÇ ¸ñÀûÀÌ ´Ù¸¥ ÇÁ·Î±×·¥À» ½ÇÇà½ÃÅ°´Â °ÍÀÌÁö¸¸ ±×·¯ÇÑ ´Ù¸¥ ÇÁ·Î±×·¥ÀÌ ÀǵµµÇÁö ¾ÊÀº ¿¬»êÀ» Çã¿ëÇÒ ¼öµµ ÀÖ´Ù´Â °ÍÀÌ´Ù. -- ½©Àº ÀÌ·¯ÇÑ ¿¬»êÀ» ¸øÇϵµ·Ï °³ÀÔÇÏÁö ¾Ê´Â´Ù.