¾ÈÀüÇÑ ÇÁ·Î±×·¡¹Ö
ÃÑ ÆäÀÌÁö ¼ö : 3224

Àüü ÇÔ¼ö/¿ë¾î»çÀü
Facebook Joinc ±×·ì   Joinc QA »çÀÌÆ®



joinc´Â Firefox¿Í chrome¿¡¼­ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼­´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù.
HTML º¯È¯¹®¼­

<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V4.1//EN"> 
<article lang="ko"> 
 
<!--           --> 
<!-- ¹®¼­ Á¤º¸ --> 
<!-- http://www.tldp.org/linuxfocus/English/January2001/article182.shtml --> 
<!--           --> 
<articleinfo> 
    <title>¾ÖÇø®ÄÉÀÌ¼Ç °³¹ß½Ã º¸¾È¹®Á¦ ÇÇÇϱâ</title> 
 
    <author> 
        <surname>À± »ó¹è</surname> 
 
        <affiliation> 
            <address> 
                <email>dreamyun@yahoo.co.kr</email> 
            </address> 
        </affiliation> 
    </author> 
    <revhistory> 
        <revision> 
            <revnumber>0.8</revnumber> 
            <date>2003³â 7¿ù 26ÀÏ 23½Ã</date> 
            <revremark>ÃÖÃÊ ¹®¼­ÀÛ¼º</revremark> 
        </revision> 
    </revhistory> 
