Home Map Index Search News Archives Links About LF
[Top Bar]
[Bottom Bar]
[Photo of the Author]
Guido Socher 

ÀúÀÚ¿¡ ´ëÇØ: ¸®´ª½º°¡ ¹«·áÀÌ°í ¸®´ª½º °øµ¿Ã¼¿¡ ÀÖ´Â Àü¼¼°è ¸¹Àº »ç¶÷µé°ú ÇÔ²² ÀÏÇÒ ¼ö Àֱ⠶§¹®¿¡ ±×´Â ¸®´ª½º¸¦ »ç¶ûÇÑ´Ù. ±×´Â ¿©À¯½Ã°£¿¡´Â ±×ÀÇ ¿©ÀÚ Ä£±¸¿Í º¸³»°Å³ª BBC ¶óµð¿À ¹æ¼ÛÀ» µè°Å³ª ±×ÀÇ ÀÚÀü°Å¸¦ Ÿ°í ±³¿Ü¸¦ ³ª°¡°Å³ª ¸®´ª½º¿Í ³ë´Â °ÍÀ» Áñ±ä´Ù. 

ÀúÀÚ¿¡°Ô ÆíÁö

¸ñÂ÷
±âº» ÆÄÀÏ Á¢±Ù ±ÇÇÑ
T-bits, SUID¿Í SGID

ÆÄÀÏ Á¢±Ù ±ÇÇÑ

[chmod 600]