</articleinfo> 
 
 
<!--                                                                 --> 
<!-- ¼½¼Ç ½ÃÀÛ                                                       --> 
<!--                                                                 --> 
<section> 
    <title>¼Ò°³</title> 
    <para> 
        ÀÌ ¹®¼­´Â Avoiding security holes when developing an application¸¦  
        ¹ø¿ªÇÑ ¹®¼­·Î½á ¿øº»Àº <ulink url=>linuxfocus</ulink>¿¡¼­  
        ãÀ» ¼ö ÀÖ´Ù.   
        ¿ø¹®Àº ¸ðµÎ 7°³ÀÇ ÀåÀ¸·Î ±¸ºÐµÇ¾î ¿¬ÀçµÇ¾úÀ¸¸ç ÀÌ ¹®¼­´Â ±×Áß  
        ù¹øÂ° ÀåÀÇ ¹ø¿ªÆÇÀÌ´Ù.  
    </para> 
    <para> 
        ÄÄÇ»ÅͽýºÅÛÀ» ¿î¿µÇϴµ¥ À־ ÇöÀç °¡Àå Áß¿äÇÑ À̽´´Â º¸¾È¹®Á¦ÀÏ  
        °ÍÀÌ´Ù. º¸¾È ¹®Á¦°¡ ¹ß»ýÇÏ´Â ÀÌÀ¯´Â Çã¶ôÇÏÁö ¾ÊÀº »ç¿ëÀÚ°¡ ½Ã½ºÅÛÀÇ  
        ÀÚ¿øÀ» Á¢±ÙÇÏ·Á´Âµ¥¿¡¼­ ¹ß»ýÇÏ°Ô µÈ´Ù. ÀÌ»óÀûÀ¸·Î º¸ÀÚ¸é ¿î¿µÃ¼Á¦°¡  
        ¿Ïº®ÇÏ°í ±× ¿î¿µÃ¼Á¦ÇÏ¿¡¼­ µ¹¾Æ°¡´Â ¼ÒÇÁÆ®¿þ¾î¿¡ ¾î¶°ÇÑ °áÇÔµµ Á¸Àç  
        ÇÏÁö ¾Ê´Â´Ù¸é º¸¾È¹®Á¦°¡ ¹ß»ýÇÒ ¾î¶°ÇÑ ÀÌÀ¯µµ ¾ø°ÚÁö¸¸, ¾ÈŸ±õ°Ôµµ  
        ¿ÏÀüÇÑ ¿î¿µÃ¼Á¦¿Í ¿ÏÀüÇÑ ÇÁ·Î±×·¥Àº Á¸ÀçÇÏÁö ¾Ê´Â´Ù.  
        (¿î¿µÃ¼Á¦ ¿ª½Ã ÇÁ·Î±×·¥ÀÇ ÀÏÁ¾ÀÌ´Ù) ÀÌ·± ÀÌÀ¯·Î ƯÁ¤ ÇÁ·Î±×·¥ÀÇ  
        °áÇÔÀ» ã¾Æ¼­ ¹ß»ý°¡´ÉÇÑ º¸¾È¹®Á¦¸¦ ¹Ì¿¬¿¡ ¹æÁöÇÏ´Â ±â¼úÀº ¸Å¿ì  
        Áß¿äÇÏ´Ù°í ÇÒ ¼ö ÀÖ´Ù. ÇÁ·Î±×·¡¸ÓÀÇ °æ¿ì °¡´ÉÇÑÇÑ ÀÌ·¯ÇÑ °áÇÔÀÌ  
        ¹ß»ýÇÏÁö ¾Êµµ·Ï ¾î¶² "±ÔÄ¢"À» °¡Áö°í ÇÁ·Î±×·¡¹ÖÀ» ÇØ¾ßÇÑ´Ù. 
    </para> 
    <para> 
        º¸¾È¹®Á¦¿¡ ¾à°£ÀÇ °ü½ÉÀ» °¡Áö°í ÀÖ´Ù¸é, °ÅÀÇ ¸ÅÀÏ º¸¾È°áÇÔÀÌ ¹ß»ýÇÑ  
        ÇÁ·Î±×·¥°ú ÀÌ·¯ÇÑ °áÇÔÀÌ ½Ã½ºÅÛ¿¡ ¹ÌÄ¡´Â ¿µÇâ ÀÌ·¯ÇÑ °áÇÕÀ» Á¦°ÅÇ챉  
        À§ÇÑ ÆÐÄ¡°¡ ¹ßÇ¥µÇ°í ÀÖÀ½À» ¾Ë¼ö ÀÖ´Ù. ÀÌ·¯ÇÑ º¸¾È °áÇÔÀ» º¸¸é  
        ÇÁ·Î±×·¡¸ÓÀÇ »ç¼ÒÇÑ ºÎÁÖÀÇ¿Í À߸øµÈ ÄÚµù ½À°üµî¿¡ ±âÀÎÇÑ Á¡ÀÌ ¸¹À¸¸ç  
        ¾à°£ÀÇ ÇнÀÀ» ÅëÇØ¼­ ¸¹Àº ¼öÀÇ °áÇÔÀ» ÁÙÀÏ ¼ö ÀÖ´Ù.  
    </para> 
    <para> 
        À̹ø ¹®¼­¿¡¼­´Â ÀÏ¹Ý ¾ÖÇø®ÄÉÀ̼ÇÀÇ ÀÛ¼º¿¡¼­ ¹ß»ýÇϱ⠽¬¿î ¹®Á¦Áß  
        ±ÇÇÑ(privileges)°ú °ü·ÃµÈ ³»¿ë ƯÈ÷ Set-UID¿Í Set-GID¿¡ ´ëÇØ¼­ ¾Ë¾Æ 
        º¸µµ·Ï ÇϰڴÙ.   
    </para> 
</section> 
 
<section> 
    <title>±ÇÇÑ(privileges) °ü·Ã</title> 
    <para> 
        Unix½Ã½ºÅÛÀÇ °æ¿ì ¸ðµç À¯Àú°¡ µ¿ÀÏÇÏ°Ô Ãë±ÞµÇÁö ¾ÊÀ¸¸ç, °íÀ¯ÀÇ ±ÇÇÑÀ»  
        °¡Áö¸ç ÇØ´ç ±ÇÇѳ»¿¡¼­ Çൿ¿¡ Á¦¾àÀ» ¹Þ°Ô µÈ´Ù. ÀÌ·¯ÇÑ ÇൿÀº ÆÄÀÏÀ»  
        »èÁ¦Çϰí, ¿Å±â°í, ÆíÁýÇϰųª ½Ã½ºÅÛ¼³Á¤À» ¹Ù²Ù´Â µîÀÇ ÀÛ¾÷ÀÌ µÈ´Ù.  
        ¸¶Ä¡ ¿µÈ­ ¸ÞÆ®¸¯½º¿¡¼­ ¿ä¿ø ½º¹Ì½ºÀÇ ÇൿÀÌ ¸ÞÆ®¸¯½º³»¿¡¼­ Á¦ÇÑÀ»  
        ¹Þ´Â °Í°ú °°´Ù.   
    </para> 
    <para> 
        Unix½Ã½ºÅÛ¿¡ µî·ÏµÈ ¸ðµç À¯Àú´Â yundream, yungum°ú °°Àº ÀÚ½ÅÀÇ À̸§À»  
        °¡Áø´Ù. ±×·¯³ª ÀÌ·¯ÇÑ ¹®ÀÚ¿­·Î µÈ À¯ÀúÀ̸§Àº Àΰ£ÁöÇâÀûÀ̱ä ÇÏÁö¸¸  
        ÄÄÇ»ÅÍ ÀÔÀå¿¡¼­ ºÃÀ»¶§´Â »ç¿ëÇϱⰡ ±×¸® ÁÁÁö ¾Ê´Ù.  
        ±×·¡¼­ À̸§°ú ¸ÊÇεǴ intÇüÀÇ (À¯ÀÏÇÑ)°íÀ¯¹øÈ£¸¦ ÇÒ´çÇÑ´Ù.  
        ÀÌ·¯ÇÑ °íÀ¯ ¹øÈ£¸¦ 
        <emphasis>UID<emphasis>(User Identifier)¶ó°í ÇÑ´Ù. À̵é À¯ÀúÁ¤º¸´Â  
        /etc/passwd ÆÄÀÏ¿¡ ÀúÀåµÈ´Ù.  
    </para> 
    <para> 
        ÀÌÁß UID 0À» °¡Áö´Â À¯Àú°¡ Àִµ¥ À̸¦ rootÀ¯Àú¶ó°í ÇÏ¸ç ½Ã½ºÅÛ¿¡  
        ´ëÇÏ¿© Ưº°ÇÑ ±ÇÇÑÀ» °¡Áö¸ç ¾î¶°ÇÑ Á¦Çѵµ °¡ÁöÁö ¾Ê´Â´Ù.  
        rootÀ¯Àú´Â ¸ðµç ÆÄÀÏ¿¡ ´ëÇØ¼­ "Àбâ", "¾²±â", "½ÇÇà"ÀÇ ¿ÏÀüÇÑ ±ÇÇÑÀ»  
        °¡Áö¸ç ÀåÄ¡¿¡ ´ëÇØ¼­µµ ÀÏüÀÇ ±ÇÇÑ - ¸¶¿îÆ®, ¾ð¸¶¿îÆ®, ÀÌ´õ³Ý Ä«µåÀÇ  
        ÁÖ¼ÒÇÒ´çµî°ú °°Àº - ºÎ¿© ¹Þ´Â´Ù. À̿ܿ¡µµ ¿î¿µÃ¼Á¦ÀÇ ¿î¿µ°ú °ü·ÃµÈ  
        (¹°¸®Àû, ½º¿Ò)¸Þ¸ð¸®¿¡ ´ëÇÑ Á¶Á¤, °¢ ÇÁ·Î¼¼½º¿¡ ´ëÇÑ ¿ì¼±±ÇºÎ¿©,  
        ÇÁ·Î¼¼½º¿¡ ´ëÇÑ ½Ã±×³Î ¹ß»ýµîÀÇ ÀÓ¹«¸¦ ¼öÇàÇÒ ¼öµµ ÀÖ´Ù. ÇѸ¶µð·Î  
        ¸ðµçÀÏÀ» ÇÒ ¼ö Àִ Ư¼öÇÑ À¯Àú¶ó°í º¸¸é µÈ´Ù.   
    </para> 
    <para> 
        ÀÏ´Ü À¯Àú°¡ ½Ã½ºÅÛ¿¡ ·Î±×ÀÎ Çϸé À¯Àú´Â °¢Á¾ ¸í·É¾îµéÀ» ÅëÇØ¼­  
        ¿©·¯°¡Áö ÀÛ¾÷À» ¼öÇàÇÏ°Ô µÈ´Ù. À̶§ ÀÌµé ¸í·É¾îÀÇ ¼öÇà¹üÀ§´Â  
        ½ÇÇàµÈ À¯ÀúÀÇ ±ÇÇÑ¿¡ µû¶ó¼­ º¯ÇÏ°Ô µÈ´Ù. ÀÌ·¸°Ô µÇ¹Ç·Î½á ÀÚ½ÅÀÇ ±ÇÇÑ  
        ¹Û¿¡ ÀÖ´Â ÀÛ¾÷(´Ù¸¥ À¯ÀúÀÇ ÆÄÀÏ »èÁ¦¿Í °°Àº)À» ¼öÇàÇϰíÀÚ ÇÏ´õ¶óµµ  
        ±ÇÇѹ®Á¦·Î ¿øÇÏ´Â ÀÛ¾÷À» ÇÒ ¼ö ¾ø°Ô µÈ´Ù. ÀÌ·¸°Ô À¯Àúº°·Î ±ÇÇÑÀ»  
        µÒÀ¸·Î½á ¿©·¯¸íÀÌ µ¿½Ã¿¡ ÀÛ¾÷ÇÏ´Â À¯´Ð½º ½Ã½ºÅÛ¿¡¼­ ÀÚ½ÅÀÇ ¿µ¿ªÀ»  
        ħ¹ü¹ÞÁö ¾Ê°í ÀÛ¾÷À» ¼öÇàÇÒ ¼ö ÀÖ´Ù.  
        <tip> 
        <para> 
            ÀüÅëÀûÀ¸·Î À¯´Ð½º ½Ã½ºÅÛÀº ½´ÆÛÀ¯Àú¿Í ÀϹÝÀ¯ÀúÀÇ µÎ°³¿µ¿ªÀ¸·Î  
            ±ÇÇÑÀÌ ±¸ºÐµÇ¾î Áø´Ù. ½´ÆÛÀ¯Àú ¿Ü¿¡´Â ¸ðµÎ ÀϹÝÀ¯Àú´Ù.    
        </para> 
        </tip> 
    </para> 
    <para> 
        ÀÌ·¸°Ô ÀÚ½ÅÀÇ À¯Àú±ÇÇÑÀ» ÅëÇØ¼­ ÀÛ¾÷À» ÇÏ°Ô µÇ¾ú´Âµ¥, ¶§¶§·Î  
        ´Ù¸¥ À¯ÀúÀÇ ±ÇÇÑÀ¸·Î ÀÛ¾÷À» ÇØ¾ß Çϰųª ȤÀº ½´ÆÛÀ¯Àú±ÇÇÑÀÇ ÀÛ¾÷À»  
        ÇØ¾ßµÉ °æ¿ì°¡ ¹ß»ýÇÑ´Ù. ÀÌ·²°æ¿ì ¿ì¸®´Â <emphasis>su</emphasis>¿Í  
        °°Àº ÇÁ·Î±×·¥À» ÀÌ¿ëÇØ¼­ ½ºÀ§Äª À¯Àú(switching user)ÇÏ°Ô µÈ´Ù.   
    </para> 
    <para> 
        ¾ð¶æ su¸¦ ÀÌ¿ëÇØ¼­ ½ºÀ§Äª À¯ÀúÇÏ´Â °ÍÀº ´ÜÁö ¿Ã¹Ù¸¥ ÆÐ½º¿öµå¸¦  
        ÀÔ·ÂÇÏ´Â Á¤µµ·Î ³¡³¯ °ÍÀ¸·Î »ý°¢ µÉ ¼ö ÀÖÁö¸¸ ½ÇÀº ±×¸® °£´ÜÇÑ ¹®Á¦°¡  
        ¾Æ´Ï´Ù. ±âº»ÀûÀ¸·Î ¾ÖÇø®ÄÉÀ̼ÇÀÇ ½ÇÇà±ÇÇÑÀº ½ÇÇà½ÃŲ À¯Àú¿¡ µû¶ó  
        Á¦ÇÑ µÇ¹Ç·Î ÀϹÝÀ¯Àú°¡ ¾ÖÇø®ÄÉÀ̼ÇÀ» ½ÇÇà ½ÃÄ×À» °æ¿ì °áÄÚ ´Ù¸¥  
        À¯ÀúÀÇ ±ÇÇÑÀ» ȹµæÇÒ ¼ö ¾ø°ÔµÈ´Ù. ´ç¿¬È÷ su¸¦ ½ÇÇà ½ÃŰ°í  
        ÆÐ½º¿öµå¸¦ ¿Ã¹Ù¸£°Ô ÀÔ·ÂÇß´Ù°í ÇØ¼­ ´Ù¸¥ À¯Àú ±ÇÇÑÀ» ¾òÀ» ¼ö ÀÖ°Ô µÇ´Â  
        °Ç ¾Æ´Ï´Ù.   
    </para> 
    <para> 
        ÀÌ·± ¹®Á¦¸¦ ÇØ°áÇϱâ À§Çؼ­ À¯´Ð½º´Â Àá½Ã µ¿¾È "Àӽ÷Î"´Ù¸¥ À¯Àú  
        ±ÇÇÑÀ¸·Î ÇÁ·Î±×·¥À» ½ÇÇà½Ãų ¼ö ÀÖµµ·Ï ½ÇÇàÆÄÀÏÀÇ ±ÇÇÑÀ» Á¶Á¤ÇÒ ¼ö  
        ÀÖ´Ù. ³»°¡ ºñ·Ï su¸¦ ÀϹÝÀ¯Àú ±ÇÇÑÀ¸·Î ½ÇÇà½ÃÄ×´Ù°í ÇÏ´õ¶óµµ  
        ½´ÆÛÀ¯Àú°¡ su¸¦ ½ÇÇà½ÃŲ°Í°ú °°Àº È¿°ú(effect)¸¦ ÁÖµµ·Ï ¾ÖÇø®ÄÉÀ̼ÇÀÇ  
        ½ÇÇà±ÇÇÑÀ» Á¶Á¤ÇØ ÁÙ ¼ö ÀÖ´Ù´Â ¶æÀÌ´Ù. ÀÌ·¯ÇÑ ±ÇÇÑÀ» Effectiv UID¶ó°í  
        ÇÑ´Ù. ls¸¦ ÅëÇØ¼­ suÀÇ ±ÇÇÑÀ» È®ÀÎÇØ º¸ÀÚ   
        <screen> 