¿ä¾à: ÀÌ ±â»ç´Â µÎ ºÎºÐÀ¸·Î ³ª´²Á® ÀÖ´Ù: 

  • ù ¹ø°ÀÎ (±âº» ÆÄÀÏ Á¢±Ù ±ÇÇÑ)Àº À¯´Ð½º ±â¹Ý¿¡¼­ÀÇ ±âº»ÀûÀÎ ÆÄÀÏ Á¢±Ù ±ÇÇÑÀÇ °³³äÀ» ¸Å¿ì °£´ÜÇÏ°Ô ¼Ò°³ÀÌ´Ù.
  • µÎ ¹ø°ÀÎ (T-bit, SUID¿Í SGID)´Â ±âº»ÀûÀÎ "Àбâ-¾²±â-½ÇÇà" Ç÷¡±×¸¦ ³Ñ¾î¼­´Â º¸´Ù °³¼±µÈ ±â´ÉÀ» ¼³¸íÀÌ´Ù.  


  • ±âº» ÆÄÀÏ Á¢±Ù ±ÇÇÑ

    ¸®´ª½º´Â »ç¿ëÀÚ°¡ ´Ù¸¥ Á¢±Ù ±ÇÇÑÀ» ±×µéÀÌ ÆÄÀÏ¿¡ Á¤ÇØÁÙ ¼ö ÀÖ´Â ¸ÖƼÀ¯Àú ½Ã½ºÅÛÀÌ´Ù. ¸ðµç »ç¿ëÀÚ´Â ±×µéÀÇ ±¸ºÐ Áþ´Â »ç¿ëÀÚ ¾ÆÀ̵ð¿Í °íÀ¯ ¹øÈ£¸¦ °¡Áö°í ÀÖ´Ù. ¶Ç »ç¿ëÀÚµéÀº Çϳª ¶Ç´Â ¿©·µÀÇ ±×·ì¿¡µµ ¼ÓÇØÀÖ´Ù. ÀÌ ±×·ìµéÀº ¸î ¸î »ç¿ëÀÚ ±×·ìÀÇ Á¢±Ù Á¦ÇÑ¿¡ »ç¿ëµÇ¾îÁú ¼ö ÀÖ´Ù. ÀÌ°ÍÀÇ ÀÌÁ¡Àº ¿©·¯ ÀÛ¾÷ÀÚµéÀÇ ÆÀ ÀÛ¾÷À» ½±°Ô ÇÑ´Ù. ÀÚ½ÅÀÇ ¾ÆÀ̵ð¿Í ¼ÓÇØ ÀÖ´Â ±×·ìÀº 'id'¸í·ÉÀ» »ç¿ëÇÑ´Ù:

     
    >id 
    uid=550(alice)  gid=100(users)  groups=100(users),6(disk)

    Á¢±Ù ±ÇÇÑÀº °¢ ÆÄÀϸ¶´Ù ¼ÒÀ¯ÀÚ(user), ±×·ì(group) ±×¸®°í ´Ù¸¥ »ç¿ëÀÚ(others)¿¡ ´ëÇØ ±âº»ÀûÀÎ Àбâ(r), ¾²±â(w)¿Í ½ÇÇà(x) ±ÇÇÑÀ» ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. "ls -l" ¸í·ÉÀ¸·Î ÀÌ ±ÇÇÑÀ» È®ÀÎÇÒ ¼ö ÀÖ´Ù.
     

    >ls -l   /usr/bin/id 
    -rwxr-xr-x    1 root   root    8632 May 9 1998 /usr/bin/id

    ÆÄÀÏ "/usr/bin/id"´Â »ç¿ëÀÚ°¡ rootÀÌ°í root ±×·ì¿¡ ¼ÓÇØ ÀÖ´Ù. 

     -rwxr-xr-x 
    À§ÀÇ Ç¥½Ã´Â ÆÄÀÏ Á¢±Ù ±ÇÇÑÀ» º¸¿©ÁØ´Ù. ÀÌ ÆÄÀÏÀº ¼ÒÀ¯ÀÚ¿¡ ´ëÇØ Àб⠰¡´É(r), ¾²±â °¡´É(w) ±×¸®°í ½ÇÇà °¡´É(x) ÇÏ´Ù. ±×·ì°ú ´Ù¸¥ »ç¿ëÀÚ´Â Àбâ(r)¿Í ½ÇÇà(x)ÀÌ °¡´ÉÇÏ´Ù.

    °¢ ¼ÒÀ¯ÀÚ, ±×·ì°ú ´Ù¸¥ »ç¿ëÀÚÀÇ À§Ä¡¿¡ ÀÖ´Â 3ºñÆ®ÀÇ Ç¥½Ã·Î¼­ Á¢±Ù ±ÇÇÑÀ» À¯ÃßÇÒ ¼ö°¡ ÀÖ´Ù. r-x´Â ºñÆ® ÆÐÅÏÀ¸·ÎÀÇ 101³ª ½ÊÁø¼ö·ÎÀÇ 4+1=5¿Í ÀÏÄ¡ÇÑ´Ù. r-bit´Â ½ÊÁø¼ö 4¿¡ w-bit´Â 2¿¡ x-bit´Â 1¿¡ ´ëÀÀµÈ´Ù. 
     

    sst 
    421 
    (discussed 
    later) 
    rwx
    421 
    user 
    (owner) 
    rwx
    421 
    group 
     
    rwx
    421 
    others 
     

    chmod ¸í·ÉÀ¸·Î ÀÌ·± ±ÇÇÑÀ» ¹Ù²Ü ¼ö°¡ ÀÖ´Ù. º¸¾È¿¡ ÀÇÇØ ´ÜÁö root¿Í ÆÄÀÏÀÇ ¼ÒÀ¯ÀÚ¸¸ÀÌ ±ÇÇÑÀ» º¯°æÇÒ ¼ö°¡ ÀÖ´Ù. ±ÇÇÑÀÇ ¼ýÀÚ Ç¥ÇöÀ̳ª ±âÈ£ Ç¥Çö ¸ðµÎ chmod¿¡ »ç¿ëµÇ¾îÁú ¼ö ÀÖ´Ù. ±âÈ£ Ç¥ÇöÀº [ugoa][+-][rwx] ÀÌ´Ù. ÀÌ°ÍÀº u (user=file owner), g (group), o(others), a(all=u and g and o)¿Í ±ÇÇÑÀ» ´õÇÒÁö »èÁ¦ÇÒÁö¸¦ °áÁ¤ÇÏ´Â + ¶Ç´Â - ±×¸®°í r(read) w(write) x(execute)¿¡¼­ ºñ·ÔµÈ ±ÇÇÑ ±âÈ£ Ç¥ÇöÀÇ ¹®ÀڷΠǥÇöµÈ °ÍÀÌ´Ù. "file.txt"À» ¸ðµÎ(all)¿¡°Ô ¾²±â °¡´É(writable)ÇÏ°Ô Çϱâ À§Çؼ­´Â:
     

    >chmod a+w   file.txt 
    or 
    >chmod 666   file.txt 
    >ls -l   file.txt 
    -rw-rw-rw-   1 alice   users   79 Jan 1 16:14 file.txt

    "chmod 644 file.txt"´Â ±× ÆÄÀÏÀÇ ±ÇÇÑÀ» ¼ÒÀ¯ÀÚ¸¸ÀÌ Àбâ+¾²±â °¡´ÉÇÏ°í ±× ¿Ü¿¡´Â ´ÜÁö Àб⸸ °¡´ÉÇÑ Á¤»óÀÇ ±ÇÇÑÀ¸·Î µ¹·Á³õ´Â´Ù. 

    ¾î´À µð·ºÅ丮·Î µé¾î°¡´Â °Í(cd ¸í·ÉÀ» ÀÌ¿ëÇÏ¿©)Àº ±× µð·ºÅ丮¸¦ ½ÇÇàÇÏ´Â °Í°ú °°´Ù. ±×·¡¼­ µð·ºÅ丮ÀÇ Á¤»ó ±ÇÇÑÀº 755ÀÌÁö 644°¡ ¾Æ´Ï´Ù: 
     

    >chmod 755   mydir 
    >ls -ld   mydir 
    drwxr-xr-x    2 alice    users    1024 Dec 31 22:32 mydir

    umask´Â »ç¿ëÀÚÀÇ ±âº» ±ÇÇÑÀ» Á¤ÀÇÇÑ´Ù. ±âº» ±ÇÇÑÀº »õ·Î¿î ÆÄÀÏ(±×¸®°í µð·ºÅ丮, µî...)µéÀÌ »ý¼ºµÉ ¶§ Àû¿ëµÈ´Ù. umask´Â »ç¿ëÀÚ°¡ ¿øÇÏÁö ¾Ê´Â °÷ÀÇ ºñÆ®¸¦ ¼¼Æ®ÇÏ°í ±×°ÍÀ» ½ÊÁø¼ö·Î Ç¥ÇöÇÑ °ªÀ» ¸Å°³º¯¼ö·Î ¹Þ´Â´Ù. 

    ÁÁÀº ¿¹·Î¼­ "umask 022"°¡ ÀÖ´Ù. "022"·Î ¸ðµç »ç¶÷µéÀÌ ÆÄÀÏÀ» ÀÐÀ» ¼ö ÀÖ°í "cd"·Î´Â µð·ºÅ丮¸¦ º¯°æÇÒ ¼ö ÀÖÁö¸¸ ¼ÒÀ¯ÀÚ¸¸ÀÌ ±×°ÍÀ» º¯°æÇÒ ¼ö ÀÖ´Ù. ÇöÀçÀÇ umask°¡ ¾î¶»°Ô ¼³Á¤µÇ¾îÀÖ´ÂÁö ¾Ë¾Æº¸±â À§Çؼ­´Â ¾Æ¹« ¸Å°³ º¯¼ö ¾øÀÌ umask¸¦ ½ÇÇà½ÃÅ°¸é µÇ´Ù.

    ¾Æ·¡¿¡ umask¿Í chmod¸¦ »ç¿ëÇÑ ¿¹ÀÌ´Ù: 
     

    umask´Â ÁÁÀº Ç¥ÁØ °ªÀÌ´Ù 
    >umask 
    22 

    »ç¿ëÀÚÀÇ ¿¡µðÅÍ·Î myscripf¶ó´Â ÆÄÀÏÀ» ¸¸µé¾î¶ó: 
    >nedit   myscript   (or vi myscript ...)
    ¾Æ·¡ÀÇ ³»¿ëÀ» ÀÔ·ÂÇ϶ó: 

    #!/bin/sh 
    #myscript
    echo -n "hello " 
    whoami 
    echo "This file ( $0 ) has the following permissions:" 
    ls -l $0 | cut -f1 -d" " 
    À§ ½ºÅ©¸³Æ®¸¦ ÀúÀåÇ϶ó.

    ÀÌÁ¦ À§ÀÇ ÆÄÀÏÀº 644ÀÇ ±ÇÇÑÀ» °¡Á³´Ù: 
    >ls -l  myscript 
    -rw-r--r--   1 alice  users  108 Jan 1 myscript

    À§ÀÇ ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇϱâ À§Çؼ­´Â ½ÇÇà °¡´ÉÀ¸·Î ¸¸µé¾î¾ß ÇÑ´Ù: 
    >chmod 755 myscript 
    or 
    >chmod a+x myscript
    ÀÌÁ¦ ½ÇÇà½ÃÄѶó: 
    >./myscript

    ÀÏ¹Ý ÄÄÆÄÀÏµÈ ¹ÙÀ̳ʸ® ÆÄÀÏÀÌ ´ÜÁö ½ÇÇà °¡´É¸¸ ÇÊ¿äÇÏÁö¸¸ ½ºÅ©¸³Æ®´Â ¹Ýµå½Ã ÀÐ°í ½ÇÇà°¡´ÉÇÏ°Ô ²û ÇؾßÇÑ´Ù´Â °Í¿¡ ÁÖ¸ñÇ϶ó. ÀÌ°ÍÀº ½ºÅ©¸³Æ®°¡ ¹Ýµå½Ã ½©°ú °°Àº ÀÎÅÍÇÁ¸®ÅÍ¿¡ ÀÇÇØ ¹Ýµå½Ã ÀÐÇôÁ®¾ß Çϱ⠶§¹®ÀÌ´Ù. À§ÀÇ ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇÏ¸é ´ÙÀ½°ú °°ÀÌ ³ª¿Â´Ù:

    hello alice
    This file ( ./myscript ) has the following permissions:
    -rwxr-xr-x

    T-bit, SUID¿Í SGID

    Çѵ¿¾È ¸®´ª½º¿¡¼­ ÀÛ¾÷À» ÇÏ´Ùº¸¸é ¾Æ¸¶µµ "rwx" ºñÆ® ÀÌ¿Ü º¸´Ù ¸¹Àº ÆÄÀÏ ±ÇÇÑÀÌ ÀÖÀ½À» ¹ß°ßÇÒ °ÍÀÌ´Ù. »ç¿ëÀÚÀÇ ÆÄÀÏ ½Ã½ºÅÛÀ» µÑ·¯º¸¸é "s"¿Í "t"°¡ ÀÖ´Â °ÍÀ» º¼ °ÍÀÌ´Ù:
     
    >ls -ld /usr/bin/crontab  /usr/bin/passwd  /usr/sbin/sendmail  /tmp

    drwxrwxrwt   5 root   root   1024 Jan 1 17:21 /tmp 
    -rwsr-xr-x   1 root   root   0328 May 6 1998 /usr/bin/crontab 
    -r-sr-xr-x   1 root   bin     5613 Apr 27 1998 /usr/bin/passwd 
    -rwsr-sr-x   1 root   mail   89524 Dec 3 22:18 /usr/sbin/sendmail

    ÀÌ "s"¿Í "t" ºñÆ®´Â ¹«¾ùÀϱî? ÀÌ ±ÇÇÑ ºñÆ®¸¦ º¸¸é 4 * 3 ºñÆ® ±æÀÌÀÌ´Ù. »ç½Ç chmod 755´Â chmod 0755ÀÇ Ãà¼ÒµÈ ¸ð½À´Ï´Ù. 

    The t-bit 

    t-bit(°¡²û ²ö²öÀÌ ºñÆ® sticky bit ¶ó°í µµ ÇÔ)´Â µð·ºÅ丮¿Í »ç¿ëµÇ¾îÁú ¶§¿¡¸¸ÀÌ À¯¿ëÇÏ´Ù. ÀÌ°ÍÀº À§¿¡¼­ º¸´Â °Í°ú °°ÀÌ /tmp µð·ºÅ丮¿Í °°ÀÌ »ç¿ëµÇ¾îÁø´Ù. 

    ÀϹÝÀûÀ¸·Î (µð·ºÅ丮¿¡ T-bit ¼³Á¤ ¾øÀÌ) ÆÄÀϵéÀ» ´ã°í ÀÖ´Â µð·ºÅ丮°¡ ±× ÆÄÀϵéÀ» Áö¿ì·Á°í ÇÏ´Â »ç¶÷¿¡°Ô ¾²±â °¡´ÉÇÏ°Ô µÇ¾î ÀÖ´Ù¸é ±× ÆÄÀϵéÀº Áö¿öÁú ¼ö ÀÖ´Ù. ±×·¡¼­ »ç¿ëÀÚ°¡ ¾Æ¹«³ª ÆÄÀÏÀ» ³Ö¾î ³õÀ» ¼ö ÀÖ´Â µð·ºÅ丮¸¦ °¡Áö°í ÀÖ´Ù¸é ¾î´À ´©±¸³ª ´Ù¸¥ »ç¶÷ÀÇ ÆÄÀÏÀ» Áö¿ï ¼ö ÀÖ´Ù.

    T-bit´Â ¹Ù·Î ÀÌ ±ÔÄ¢À» ¹Ù²Û´Ù. T-bit¸¦ ¼³Á¤ÇÏ¸é ±× µð·ºÅ丮ÀÇ ¼ÒÀ¯ÀÚ¿Í ÆÄÀÏÀÇ ¼ÒÀ¯ÀÚ¸¸ÀÌ ±× ÆÄÀÏÀ» Áö¿ï ¼ö ÀÖ´Ù. chmod a+tw³ª chmod 1777·Î T-bit¸¦ ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. ¿¹¸¦ µé¸é:
     

    Alice°¡ T-bit°¡ ¼³Á¤µÈ µð·ºÅ丮¸¦ ¸¸µç´Ù: 
    >mkdir mytmp 
    chmod 1777 mytmp

    BobÀÌ ÇÑ ÆÄÀÏÀ» µð·ºÅ丮¿¡ ³Ö´Â´Ù: 
    >ls -al 
    drwxrwxrwt   3 alice    users  1024 Jan  1 20:30 ./
    -rw-r--r--  1 bob   users     0 Jan  1 20:31 f.txt

    ÀÌ ÆÄÀÏÀº Alice (µð·ºÅ丮 ¼ÒÀ¯ÀÚ)¿Í and Bob (ÆÄÀÏ ¼ÒÀ¯ÀÚ)¿¡ ÀÇÇؼ­ Áö¿öÁú ¼ö ÀÖ´Ù. ±×·¯³ª Tux¿¡ ÀÇÇؼ­´Â Áö¿öÁú ¼ö ¾ø´Ù:
    >whoami 
    tux 
    >rm -f f.txt 
    rm: f.txt: Operation not permitted

    S-bit »ç¿ëÀÚ¿¡°Ô ¼³Á¤

    ¸®´ª½º¿¡¼­ ÇÁ·Î¼¼½ºµéÀº »ç¿ëÀÚ ¾ÆÀ̵𸦠±â¹ÝÀ¸·Î ½ÇÇàµÈ´Ù. ÀÌ°ÍÀº »ç¿ëÀÚµéÀÌ Á¢±ÙÇÒ °¡´É¼ºÀÌ ÀÖ´Â ÀÚ¿ø(ÆÄÀÏ µî)¿¡ »ç¿ëÀÚµéÀÌ Á¢±ÙÇÒ ¼ö ÀÖ°Ô ÇÑ´Ù. ½ÇÁ¦ »ç¿ëÀÚ ¾ÆÀ̵ð(real user-ID)¿Í À¯È¿ »ç¿ëÀÚ ¾ÆÀ̵ð(effective user-ID)ÀÇ 2°¡Áö »ç¿ëÀÚ ¾ÆÀ̵𰡠ÀÖ´Ù. À¯È¿ »ç¿ëÀÚ ¾ÆÀ̵𰡠ÆÄÀϵ鿡 ´ëÇÑ Á¢±ÙÀ» Á¾·áÇÏ°Ô ÇÑ´Ù. ¾Æ·¡ÀÇ ½ºÅ©¸³Æ®¸¦ idinfo¶ó´Â À̸§À¸·Î ÀúÀåÇÏ°í ½ÇÇà °¡´ÉÇÏ°Ô ¸¸µé¾î¶ó (chmod 755 idinfo).
     

    #!/bin/sh 
    #idinfo: Print user information
    echo " effective user-ID:" 
    id -un 
    echo " real user-ID:" 
    id -unr 
    echo " group ID:" 
    id -gn 

    ½ÇÇà½ÃÅ°¸é ÇÁ·Î¼¼½º°¡ ½ÇÇàµÇ´Â »ç¿ëÀÚ ¾ÆÀ̵ð¿Í »ç¿ëÀÚÀÇ ±×·ì ¾ÆÀ̵𸦠º¼ ¼ö ÀÖÀ» °ÍÀÌ´Ù:

     effective user-ID:
    alice
     real user-ID:
    alice
     group ID:
    users
    Tux°¡ ´ç½ÅÀÇ idinfo ÇÁ·Î±×·¥À» ½ÇÇàÇϸé TuxÀÇ ¾ÆÀ̵ð·Î µ¹¾Æ°¡´Â ÇÁ·Î¼¼½º¸¦ º¸¿©ÁÖ´Â ºñ½ÁÇÑ °á°ú¸¦ ¾òÀ» °ÍÀÌ´Ù. ÀÌ ÇÁ·Î±×·¥ÀÇ °á°ú´Â ÆÄÀÏÀ» ¼ÒÀ¯ÇÑ »ç¶÷¿¡ ¿µÇâÀ» ¹Þ´Â °ÍÀÌ ¾Æ´Ï¶ó ÆÄÀÏÀ» ½ÇÇàÇÑ »ç¶÷¿¡ ÀÇ¿¡ ¿µÇâÀ» ¹Þ´Â´Ù.

    º¸¾ÈÀÇ ÀÌÀ¯·Î S-bit´Â ½ºÅ©¸³Æ®µé(perl ½ºÅ©¸³Æ®´Â Á¦¿Ü)¿¡¼­´Â ÀÛµ¿ÀÌ ¾ÈµÇ°í ´ÜÁö ¹ÙÀ̳ʸ®(ÄÄÆÄÀÏ µÈ ÄÚµå)¿¡¸¸ ÀÛµ¿µÈ´Ù. ±×·¯¹Ç·Î ¿ì¸®´Â idinfo ÇÁ·Î±×·¥À» C ÇÁ·Î±×·¥À¸·Î ¸¸µé¾î¾ß ÇÑ´Ù:
     

    /*suidtest.c*/ 
    #include <stdio.h> 
    #include <unistd.h> 
    int main(){ 
    /*secure SUID programs MUST 
    *not trust any user input or environment variable!! */ 

    char *env[]={"PATH=/bin:/usr/bin",NULL};
    char prog[]="/home/alice/idinfo"; 
    if (access(prog,X_OK)){ 
        fprintf(stderr,"ERROR: %s not executable\n",prog);
        exit(1); 

    printf("running now %s ...\n",prog); 
    execle(prog,(const char*)NULL,env);
    perror("suidtest"); 

    return(1); 

    À§ÀÇ ÇÁ·Î±×·¥À» "gcc -o suidtest -Wall suidtest.c"·Î ÄÄÆÄÀÏÇÏ°í S-bit¸¦ »ç¿ëÀÚ¿¡°Ô ¼³Á¤Ç϶ó:


     
    >chmod 4755   suidtest 
    or 
    >chmod u+s   suidtest

    À§ÀÇ ÇÁ·Î±×·¥À» ½ÇÇàÇ϶ó! ¾î¶² ÀÏÀÌ ÀϾ´Â°¡? ¾Æ¹« Àϵµ ¾È ÀϾ³ª? ´Ù¸¥ »ç¿ëÀÚ·Î ÀÌ ÇÁ·Î±×·¥À» ½ÇÇàÇ϶ó!

    suidtest ÆÄÀÏÀº alice ÀÇÇØ ¼ÒÀ¯µÇ¾îÁ® ÀÖ°í, Á¤»óÀûÀ¸·Î ÆÄÀÏ ¼ÒÀ¯ÀÚ¸¦ À§ÇØ ¼³Á¤µÇ¾îÁ®¾ß ÇÒ °÷¿¡ x°¡ ¼³Á¤µÈ S-bit¸¦ °¡Áö°í ÀÖ´Ù. ÀÌ°ÍÀº ±× ÆÄÀÏÀ» ½ÇÇàÇÏ´Â »ç¿ëÀÚº¸´Ù´Â ÆÄÀÏÀ» ¼ÒÀ¯ÇÏ°í ÀÖ´Â »ç¿ëÀÚÀÇ À¯È¿ »ç¿ëÀÚ ¾ÆÀ̵𿡠ÀÇÇØ ½ÇÇàµÇ°Ô²û ÇÑ´Ù. ¸¸ÀÏ Tux°¡ ÀÌ ÇÁ·Î±×·¥À» ½ÇÇà½ÃÅ°¸é ´ÙÀ½°ú °°ÀÌ µÈ´Ù:
     

    >ls -l suidtest 
    -rwsr-xr-x   1 alice   users   4741 Jan 1 21:53 suidtest 
    >whoami 
    tux 

    running now /home/alice/idinfo ... 
    effective user-ID: 
    alice
    real user-ID: 
    tux
    group ID: 
    users 

    º¸´Ù½ÃÇÇ root°¡ S-bit¸¦ °¡Áö°í ÀÖ´Â ÆÄÀÏÀ» ¼ÒÀ¯ÇÏ°í ÀÖÀ» ¶§ Ưº°È÷ ¾ÆÁÖ °­·ÂÇÑ ±â´ÉÀÌ´Ù. ¾î´À »ç¿ëÀÚµµ ´ÜÁö root¸¸ÀÌ ÇÒ ¼ö ÀÖ´Â ÀÏÀ» ÇÒ ¼ö ÀÖ´Ù. º¸¾ÈÀ» Á¶±Ý »ý°¢ÇÏ°í ¾ê±âÇÏÀÚ¸é, »ç¿ëÀÚ°¡ SUID ÇÁ·Î±×·¥À» ÀÛ¼ºÇÒ ¶§¿¡´Â »ç¿ëÀÚ°¡ ²À ÀǵµÇÏ´Â µ¥·Î »ç¿ëµÇ¾îÁú ¼ö ÀÖ´ÂÁö ¹Ýµå½Ã È®ÀÎÇØ¾ß ÇÑ´Ù. ȯ°æº¯¼ö³ª ȯ°æ º¯¼ö¸¦ »ç¿ëÇÏ´Â ÇÔ¼ö¿¡ ÀÇÁ¸ÇÏÁö ¸»°í Ç×»ó ÄÚµå »ó¿¡¼­ È®½ÇÇÏ°Ô °æ·Î¸¦ ¼³Á¤ÇØ¾ß ÇÑ´Ù. °áÄÚ »ç¿ëÀÚÀÇ ÀÔ·Â(config ÆÄÀÏ, command line ¸Å°³ º¯¼ö ...) À» ¹ÏÁö ¸¶¶ó. »ç¿ëÀÚÀÇ ÀÔ·ÂÀ» ¹ÙÀÌÆ®¸¶´Ù °Ë»çÇÏ°í ´ç½ÅÀÌ À¯È¿ÇÏ´Ù°í »ý°¢ÇÏ´Â °ª°ú ºñ±³Çضó.

    SUID ÇÁ·Î±×·¥ÀÌ root¿¡ ÀÇÇØ ¼ÒÀ¯µÇ¾î ÀÖÀ¸¸é À¯È¿ »ç¿ëÀÚ ¾ÆÀ̵ð¿Í ½ÇÁ¦ »ç¿ëÀÚ ¾ÆÀ̵ð ¸ðµÎ°¡ (setreuid() ÇÔ¼ö¸¦ »ç¿ëÇÏ¿©) ¼³Á¤µÇ¾îÁú ¼ö ÀÖ´Ù

    Set-UID ÇÁ·Î±×·¥µéÀº ÈçÈ÷ root¿¡ ÀÇÇØ ÀϹÝÀûÀ¸·Î´Â root¸¸ÀÌ ÇÒ ¼ö ÀÖ´Â ÀÏÀ» ÀÏ¹Ý »ç¿ëÀÚµéÀÌ ÇÒ ¼ö ÀÖ°Ô Çϴµ¥ »ç¿ëµÇ¾îÁø´Ù. root·Î¼­ ´ç½ÅÀº ´ç½ÅÀÇ ½Ã½ºÅÛ¿¡ ÀÖ´Â ¾î¶² »ç¿ëÀÚ³ª ´ç½ÅÀÇ ppp-on/ppp-off ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇÒ ¼ö ÀÖ°Ô suidtest.c ¸¦ º¯°æÇÒ ¼ö ÀÖ´Ù.

    S-bit ±×·ì¿¡ ¼³Á¤

    S-bit°¡ ±×·ì¿¡ ´ëÇØ ¼³Á¤µÈ ½ÇÇà °¡´ÉÇÑ ÆÄÀÏÀº »ç¿ëÀÚÀÇ ±×·ì ¾ÆÀ̵ð ±â¹Ý¿¡¼­ ½ÇÇàµÈ´Ù. ÀÌ°ÍÀº À§¿¡¼­ ¼³¸íÇÑ »ç¿ëÀÚ¿¡ ´ëÇÑ S-bit¿Í ¸Å¿ì À¯»çÇÏ´Ù.

    S-bit°¡ ÇÑ µð·ºÅ丮ÀÇ ±×·ì¿¡ ´ëÇØ ¼³Á¤µÇ¾î ÀÖ´Ù¸é ±× ¼³Á¤Àº ±× µð·ºÅ丮¿¡¼­ ¸¸µé¾îÁö´Â ¸ðµç ÆÄÀÏ¿¡ ¼³Á¤ÀÌ µÈ´Ù. Alice´Â 2°³ÀÇ ±×·ì¿¡ ¼ÓÇØ ÀÖ´Ù:
     

    >id 
    uid=550(alice)  gid=100(users)  groups=100(users),6(disk)

    ÀϹÝÀûÀ¸·Î ±×³à°¡ ¸¸µå´Â ÆÄÀϵéÀÇ ±×·ìÀº users·Î ¼³Á¤µÈ´Ù. ±×·¯³ª µð·ºÅ丮°¡ disk ±×·ìÀ¸·Î ¸¸µé¾îÁ® ÀÖ°í ±× ±×·ì¿¡ ´ëÇØ S-bit°¡ ¼³Á¤ÀÌ µÇ¾î ÀÖ´Ù¸é ¸¸µé¾î Áö´Â ¸ðµç ÆÄÀÏµé ¿ª½Ã disk ±×·ì ¾ÆÀ̵𸦠°¡Áø´Ù:
     

    >chmod 2775 . 
    >ls -ld .
    drwxrwsr-x  3 tux   disk     1024 Jan 1 23:02 .

    ¸¸ÀÏ Alice°¡ Áö±ÝºÎÅÍ »õ·Î¿î ÆÄÀÏÀ» ÀÌ µð·ºÅ丮¿¡¼­ ¸¸µç´Ù¸é ±× ÆÄÀϵéÀÇ ±×·ìÀº ¸ðµÎ disk·Î ¼³Á¤ÀÌ µÉ °ÍÀÌ´Ù.
    >touch newfile
    >ls -l newfile
    -rw-r--r--   1 alice    disk      0 Jan 1 23:02 newfile 

    ÀÌ ±â´ÉÀº ´ç½ÅÀÌ ¾î´À ÆÀ¿¡¼­ ¿©·¯ »ç¶÷µé°ú °°ÀÌ ÀÛ¾÷À» ÇÏ°í ±× ÆÀÀÌ ÀÛ¾÷ÇÏ´Â µð·ºÅ丮 ¾ÈÀÇ ÆÄÀϵ鿡´Â ¸ðµÎ ¿Ã¹Ù¸¥ ±×·ìÀÌ ¼³Á¤µÉ ¼ö ÀÖ°Ô ÇÏ´Â ÁÁÀº ±â´ÉÀÌ´Ù. ƯÈ÷ ±×·ì ÀÌ¿Ü »ç¶÷µéÀÇ Á¢±ÙÀ» ¸·À» ¼ö ÀÖ°Ô ÇÏ´Â 027 umask°¡ »ç¿ëÀڵ鿡°Ô ¼³Á¤µÇ¾î Àִ ȯ°æ¿¡¼­ À¯¿ëÇÏ´Ù.


    ¹ø¿ª : äÈñÁÖ

    º» À¥½ÎÀÌÆ®´ÂMiguel Angel Sepulveda´ÔÀÌ °ü¸®ÇÕ´Ï´Ù.
    © Guido Socher 1999
    LinuxFocus 1999