[root@localhost /root]# ls -al /bin/su 
-rwsr-xr-x    1 root     root        14112  1¿ù 16  2001 /bin/su 
        </screen> 
        ¼ÒÀ¯ÀÚ ±ÇÇÑ¿¡ 's'°¡ º¸ÀÏ °ÍÀÌ´Ù. ÀÌ´Â ÀϹÝÀ¯Àú°¡ su ÇÁ·Î±×·¥À»  
        ½ÇÇàÇÏ´õ¶óµµ ÇÁ·Î±×·¥ÀÇ ¼ÒÀ¯ÀÚÀÎ rootÀÇ ±ÇÇÑÀ¸·Î ÀÛ¾÷À» ÇÒ ¼ö ÀÖÀ»À»  
        ÀǹÌÇÑ´Ù. ÀÌ 's'°¡ ¼³Á¤µÇ´Â ºñÆ®¸¦ Set-UIDȤÀº ÁÙ¿©¼­ SUID¶ó°í ÇÑ´Ù.  
    </para> 
    <para> 
        ±×·³ SUIDÀÇ Å×½ºÆ®¸¦ À§Çؼ­ °£´ÜÇÑ ÇÁ·Î±×·¥À» Çϳª ¸¸µé¾î º¸µµ·Ï  
        ÇÏÀÚ. 
    </para> 
    <section> 
        <title>SUID ¿¹Á¦ ÇÁ·Î±×·¥</title> 
        <para> 
            ¸¸µé°íÀÚ ÇÏ´Â ÇÁ·Î±×·¥Àº °£ÀÌ suÇÁ·Î±×·¥ÀÌ´Ù À̸§Àº jsu·Î  
            ÇϰڴÙ. ÇÁ·Î±×·¥ÀÌ ÇÏ´Â ÀÏÀº setuid(2)¸¦ ÀÌ¿ëÇØ¼­ ½´ÆÛÀ¯Àú ±ÇÇÑÀÇ  
            ȹµæÀ» ½ÃµµÇϰí execl(3)À» ÀÌ¿ëÇØ¼­ ½©À» ½ÇÇà ½ÃŲ´Ù.  
            ÄÚµå´Â °£´ÜÇϹǷΠ¼³¸íÀº ÁÖ¼®À¸·Î ´ë½Å ÇÏ´Ù·Ï ÇÑ´Ù.  
        </para> 
        <para> 
            <screen> 
#include <unistd.h> 
 
int main() 
{ 
    if (setuid(0) != 0) 
    { 
        perror("setuid error : "); 
        exit(0); 
    } 
    execl("/bin/sh", "sh", NULL); 
} 
            <screen> 
            À§ ÇÁ·Î±×·¥À» ÄÄÆÄÀÏÇÑ µÚ ¹Ù·Î ½ÇÇàÇÏ¸é ºÐ¸í setuid(2)È£ÃâÀÌ ½ÇÆÐÇß´Ù´Â  
            ¸Þ½ÃÁö¸¦ Ãâ·ÂÇϸç ÇÁ·Î±×·¥ÀÌ Á¾·á µÉ°ÍÀÌ´Ù(ÀϹݰèÁ¤À¸·Î Å×½ºÆ® Ç챉  
            ¹Ù¶õ´Ù). ÀÏ¹Ý °èÁ¤À¸·Î ´Ù¸¥ °èÁ¤±ÇÇÑÀ» ¾òÀ» ¼ö ¾ø±â ¶§¹®ÀÌ´Ù.  
            ÀÌ ¹®Á¦¸¦ ÇØ°á Çϱâ À§Çؼ­ jsuÇÁ·Î±×·¥¿¡ ´ÙÀ½°ú °°ÀÌ SIDºñÆ®¸¦  
            ¼³Á¤ÇÏ¸é µÈ´Ù.      
            <screen> 
[root@localhost test]# chown +s jsu 
            </screen> 
            ÀÌÁ¦ ¼º°øÀûÀ¸·Î ´Ù¸¥ À¯Àú·Î º¯°æµÊÀ» È®ÀÎ ÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. id¸¦  
            ÀÌ¿ëÇØ¼­ ÀÚ½ÅÀÇ ±ÇÇÑ Á¤º¸¸¦ È®ÀÎÇØº¸µµ·Ï ÇÏÀÚ.  
            <screen> 
[yundream@coco test]$ ./jsu  
sh-2.04# id 
uid=0(root) gid=500 groups=500 
            </screen> 
            uid°¡ 0(½´ÆÛÀ¯Àú)·Î ¼º°øÀûÀ¸·Î ¼¼ÆÃµÇ¾î ÀÖÀ½À» È®ÀÎ ÇÒ ¼ö ÀÖ´Ù.  
            À̶§ gid¿Í groups°ü·Ã Á¤º¸°¡ Á¦´ë·Î ³ª¿ÀÁö ¾Ê´Âµ¥ ÀÌÀ¯´Â jsuÇÁ·Î±×·¥ÀÌ  
            ¿ÏÀüÇÑ ÇÁ·Î±×·¥ÀÌ ¾Æ´Ï±â ¶§¹®ÀÌ´Ù. Á»´õ su¿Í ºñ½ÁÇÏ°Ô ÀÛµ¿Çϵµ·Ï  
            Çϱâ À§Çؼ­´Â gid¿Í ±× ¹Û¿¡ ¸î °¡Áö ´õ ½Å°æ½á¾ß ÇÒ ºÎºÐµéÀÌ Àִµ¥,  
            ¿©±â¿¡¼­´Â »ý·«Çϵµ·Ï ÇϰڴÙ.  
        </para> 
    </section> 
    <section> 
        <title>SUIDÀÇ ¹®Á¦Á¡</title> 
        <para> 
            À§ ÇÁ·Î±×·¥Àº Ä¡¸íÀûÀÎ ´ÜÁ¡À» °¡Áö°í ÀÖ´Ù. ±×°ÍÀº SUID°¡ Àû¿ëµÈ  
             ½´ÆÛÀ¯Àú ¼ÒÀ¯ÀÇ ¾ÖÇø®ÄÉÀ̼ÇÀ» ½ÇÇà½Ãų °æ¿ì ¾Æ¹«·± Á¦Àç »çÇ× ¾øÀÌ  
            ½´ÆÛÀ¯ÀúÀÇ ±ÇÇÑÀ» ¾òÀ» ¼ö ÀÖ´Ù´Â Á¡ÀÌ´Ù. ¹°·Ð ÀÌ·¯ÇÑ ¹®Á¦ÀÇ °æ¿ì  
            ÇØ´ç ±ÇÇÑÀ» ¾ò±â À§Çؼ­ su¿Í °°ÀÌ ÆÐ½º¿öµå ÀÔ·Â °úÁ¤À» °ÅÄ¡°Ô ÇѴٰųª  
            ½´ÆÛÀ¯Àú·Î ÀÛµ¿ÇÏ´Â Äڵ带 ÃÖ¼ÒÈ­ÇÏ´Â ¹æ¹ýµîÀ» »ç¿ëÇϱâ´Â ÇÏÁö¸¸  
            SUIDÀÚü°¡ ¸Å¿ì ½Ã½ºÅÛ °ü¸®Àû Ãø¸é¿¡¼­ ¸Å¿ì À§ÇèÇÒ ¼ö ÀÖ´Ù. 
        </para> 
        <para> 
            ±×·¡¼­ ½Ã½ºÅÛ °ü¸®ÀÚ´Â SUID°¡ ÀÖ´Â ÇÁ·Î±×·¥¿¡ ´ëÇØ¼­ ¸Å¿ì ¹Î°¨ÇÏ°Ô  
            ¹ÝÀÀÇÏ¸ç ¸¹Àº °æ¿ì cronµîÀ» ÅëÇØ¼­ SUIDÀÇ ÇÁ·Î±×·¥ÀÌ ÀÖ´ÂÁö Áö¼ÓÀûÀ¸·Î  
            È®ÀÎÇÑ´Ù. ½Ã½ºÅÛÀÌ ´©±º°¡ÀÇ Ä§ÀÔÀ» ¹ÞÀº ÈçÀûÀÌ ÀÖÀ» °æ¿ì SUID°Ë»ç´Â  
            Çʼö ÀûÀ¸·Î ÀÌ·ç¾îÁø´Ù.   
            <screen> 
[root@localhost /bin]# find ./ -type f -perm +4000 
./ping 
./mount 
./umount 
./su 
            </screen> 
            À§´Â ÇÊÀÚÀÇ ½Ã½ºÅÛ(Linux Kernel 2.4.x)¿¡¼­ /bin µð·ºÅ丮 ¹Ø¿¡  
            SUID¼³Á¤µÈ ÇÁ·Î±×·¥À» ãÀº °á°úÀÌ´Ù.   
        </para> 
        <para> 
            ±×·¯³ª ÀÌ·¯ÇÑ ¹®Á¦Á¡¿¡µµ ºÒ±¸Çϰí su, ping°ú °°ÀÌ ¹Ýµå½Ã ÇÊ¿äÇÑ  
            °æ¿ìµµ ÀÖÀ¸¹Ç·Î °¡´ÉÇϸé SUID¸¦ »ç¿ëÇÏÁö ¾Êµµ·Ï ÇÏ¸é   
            ÇÊ¿äÇÒ °æ¿ì ÃÖ´ëÇÑ ¾ÈÀüÇÏ°Ô ÄÚµùÇϵµ·Ï ÇØ¾ßÇÑ´Ù.  
            <tip> 
            <para> 
                ping°°Àº °æ¿ì RAW¼ÒÄÏ¿¡ Á¢±ÙÇØ¾ß Çϴµ¥, ÀÌ·² °æ¿ì ½´ÆÛÀ¯Àú  
                ±ÇÇÑÀ» ÇÊ¿ä·Î ÇÑ´Ù. ±×·¯³ª ÀÌ·¸°Ô µÉ°æ¿ì ping¸¦ »ç¿ëÇÒ ¶§ ¸¶´Ù  
                root·Î ½ºÀ§Äª À¯Àú ÇØ¾ß Çϴµ¥ ÀÌ·± ´Ü¼øÇÑ ÀÛ¾÷À» À§Çؼ­´Â  
                ³Ê¹« ¹ø°Å·Î¿î °úÁ¤À» °ÅÃÄ¾ß ÇÑ´Ù. SUID¸¦ ÇØ°áÇÏ¸é °£´ÜÇÏ°Ô  
                ¹ø°Å·Î¿òÀ» ÇØ°áÇÒ ¼ö ÀÖ´Ù.   
            </para> 
            </tip> 
            ¾ÈÀüÇÑ ÄÚµùÀ» À§ÇÑ ÀϹÝÀûÀÎ ¹æ¹ýÀº 
            setuid()¸¦ ÅëÇØ¼­ ½´ÆÛ À¯Àú ±ÇÇÑÀ» ¾ò¾ú´Ù¸é ½´ÆÛÀ¯Àú ±ÇÇÑÀÌ  
            ÇÊ¿äÇÑ ÃÖ¼ÒÇÑÀÇ ÀÛ¾÷À» ³¡³»°í °ð¹Ù·Î setuid()¸¦ ÀÌ¿ëÇØ¼­ ¿ø·¡ÀÇ  
            À¯Àú±ÇÇÑÀ¸·Î ȸ±ÍÇϵµ·Ï ÄÚµùÇÏ´Â °ÍÀÌ´Ù.  
            <screen> 
int main() 
{ 
   ...  
   int myuid; 
   myuid = getuid(); // ÇöÀç À¯ÀúÀÇ uid¸¦ ÀúÀå 
   setuid(0);        // ½´ÆÛÀ¯Àú ±ÇÇÑÀ» ¾ò´Â´Ù. 
   ...               // ÃÖ¼ÒÇÑÀÇ ÇÊ¿äÇÑ ÀÛ¾÷¸¸À» ÇÑ´Ù. 
   ... 
   setuid(myuid);    // ¿ø·¡ À¯Àú±ÇÇÑÀ¸·Î µÇµ¹¾Æ ¿Â´Ù.  
} 
            </screen> 
            ´õ¿í ¾ÈÀüÇÑ ÇÁ·Î±×·¥ÀÇ ÀÛ¼ºÀ» ¿øÇÑ´Ù¸é setuid()¸¦ È£ÃâÇϱâ Àü¿¡  
            ÇØ´ç À¯Àú¿¡ ´ëÇÑ ÆÐ½º¿öµå¸¦ üũÇÏ´Â Äڵ带 Ãß°¡ÇÏ¸é µÉ °ÍÀÌ´Ù.  
        </para> 
        <para> 
            ½Ã°£ÀÌ µÈ´Ù¸é À§ÀÇ ¿¹Á¦¸¦ ÆÐ½º¿öµå üũ°¡ °¡´ÉÇϵµ·Ï º¯°æÇØ  
            º¸±â ¹Ù¶õ´Ù.   
        </para> 
    </section> 
</section> 
 
<section> 
    <title>¿ÜºÎ ¸í·É¾îÀÇ ½ÇÇà</title> 
    <para> 
        ÇÁ·Î±×·¥À» ÀÛ¼ºÇÏ´Ù º¸¸é Á¾Á¾ ¿ÜºÎÀÇ ´Ù¸¥ ÇÁ·Î±×·¥À» ½ÇÇà½ÃÄÑ¾ß  
        ÇÒ °æ¿ì°¡ ¹ß»ýÇÑ´Ù. °¡Àå ÈçÇÑ ¿¹´Â ÇÁ·Î±×·¥³»¿¡¼­ ¸ÞÀÏÀ» Àü¼ÛÇ챉  
        À§Çؼ­ ¿ÜºÎ ÇÁ·Î±×·¥ÀÎ mailÀ» ½ÇÇàÇÏ´Â °æ¿ì°¡ µÉ °ÍÀÌ´Ù. ÀÌ·² °æ¿ì  
        °¡Àå À¯¿ëÇÏ°Ô »ç¿ëÇÏ´Â ÇÔ¼ö´Â system(3)ÇÔ¼ö ÀÌ´Ù.   
        <screen> 
#include <stdlib.h> 
 
int system (const char *string); 
        </screen> 
    </para> 
    <section> 
        <title>À§ÇèÇÑ system()ÇÔ¼öÀÇ »ç¿ë</title> 
        <para> 
        </para> 
    </section> 
</section> 
 
</article> 
 
EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù.