·Î±×ÀÎ | ȸ¿ø°¡ÀÔ (´º½º·¹ÅͽÅû) | SITEMAP
   
  °³¹ß   Ç÷§Æû   ½Ã½ºÅÛ   ¸Å´ÏÁö¸ÕÆ®   Àüü±â»ç  
ÀÚ¹Ù
´å³Ý
C/C++
DB
¸ðµ¨¸µ
À¥°³¹ß
±âŸ
À¯´Ð½º/¸®´ª½º
À©µµ¿ì
±âŸ
¼­¹ö
³×Æ®¿öÅ©
º¸¾È
±âŸ
BM
PM
±âŸ
 
±â»çÀúÀå
0
 
¸¶ÀÌ ½ºÅ©·¦
[óÀ½ºÎÅÍ ´Ù½Ã ¹è¿ì´Â ¸®´ª½º] ¨è °í±Þ ¸í·É°ú ½Ã½ºÅÛ °ü¸®

¼ÕÁ¤¿ì   2004/11/08
¿¬Àç¼ø¼­
1ȸ. °³¹ßÀÚ¸¦ À§ÇÑ ¸®´ª½º ¼³Ä¡¿Í ±âº» ¸í·É¾î
2ȸ. °í±Þ ¸®´ª½º ¸í·É¾î¿Í Áß¿ä ½Ã½ºÅÛ °ü¸®
3ȸ. °³¹ßÀÚ¸¦ À§ÇÑ vim ÆíÁý±â »ç¿ë¹ý
4ȸ. ¿ÀǼҽº ÇÁ·ÎÁ§Æ®ÀÇ Çʼö °³¹ßÅø Ȱ¿ë <³¡>
[Áöµð³ÝÄÚ¸®¾Æ]Áö³­ È£¿¡ À̾î À̹ø È£¿¡¼­´Â ¸®´ª½º¸¦ ¼³Ä¡ ÇÑ ´ÙÀ½ ¼÷ÁöÇØ¾ß ÇÒ ¸®´ª½º ½Ã½ºÅÛÀÇ Æ¯¼ºÀ» »ìÆìº¸±â·Î ÇÑ´Ù. ÇÊÀÚ °³ÀÎÀûÀÎ °æÇèÀ¸·Î´Â ¸®´ª½º ½Ã½ºÅÛÀÇ ¿©·¯ ÅäÇȵé Áß¿¡¼­ ¸®´ª½º¸¦ ¸¹ÀÌ ½á º¸Áö ¾ÊÀº »ç¶÷µéÀÌ Á¶±Ý ´çȤÇÒ ¼ö ÀÖ´Â ºÎºÐÀÌ ¸®´ª½ºÀÇ º¸¾È ½Ã½ºÅÛÀ̶ó°í »ý°¢ÇÑ´Ù. ½ÇÁ¦, À©µµ¿ì´Â ÃÖ±Ù À©µµ¿ì 2000, XP¿¡ ¿Í¼­¾ß ¸ÖƼÀ¯ÀúÀÇ °³³äÀÌ Á¦´ë·Î Á¤ÂøµÇ¾î ³ª°¡°í ÀÖ´Â ¼ÀÀÌÁö¸¸ ¸®´ª½º´Â ¾ÖÃʺÎÅÍ ¸ÖƼÀ¯ÀúÀÇ °³³ä¿¡¼­ ¼³°è°¡ µÇ¾ú°í ¶Ç ±×·¸°Ô ¿î¿µµÇ´Â ½Ã½ºÅÛÀÌ´Ù.

¸ÖƼÀ¯Àú ¿î¿µÃ¼Á¦¿¡¼­´Â ÀÚ¿¬½º·´°Ô »ç¿ëÀÚ°£ÀÇ ÆÄÀÏ Á¢±Ù ±ÇÇÑÀ̶óµç°¡ º¸¾È ¹®Á¦°¡ ºÎ»óÇÏ°Ô µÈ´Ù. ´ëºÎºÐÀÇ ¸®´ª½º »ç¿ëÀÚµéÀÌ Ã³À½¿¡´Â À©µµ¿ì¸¦ ¾²´Â °æ¿ì°¡ ¸¹Àº ±î´ß¿¡ ¸ÖƼÀ¯Àú ½Ã½ºÅÛÀº ³¸¼³°Ô ´À²¸Áú ¼ö¹Û¿¡ ¾øÀ¸¸ç À¥ ¼­¹ö ÇÁ·Î±×·¡¹ÖÀÌ ¸¹Àº ¿äÁîÀ½ÀÇ Æ¯¼º»ó º¸¾ÈÀÇ ±âÃʰ¡ µÇ´Â ¸®´ª½ºÀÇ ÆÄÀÏ Á¢±Ù ±ÇÇÑ(permission)°ú ¼ÒÀ¯±Ç(ownership)¿¡ ´ëÇÑ Áö½ÄÀº ´Ü´ÜÈ÷ ´ÙÁ®³õ°í ³Ñ¾î°¡µµ·Ï ÇÏÀÚ.

ÆÄÀÏ Á¢±Ù ±ÇÇѰú ¼ÒÀ¯±Ç
À¯´Ð½ºÀÇ ½ÉÇÃÇÑ ¼³°è öÇÐÀº ÆÄÀÏ ¼ÒÀ¯±Ç¿¡µµ ¹Ý¿µµÇ¾î Àִµ¥ ¿ì¼± À¯´Ð½ºÀÇ ÆÄÀÏÀº Àбâ(read), ¾²±â(write), ½ÇÇàÇϱâ(execute) ¼¼ °¡ÁöÀÇ ±â´ÉÀ» ¼öÇàÇÒ ¼ö ÀÖ´Ù. ¿©±â¼­ Àá±ñ ÁÖÀÇÇÒ °ÍÀº cd ¸í·ÉÀ¸·Î µð·ºÅ丮¸¦ ¹Ù²Ù¾î µé¾î°¥ ¼ö ÀÖ´Â ±ÇÇÑÀº ½ÇÇàÇϱ⿡ ÇØ´çÇÑ´Ù´Â °ÍÀÌ´Ù.

À¯´Ð½º ÂÊÀÇ ÆÄÀÏ ¼ÒÀ¯±ÇÀº ¿ì¼± »ç¿ëÀÚ(user), ±×·ì(group), ±×¸®°í ±× ¿ÜÀÇ »ç¶÷µé(others)ÀÇ °üÁ¡À¸·Î ³ª´©¾îÁø´Ù. Áï, ÆÄÀÏ Çϳª¿¡ ´ëÇØ¼­ »ç¿ëÀÚ, ±×·ì, ±×¸®°í ±× ¿ÜÀÇ »ç¶÷µéÀº °¢±â ´Ù¸¥ Á¢±Ù ±ÇÇÑÀ» °¡Áú ¼ö ÀÖµµ·Ï ¼³°èµÇ¾î ÀÖ´Ù. ´ÙÀ½À» º¸ÀÚ.

r w x   r w x   r w x
4 2 1   4 2 1   4 2 1   (2^2, 2^1, 2^0)
O O O | O O O | O O O
user    group   others

À¯´Ð½ºÀÇ ÆÄÀÏ ¼ÒÀ¯±ÇÀº ÀÌ¿Í °°ÀÌ °£´ÜÈ÷ µµ½ÄÈ­ ÇØ º¼ ¼ö ÀÖ´Ù. »ç¿ëÀÚ, ±×·ì, ±× ¿ÜÀÇ »ç¶÷µé¸¶´Ù 3ºñÆ®·Î °¢°¢ read, write, executeÀÇ ½ºÀ§Ä¡¸¦ on/off ÇÒ ¼ö ÀÖ´Ù. 3ºñÆ®´Â ¼ýÀڷΠǥÇöÇØº¸¸é 0¿¡¼­ 7±îÁöÀÇ ¼ýÀÚ·Î ³ªÅ¸³¾ ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î, ¾î¶² ÆÄÀÏÀÇ ¼ÒÀ¯±ÇÀÚ¿¡°Ô Àбâ¿Í ¾²±â ±ÇÇÑÀ» ÁÖ°í ½ÍÀ¸¸é r ½ºÀ§Ä¡¿Í w ½ºÀ§Ä¡¸¦ ¿Ã¸®¸é µÇ´Ï À̰ÍÀ» ¼ýÀڷΠǥÇöÇØº¸¸é 4+2+0=6ÀÌ µÈ´Ù. ¸¶Âù°¡Áö·Î Àбâ¿Í ½ÇÇà ±ÇÇѸ¸ ÁÖ°í ½Í´Ù¸é r ½ºÀ§Ä¡¿Í x ½ºÀ§Ä¡¸¦ ¿Ã·Á¼­ 4+0+1=5°¡ µÈ´Ù. ÀÌ·± ¹æ½ÄÀ¸·Î À¯´Ð½ºÀÇ chmod ¸í·É¿¡¼­´Â ¼ýÀÚ¸¦ ÀÌ¿ë, ÆÄÀÏÀÇ ÆÛ¹Ì¼ÇÀ» ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. ´ÙÀ½ ¿¹¸¦ º¸¸é¼­ Á» ´õ ÀÚ¼¼È÷ »ìÆìº¸ÀÚ.

$ ls -l foobar.txt
-rw-rw----    1 mewmew   mewmew        500  6¿ù  8 23:00 foobar.txt
$ chmod 640 foobar.txt
$ ls -l foobar.txt
-rw-r-----    1 mewmew   mewmew        500  6¿ù  8 23:00 foobar.txt

Á» ´õ ÆÛ¹Ì¼ÇÀÇ ¼ýÀÚ Ç¥Çö¿¡ Ä£¼÷ÇØ Áö±â À§ÇØ Çѹø 8°¡Áö ÆÛ¹Ì¼ÇÀÇ °æ¿ì¸¦ ´Ù Àû¾îº¸¸é ´ÙÀ½°ú °°´Ù. Á¶±Ý ±ÍÂú¾Æ º¸¿©µµ Çѹø ¼Õ°¡¶ôÀ¸·Î Á÷Á¢ ²Å¾Æ°¡¸ç È®ÀÎÇØ º¸ÀÚ.

---  0 --x  1
-w- 2 -wx 3
r--   4 r-x  5
rw-  6 rwx 7

ÆÄÀÏ ¼ÒÀ¯±ÇÀÌ ¼³Á¤µÇ´Â °úÁ¤
ÀÌÁ¦ À¯´Ð½º¿¡¼­ ÆÄÀÏ ¼ÒÀ¯±ÇÀÌ ¾î¶»°Ô °áÁ¤µÇ´ÂÁö ¾Ë¾Æº¸ÀÚ. À¯´Ð½º¿¡¼­ ÆÄÀÏ ¼ÒÀ¯±ÇÀº ¿øÄ¢ÀûÀ¸·Î ±× ÆÄÀÏÀ» ¡®»ý¼ºÇÑ¡¯ À¯Àú°¡ °®°Ô µÈ´Ù. Áï, mewmew¶ó´Â À¯Àú°¡ foobar.txt¶ó´Â ÆÄÀÏÀ» Çϳª ¸¸µé¾ú´Ù°í °¡Á¤ÇÏÀÚ. À¯´Ð½º ½Ã½ºÅÛÀº µðÆúÆ®·Î »õ·ÎÀÌ »ý¼ºµÇ´Â foobar.txtÀÇ ¼ÒÀ¯ÀÚ¸¦ ÆÄÀÏÀ» »ý¼ºÇÑ mewmew·Î ¼³Á¤ÇÏ°Ô µÈ´Ù.

±× ´ÙÀ½À¸·Î À¯´Ð½º ½Ã½ºÅÛÀº foobar.txtÀÇ ±×·ì ¼ÒÀ¯±ÇÀ» °áÁ¤ÇÏ°Ô µÇ´Âµ¥ À̸¦ À§ÇØ mewmew¶ó´Â À¯Àú°¡ ¾î¶² ±×·ì¿¡ ¼ÓÇØ ÀÖ´ÂÁö¸¦ /etc/passwdÀÇ ÆÐ½º¿öµå ¿£Æ®¸®¸¦ º¸°í °áÁ¤ÇÏ°Ô µÈ´Ù. /etc/passwd¿¡ mewmew À¯Àú´Â ´ÙÀ½°ú °°ÀÌ µî·ÏµÇ¾î ÀÖ´Ù.

mewmew:x:1012:1012:,,,:/home/mewmew:/bin/bash

Ȥ /etc/passwdÀÇ ¹®¹ýÀ» Àß ¸ð¸£´Â »ç¶÷Àº ¹Ú½º ±â»ç¸¦ Âü°íÇØ¼­ passwdÀÇ ¸Å´º¾ó ÆäÀÌÁö¸¦ Àá±ñ ÀоÀÚ. ¿©±â¼­ mewmewÀº µðÆúÆ®·Î 1012ÀÇ uid¸¦ °¡Áö°í 1012ÀÇ gid¸¦ °¡ÁüÀ» ¾Ë ¼ö ÀÖ´Ù. ±×·¸´Ù¸é ÀÌÁ¦ /etc/group¸¦ Àá±ñ º¸ÀÚ.

mewmew:x:1012:

µû¶ó¼­ mewmewÀÌ »ý¼ºÇÑ foobar.txtÀÇ ±×·ì ¼ÒÀ¯±ÇÀÚÀÇ µðÆúÆ®´Â 1012ÀÇ gid¸¦ °®´Â mewmew ±×·ìÀÌ µÈ´Ù. ±×·¸´Ù¸é ÀÌ foobar.txtÀÇ ±âº» Àбâ/¾²±â/½ÇÇà ÆÛ¹Ì¼ÇÀº ¾î¶»°Ô Á¤ÇØÁú±î? À¯´Ð½º¿¡¼­´Â umask¸¦ ÀÌ¿ëÇØ¼­ »ý¼ºµÇ´Â ÆÄÀÏÀÇ ±âº» ÆÛ¹Ì¼ÇÀÌ Á¤ÇØÁø´Ù. umask´Â masking, Áï »©±â ¹æ½ÄÀ¸·Î ÆÄÀÏ ÆÛ¹Ì¼ÇÀ» Á¤Çϴµ¥ º¸Åë 022¸¦ umask °ªÀ¸·Î ¸¹ÀÌ ¾´´Ù. /etc/profileÀÇ ½© ¼³Á¤À» º¸¸é º¸Åë ´ÙÀ½°ú °°Àº ¸í·É¾î¸¦ º¼ ¼ö ÀÖ´Ù.

umask 022

ÀÌ ¸í·ÉÀÌ ½ÇÇàµÇ¸é ÀÏ¹Ý ÆÄÀÏÀº 666(rw-rw-rw)ÀÇ ÆÛ¹Ì¼Ç¿¡¼­ umaskÀÇ 022¸¦ »« 644(rw-r--r--)ÀÇ µðÆúÆ® ÆÛ¹Ì¼ÇÀ» °®°Ô µÇ°í µð·ºÅ丮ÀÇ °æ¿ì´Â 777(rwxrwxrwx)ÀÇ ÆÛ¹Ì¼Ç¿¡¼­ umaskÀÇ 022¸¦ »« 755(rwxr-xr-x)¸¦ °®°Ô µÈ´Ù.

setuid, setgid, sticky bit
setuid´Â À¯´Ð½º¿¡¼­ º¼ ¼ö Àִ ƯÀÌÇÑ ÆÄÀÏ º¸¾È °³³äÀÌ´Ù. ÀϹÝÀûÀ¸·Î ½ÇÇà °¡´ÉÇÑ À¯´Ð½º ÆÄÀÏÀ» ½ÇÇàÇÒ ¶§ À¯´Ð½º¿¡¼­´Â ±× ¸í·ÉÀ» ³»¸° À¯ÀúÀÇ ±ÇÇÑ¿¡ µû¶ó ½ÇÇàÇÏ°Ô µÈ´Ù. ¿¹¸¦ µé¾î mewmew À¯Àú°¡ ´ÙÀ½°ú °°Àº ÆÛ¹Ì¼ÇÀÇ /bin/ls ¸í·ÉÀ» ½ÇÇà½Ã۸é mewmew À¯Àú´Â root À¯Àúµµ ¾Æ´Ï°í, wheel ±×·ì¿¡ ¼ÓÇØ ÀÖÁöµµ ¾ÊÁö¸¸ others ÆÛ¹Ì¼Ç¿¡ ¸í½ÃµÈ r-x ±ÇÇÑ Áß¿¡¼­ x ±ÇÇÑÀÌ Çã°¡µÇ¾î ÀÖ´Â ±î´ß¿¡ À¯´Ð½º ½Ã½ºÅÛÀº mewmew À¯ÀúÀÇ /bin/ls ¸í·É ½ÇÇàÀ» Çã°¡ÇØ ÁÖ°Ô µÈ´Ù.

-r-xr-xr-x  1 root  wheel  32464 28 May 01:43 /bin/ls

±×·±µ¥ setuid ¿É¼ÇÀÌ ÄÑÁø ÆÄÀÏÀº ½ÇÇàµÉ ¶§, ¿¹¸¦ µé¾î ¾ÕÀÇ °æ¿ì /bin/ls ¸í·É¿¡ setuid°¡ ÄÑÁ® ÀÖ´Ù¸é mewmew À¯Àú°¡ ¸í·ÉÀ» ½ÇÇàÇß´õ¶óµµ À¯´Ð½º ½Ã½ºÅÛÀº /bin/ls ÆÄÀÏÀÇ ¼ÒÀ¯ÀÚÀÎ root À¯Àú°¡ ¸í·ÉÀ» ½ÇÇàÇÑ °ÍÀ¸·Î °£ÁÖÇØ¼­ /bin/ls ¸í·ÉÀ» ½ÇÇàÇÑ´Ù. Áï, /bin/ls ¸í·ÉÀÌ mewmew°¡ ¾Æ´Ñ root ¼ÒÀ¯·Î ½ÇÇàµÇ´Â °ÍÀÌ´Ù. setuid¸¦ ÄÑ´Â ¹æ¹ýÀº ´ÙÀ½°ú °°´Ù. µÎ ¸í·É ¸ðµÎ µ¿ÀÏÇÑ ¸í·ÉÀÌ´Ù. ¾Æ·¡ ¸í·ÉÀÇ °æ¿ì´Â rwxr-xr-x ÆÛ¹Ì¼ÇÀÌ 755ÀÌ°í ¾ÕÀÇ 4°¡ setuid ¿É¼ÇÀÌ´Ù.

$ chmod u+s foobar
$ chmod 4755 foobar

µÎ ¹øÂ° ¸í·ÉÀÇ °æ¿ì ¼ýÀÚ Ç¥ÇöÀÌ Á¶±Ý µ¶Æ¯Çѵ¥ Çѹø ¼½¼Ç 2ÀÇ chmodÀÇ ¸Å´º¾ó ÆäÀÌÁöÀÇ ÀϺκÐÀ» ÀοëÇØ º¸°Ú´Ù. ´ÙÀ½ÀÇ ¸Å´º¾ó ÆäÀÌÁö ÀοëÀ» º¸¸é À¯´Ð½ºÀÇ ÆÄÀÏ¿¡´Â user, group, othersÀ̿ܿ¡ µðÆúÆ®·Î »ý·«µÇ¾î ÀÖ´Â 3 ºñƮ¥¸® setuid, setgid, sticky bit ¿É¼ÇÀÌ ÀÖÀ¸¸ç, Â÷·Ê´ë·Î 4, 2, 1ÀÇ ¼ýÀÚ·Î ³ªÅ¸³¾ ¼ö ÀÖÀ½À» ¾Ë ¼ö ÀÖ´Ù.

CHMOD(2)            Linux Programmer's Manual            CHMOD(2)

NAME
       chmod, fchmod - change permissions of a file

SYNOPSIS
       #include
       #include

       int chmod(const char *path, mode_t mode);
       int fchmod(int fildes, mode_t mode);

DESCRIPTION
       The mode of the file given by path or referenced by fildes
       is changed.

       Modes are specified by or'ing the following:

              S_ISUID   04000 set user ID on execution

              S_ISGID   02000 set group ID on execution

              S_ISVTX   01000 sticky bit

              S_IRUSR (S_IREAD)
                        00400 read by owner
(ÀÌÇÏ »ý·«)

ÀÌ·± ¹æ½ÄÀº ¾îµð¿¡¼­ ÀÀ¿ëÇϸé ÁÁÀ»±î? °£´ÜÇÑ ¿¹°¡ °ÔÀÓ¿¡¼­ ÇÏÀÌ ½ºÄÚ¾î ¸®½ºÆ®¸¦ °ü¸®ÇÏ´Â °æ¿ì¸¦ µé¾îº¼ ¼ö ÀÖ´Ù. ÇÏÀÌ ½ºÄÚ¾î ¸®½ºÆ®´Â ÀÏ¹Ý À¯ÀúµéÀº ¸¶À½´ë·Î °íÄ¥ ¼ö ¾øµµ·Ï ÇØ¾ß ÇÏÁö¸¸ ¸·»ó ¼­·Î ´Ù¸¥ À¯Àú°¡ ÇϳªÀÇ ÇÏÀÌ ½ºÄÚ¾î ¸®½ºÆ® ÆÄÀÏÀ» °øÀ¯ÇÏ´Â °ÍÀº ½±Áö ¾ÊÀº ÀÏÀÌ´Ù. foobar, doobar À¯Àú°¡ fungameÀ» ÇÏ´Â »óȲÀ» »ý°¢Çغ¸ÀÚ. fungameÀÇ ÆÄÀÏ ÆÛ¹Ì¼ÇÀº ´ÙÀ½°ú °°´Ù. fungame À¯Àú´Â fungame ½ÇÇàÆÄÀÏÀ» À§ÇØ »õ·Î ¸¸µé¾îÁø À¯ÀúÀÌ´Ù. ±×¸®°í fungame_high_score_list¸¦ ´ÙÀ½°ú °°ÀÌ ±¸¼ºÇß´Ù.

-r-sr-xr-x  1 fungame  wheel    65535 28 May 08:13 /usr/local/bin/fungame
-rw-r--r--  1 fungame  fungame  38    28 May 09:00 /usr/local/etc/fungame_high_score_list

setuid°¡ ¼³Á¤µÇ¾î ÀÖÁö ¾Ê´Â °æ¿ì¶ó¸é foobar À¯Àú°¡ fungameÀ» ½ÇÇàÇϸé fungame ½ÇÇàÆÄÀÏÀº foobar À¯ÀúÀÇ ¼ÒÀ¯·Î ½ÇÇàµÇ±â ¶§¹®¿¡ fungame¿¡¼­ fungame_high_score_list ÆÄÀÏÀ» ¾×¼¼½ºÇϸé others¿¡ ÇØ´çÇÏ´Â Àб⠱ÇÇѹۿ¡ ¾òÀ» ¼ö ¾ø´Ù. doobar À¯Àú ¿ª½Ã ¸¶Âù°¡Áö·Î fungameÀÌ ½ÇÇàµÉ ¶§ doobar À¯Àú°¡ others·Î ºÐ·ùµÇ´Â ¹Ù¶÷¿¡ fungame¿¡¼­ ÇÏÀÌ ½ºÄÚ¾î ¸®½ºÆ® ÆÄÀÏÀ» ÀÐÀ» ¼ö¹Û¿¡ ¾ø´Â »óȲÀÌ ¹ú¾îÁø´Ù.

ÇÏÁö¸¸ fungame ½ÇÇàÆÄÀÏ¿¡ setuid¸¦ ÄÑ ÁÖ¸é »óȲÀÌ ´Þ¶óÁø´Ù. setuid°¡ ¼³Á¤µÈ fungame ½ÇÇàÆÄÀÏÀº ¾î¶² »ç¿ëÀÚ°¡ ÀÌ ¸í·ÉÀ» ½ÇÇà½Ã۵çÁö °£¿¡ fungame »ç¿ëÀÚ°¡ ¸í·ÉÀ» ½ÇÇàÇÑ °ÍÀ¸·Î °£ÁÖÇϱ⠶§¹®ÀÌ´Ù. µû¶ó¼­ fungame ½ÇÇàÆÄÀÏÀº »ç¿ëÀÚ¿¡ »ó°ü¾øÀÌ fungame_high_score_list ÆÄÀÏÀ» ÀÐ°í ¾µ ¼ö ÀÖ°Ô µÈ´Ù.

ÀÌ·± setuid º¸¾È ¸ðµ¨Àº º¸Åë ÀÏ¹Ý À¯Àú°¡ ½Ã½ºÅÛ °ü·Ã ¸í·ÉÀ» ½ÇÇàÇßÀ» ¶§ ±× ¸í·ÉÀÌ Àá±ñ µ¿¾È °ü¸®ÀÚÀÎ root ±ÇÇÑÀ» ¾òÀ» Çʿ䰡 ÀÖÀ» ¶§ ¸¹ÀÌ »ç¿ëµÈ´Ù. À̰ÍÀ» º¸Åë setuid root¶ó°í ºÎ¸¥´Ù. setuid root´Â º¸¾È»óÀÇ ¹®Á¦¸¦ ÃÊ·¡Çϱ⵵ ÇÏÁö¸¸ À¯Àú¿¡ µû¶ó¼­ ÄÉÀ̽º¸¦ ¸ðµÎ ±¸ºÐÇØ ÁÖ¾î¾ß ÇÏ´Â º¹ÀâÇÑ °æ¿ì¸¦ ÇÇÇÒ ¼ö ÀÖ´Ù. ¾ÕÀÇ °ÔÀÓ ÇÏÀÌ ½ºÄÚ¾î ¸®½ºÆ® ¿¹¸¦ passwd ¸í·É°ú /etc/passwd·Î ¹Ù²Ù¾î »ý°¢ÇØ º¸¸é setuid rootÀÇ À¯¿ëÇÔÀ» ½±°Ô ¾Ë ¼ö ÀÖ´Ù. Âü°í·Î /etc/passwd¿Í /usr/bin/passwdÀÇ ÆÄÀÏ ÆÛ¹Ì¼ÇÀ» »ìÆìº¸¸é ´ÙÀ½°ú °°´Ù. ¿¹»ó´ë·Î /usr/bin/passwd´Â setuid°¡ root À¯Àú·Î ¼³Á¤µÇ¾î ÀÖ°í /etc/passwd ÆÄÀÏÀº root À¯Àú°¡ Àбâ¿Í ¾²±â ±ÇÇÑÀ» °®°í ÀÖÀ½À» º¼ ¼ö ÀÖ´Ù.

-r-s--x--x    1 root     root        13476  6¿ù 18  2002 /usr/bin/passwd
-rw-r--r--    1 root     root        43188  6¿ù 16 23:10 /etc/passwd

ÇÏÁö¸¸ setuid root´Â º¸¾È»óÀÇ ¹®Á¦°¡ »ý±æ ¼ö ÀÖ´Ù´Â Á¡À» Ç×»ó ¿°µÎ¿¡ µÎ°í ÀÖ¾î¾ß ÇÑ´Ù. °£´ÜÇÑ ¿¹·Î, ´©±º°¡°¡ root ±ÇÇÑÀ» ÀçÁÖ²¯ ¾òÀº ´ÙÀ½ bash Çϳª¸¦ º¹»çÇÏ°í °Å±â¿¡ setuid¸¦ ¼³Á¤ÇØ ³õÀº °æ¿ì¸¦ »ý°¢Çغ¸ÀÚ.

-rwsr-xr-x    1 root     root       519964  7¿ù  9  2001 bash

ÀÌ ¼ÐÀ» ½ÇÇà½ÃŰ´Â »ç¿ëÀÚ´Â ´ç¿¬È÷ root ±ÇÇÑÀ» °®°Ô µÈ´Ù. ½ÇÁ¦, °£È¤ ¸®´ª½º ¼­¹ö°¡ ÇØÅ·¿¡ ¶Õ¸®°í ³­ µÚ¿¡´Â ÀÌ·¸°Ô setuid rootµÈ ¼ÐÀÌ ¸¸µé¾îÁ® ÀÖ´Â °æ¿ì°¡ ¸¹´Ù.

setgid´Â setuid ¸¸Å­ ÀÚÁÖ ¹ß»ýÇÏÁö´Â ¾ÊÁö¸¸ ±× ¿ø¸®´Â setuid¿Í ¸¶Âù°¡Áö·Î setgid°¡ ¼³Á¤µÈ ÆÄÀÏÀº ½ÇÇàµÉ ¶§ ±×·ì ¼ÒÀ¯ÀÚ°¡ ±× ÆÄÀÏ¿¡ ÁöÁ¤µÈ ±×·ìÀ¸·Î ¼³Á¤µÈ´Ù. setgid´Â write ¸í·É°ú °°ÀÌ Æ¯Á¤ ±×·ìÀ» ¸Å°³Ã¼·Î ¾×¼¼½º ±ÇÇÑÀ» °øÀ¯ÇÒ ¶§ »ç¿ëµÈ´Ù. write ¸í·ÉÀ» ÅëÇØ ´Ù¸¥ À¯Àú¿¡°Ô ¸Þ½ÃÁö¸¦ º¸³»´Â °æ¿ì setgid°¡ ¾ø´Â °æ¿ì´Â ´Ù¸¥ »ç¶÷ÀÇ Å͹̳Πµð¹ÙÀ̽º(/dev/tty??¿Í °°Àº)¿¡ µðÆúÆ®·Î ¾²±â¸¦ ÇÒ ¼ö ¾ø°í µû¶ó¼­ ¸Þ½ÃÁö¸¦ º¸³¾ ¼ö ¾ø°Ô µÈ´Ù. ÇÏÁö¸¸, À¯ÀúµéÀÌ ¾²´Â ¸ðµç Å͹̳Πµð¹ÙÀ̽º ÆÄÀÏÀ» tty¿Í °°Àº ±×·ìÀ¸·Î ¹­°í, write ÆÄÀÏ¿¡ tty ±×·ìÀ¸·Î setgid¸¦ ÇØ ³õÀ¸¸é ±×·ì ÆÛ¹Ì¼ÇÀ» ÅëÇØ¼­ ´Ù¸¥ À¯ÀúÀÇ Å͹̳Πȭ¸é¿¡ ¾²±â¸¦ ÇÏ´Â °ÍÀÌ °¡´ÉÇØÁø´Ù.

sticky bitÀº /tmp¿Í /var/tmp¿Í °°ÀÌ Àӽà ÆÄÀÏÀÌ »ý°Ü³µ´Ù°¡ ¾ø¾îÁö´Â µð·ºÅ丮¿¡ ÀÚÁÖ »ç¿ëµÈ´Ù. /tmp µð·ºÅ丮ÀÇ °æ¿ì ¸ðµç À¯ÀúµéÀÌ ¸¶À½´ë·Î ÆÄÀÏÀ» ÀÐ°í ¾²´Â °ÍÀÌ °¡´ÉÇØ¾ß Çϴµ¥ ÀÌ·¸°Ô µÇ¸é /tmp µð·ºÅ丮´Â rwxrwxrwx ÆÛ¹Ì¼ÇÀ» °¡Á®¾ß Çϰí À̰ÍÀº À¯ÀúµéÀÌ /tmp µð·ºÅ丮¿¡¼­´Â ´Ù¸¥ À¯ÀúÀÇ ÆÄÀÏÀ» Áö¿ï ¼öµµ ÀÖ´Ù´Â ¹®Á¦¸¦ ÃÊ·¡ÇÒ ¼ö ÀÖ´Ù. ÇÏÁö¸¸ sticky bitÀÌ ¼³Á¤µÈ µð·ºÅ丮¿¡¼­ À¯Àú A´Â À¯Àú B°¡ »ý¼ºÇÑ ÆÄÀÏÀ» Áö¿ï ¼ö ¾ø°Ô µÈ´Ù. Á» ´õ Á¤È®È÷ ¸»Çϸé /tmp¿Í °°Àº sticky bitÀÌ ¼³Á¤µÈ µð·ºÅ丮¿¡¼­´Â µðÀ½°ú °°Àº °æ¿ì°¡ ¾Æ´Ï°í¼­´Â ÆÄÀÏÀ» Áö¿ï ¼ö ¾ø´Ù.

¡ß ÆÄÀÏÀÇ ¼ÒÀ¯ÀÚ
¡ß ÆÄÀÏÀÌ ³õÀÎ µð·ºÅ丮ÀÇ ¼ÒÀ¯ÀÚ
¡ß ¼öÆÛÀ¯Àú

sticky bitÀº ´ÙÀ½°ú °°ÀÌ t°¡ Ãß°¡µÈ ÇüÅ·Πǥ±âµÈ´Ù. ¼ýÀڷΠǥÇöÇϸé 1777ÀÌ µÉ °ÍÀÌ´Ù. ÀÌ°Í ¿ª½Ã ¾Õ¿¡ Àá±ñ ¾ð±ÞÇÑ chmod(2) ¸Å´º¾ó ÆäÀÌÁö¸¦ Âü°íÇØ º¸ÀÚ.

drwxrwxrwt  105 root     root       102400  6¿ù 13 13:09 /tmp

su
ÀϹÝÀûÀ¸·Î À©µµ¿ì¸¦ ¸¹ÀÌ ¾²´ø »ç¿ëÀÚ°¡ ¸®´ª½º¸¦ ¾²±â ½ÃÀÛÇϸ鼭 Á¢Çϱ⠽¬¿î ½Ç¼ö°¡ ¼öÆÛÀ¯ÀúÀÎ root °èÁ¤À¸·Î ¸®´ª½º ½Ã½ºÅÛÀ» ¾²´Â °ÍÀÌ´Ù. ÇÏÁö¸¸ À©µµ¿ì¿Í´Â ´Þ¸® ¸®´ª½º´Â ÀÏ¹Ý À¯Àú °èÁ¤À¸·Îµµ º°´Ù¸¥ ºÒÆí ¾øÀÌ ¸ðµç ÀÛ¾÷À» ÇÒ ¼ö ÀÖ°í, ÇÊ¿äÇÒ ¶§¸¸ root °èÁ¤À» ¾²¸é µÇ¸ç, ƯÈ÷ ÀÏ¹Ý À¯Àú °èÁ¤À» ¾µ °æ¿ì ¹ÙÀÌ·¯½º¿Í °°Àº ¾Ç¼º Äڵ尡 ½ÇÇà ±ÇÇÑÀ» ¾ò°Ô µÇ´Â °ÍÀ» ±¸Á¶ÀûÀ¸·Î ¹æÁöÇÒ ¼ö Àֱ⠶§¹®¿¡ óÀ½ºÎÅÍ ÀÏ¹Ý »ç¿ëÀÚ·Î ½Ã½ºÅÛÀ» »ç¿ëÇÏ´Â ½À°üÀ» µéÀÌ´Â °ÍÀÌ Áß¿äÇÏ´Ù. ±×·± ÀÌÀ¯·Î ¸®´ª½º¿¡¼­´Â ÇÊ¿äÇÒ ¶§¸¸ su ¸í·ÉÀ¸·Î root shellÀ» ȹµæÇÏ°í ±×·¸Áö ¾ÊÀº °æ¿ì´Â Ç×»ó ÀÏ¹Ý À¯ÀúÀÇ ±ÇÇÑÀ¸·Î ÄÄÇ»Å͸¦ »ç¿ëÇÏ´Â °ÍÀÌ ÁÁ´Ù. ÃÖ±Ù¿¡ À©µµ¿ì XP¿¡¼­µµ µµÀÔµÈ Switch User ±â´ÉÀÌ À©µµ¿ìÆÇ su¶ó°í º¼ ¼ö ÀÖ°Ú´Ù.


¸®´ª½º ½Ã½ºÅÛÀÇ È¯°æ º¯¼ö¿Í µð·ºÅ丮
ÇÊÀÚÀÇ °³ÀÎÀûÀÎ »ý°¢ÀÌÁö¸¸ ¸®´ª½º µ¥½ºÅ©Å¾ÀÌ ¾ÆÁ÷±îÁö ³Î¸® ¾²ÀÌÁö ¾Ê°í ÀÖ´Â ÀÌÀ¯ ÁßÀÇ Çϳª´Â ¸®´ª½º ¹èÆ÷ÆÇÀÌ ÀüÅëÀûÀ¸·Î º¸¾È¿¡ ½Å°æÀ» ¸¹ÀÌ ¾´ ÇüÅ·Π¼³Á¤µÇ¾î ³ª¿À±â ¶§¹®À̶ó°í º»´Ù. µû¶ó¼­ À©µµ¿ì¸¦ ¾²´ø »ç¿ëÀÚµéÀÌ ¸®´ª½º¸¦ ¾²¸é º¸¾È»ó ÀÌÀ¯·Î µðÆúÆ®·Î ¼û°Ü³õÀº ±â´ÉµéÀ» Àß ¸ð¸£°í Áö³ªÄ¡°Ô µÇ°í, À̰ÍÀÌ ³ªÁß¿¡ ºÒÆíÇÔÀ¸·Î ´À²¸Áö´Â °æ¿ì°¡ ¸¹Àº µí ÇÏ´Ù. »ç¿ëÀÚ È¨ µð·ºÅ丮¿Í ȯ°æ º¯¼ö¿¡¼­ ÀÌ·± »ç¼ÒÇÑ ºÒÆíÇÔÀ» °£´ÜÈ÷ ¸î °¡Áö ´Ù·ç¾î º¸ÀÚ.

PATH ȯ°æ º¯¼ö
¿ì¼±, ¸®´ª½º¿¡¼­´Â ¸í·ÉÀ» ½ÇÇàÇÒ ¶§ ±âº»ÀûÀ¸·Î ¼öÆÛÀ¯ÀúÀÇ ±ÇÇÑÀÌ ÇÊ¿äÇÑ ½ÇÇàÆÄÀϵéÀÇ µð·ºÅ丮 À§Ä¡¸¦ PATH ȯ°æº¯¼ö¿¡¼­ »© ³õ°í ÀÖ´Ù. ½ÇÁ¦, su ¸í·ÉÀ» ½ÇÇàÇÑ ´ÙÀ½ fdisk¿Í °°Àº ¼öÆÛÀ¯Àú¿ë ¸í·ÉÀ» ½ÇÇàÇØº¸¸é ´ëºÎºÐÀÇ ¸®´ª½º ¹èÆ÷ÆÇ¿¡¼­ command not found¶ó´Â ¿¡·¯ ¸Þ½ÃÁö¸¦ ¸¸³ª°Ô µÈ´Ù. µµ´ëü PATH°¡ ¾î¶»°Ô ¼³Á¤µÇ¾î ÀÖÀ»±î?

$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games

±×·¸´Ù¸é fdisk´Â ¾îµð¿¡ µé¾î°¡ ÀÖÀ»±î? ´ÙÀ½ÀÇ °á°ú¸¦ º¸¸é /sbin/fdisk¿¡ µé¾î°¡ ÀÖÀ½À» ¾Ë ¼ö ÀÖ´Ù. ±×·¯³ª PATH ȯ°æ º¯¼ö¿¡´Â /sbin µð·ºÅ丮°¡ µé¾î°¡ ÀÖÁö ¾Ê´Ù. µû¶ó¼­ ÀÏ¹Ý À¯Àú´Â su ¸í·ÉÀ¸·Î ¼öÆÛÀ¯Àú°¡ µÇ´õ¶óµµ PATH ȯ°æ º¯¼ö¿¡ /sbin µð·ºÅ丮°¡ µé¾î°¡ ÀÖÁö ¾ÊÀº ±î´ß¿¡ fdisk ¸í·É¾î°¡ ½ÇÇàÀÌ µÇÁö ¾Ê´Â °ÍÀÌ´Ù. Âü°í·Î ¸®´ª½ºÀÇ ¸í·É¾î Áß ÀÏ¹Ý »ç¿ëÀÚ¿ë ¸í·É¾îµéÀº ÀüÅëÀûÀ¸·Î bin µð·ºÅ丮 ¾Æ·¡ ¸¹ÀÌ µé¾î°¡°í ¼öÆÛÀ¯Àú¿ë ¸í·É¾îµéÀº sbin µð·ºÅ丮¿¡ ¸¹ÀÌ µé¾î°£´Ù.

$ find / -name fdisk
/usr/share/webmin/mscstyle3/fdisk
/usr/share/webmin/fdisk
/sbin/fdisk
/etc/webmin/fdisk

±×·¯¸é PATH ȯ°æ º¯¼ö¿¡ /sbin µð·ºÅ丮¸¦ Ãß°¡ÇØ º¸ÀÚ. sbin µð·ºÅ丮´Â /sbin À̿ܿ¡µµ /usr/sbin, /usr/local/sbinÀÌ ÀÖÀ» ¼ö ÀÖ°í, º¸Åë /usr/sbin¿¡´Â ¹èÆ÷ÆÇÀÌ ¼³Ä¡µÉ ¶§ /sbin ¸¸Å­ ÇʼöÀûÀÌÁö´Â ¾ÊÁö¸¸ Áß¿äÇÑ ½Ã½ºÅÛ °ü¸® ¸í·É¾îµéÀÌ ¸¹ÀÌ µé¾î°¡ ÀÖÀ¸´Ï /sbin°ú ÇÔ²² /usr/sbinµµ °°ÀÌ ³Ö¾îº¸ÀÚ. Âü°í·Î bash ¿ÜÀÇ cshÀ̳ª tcshÀº ¿©±â¼­´Â ´Ù·çÁö ¾Êµµ·Ï ÇϰڴÙ.

$ export PATH=${PATH}:/sbin:/usr/sbin

À̰ÍÀ» ÀüÅëÀûÀÎ º» ¼Ð ¹æ½ÄÀ¸·Î Ç®¾î¾²¸é ´ÙÀ½°ú °°ÀÌ µÈ´Ù.

$ PATH=${PATH}:/sbin:/usr/sbin
$ export PATH

±×·¯³ª ÀÌ ¸í·ÉÀ» ¼¿ Çϳª¸¦ ½ÇÇàÇÒ ¶§¸¶´Ù ŸÀÌÇÎÇϱ⿡´Â ±ÍÂúÀ» Å×´Ï À̰ÍÀ» ¼ÐÀÌ ½ÇÇàµÉ ¶§¸¶´Ù °°ÀÌ ½ÇÇàµÇµµ·Ï ÇØ º¸ÀÚ. bash ¼ÐÀº ½ÃÀÛÇϸ鼭 ´ÙÀ½°ú °°Àº ÆÄÀÏÀÇ ³»¿ëÀ» ½ÇÇà½ÃŲ´Ù. bashÀÇ ¸Å´º¾ó ÆäÀÌÁö¸¦ Àá±ñ »ìÆì º¸¸é FILES Ç׸ñ ¾Æ·¡ÂÊ¿¡ ¼³Á¤ÆÄÀÏ¿¡ ´ëÇÑ ¼³¸íÀÌ ³ª¿Â´Ù.

/etc/profile - system-wide initialization file, executed for login shells
~/.bash_profile - personal initialization file, executed for login shells
~/.bashrc - the individual per-interactive-shell startup file

¿ì¸®ÀÇ °æ¿ì´Â Ȩ µð·ºÅ丮ÀÇ ~/.bash_profileÀ̳ª ~/.bashrc¸¦ ¾²´Â °ÍÀÌ Àû´çÇØ º¸ÀδÙ. PATH Á¤º¸´Â ÀϹÝÀûÀ¸·Î ·Î±×ÀÎ ¼Ð ¼³Á¤¿¡ ¼ÓÇÏ´Ï .bash_profile¿¡ ³Ö¾îµÎ¸é µÈ´Ù. Âü°í·Î ¸®´ª½º ½Ã½ºÅÛ ¼³Á¤À» ÇÒ ¶§´Â º°´Ù¸¥ Çʿ䰡 ¾øÀ¸¸é Ȩ µð·ºÅ丮 ¾Æ·¡ÀÇ .·Î ½ÃÀÛÇÏ´Â ¼³Á¤ÆÄÀÏ¿¡ ¼³Á¤ÇØ ÁÖ´Â °ÍÀÌ ÁÁ´Ù. ¹°·Ð, ¼öÆÛÀ¯Àú·Î º¯½ÅÇØ¼­ Á÷Á¢ /etc ¾Æ·¡ÀÇ ¼³Á¤ÆÄÀÏÀ» ¹Ù²Ù¾î ÁÙ ¼öµµ ÀÖÁö¸¸ Ç×»ó ³»°¡ ¼öÆÛÀ¯Àú ±ÇÇÑÀ» °®°í ÀÖÀ» ¼öµµ ¾ø´Â °ÍÀ̰í, ½ÇÁ¦ ÀÏ¹Ý À¯ÀúÀÇ ±ÇÇÑÀ¸·Îµµ ³» ÀÔ¸À¿¡ ¸Â°Ô ½Ã½ºÅÛ È¯°æÀ» »ó´çÇÑ ºÎºÐ ¸ÂÃß¾î º¼ ¼ö ÀÖ´Ù.

PATH ȯ°æ º¯¼ö¿Í °ü·ÃÇØ¼­ Âü°í·Î Çϳª ¾Ë¾Æ µÑ °ÍÀº ÇöÀç µð·ºÅ丮¿¡ µé¾î ÀÖ´Â ¸í·ÉÀ» ½ÇÇà½ÃŰ´Â ¹æ¹ýÀÌ´Ù. ´ëºÎºÐÀÇ ¸®´ª½º ¹èÆ÷ÆÇ¿¡¼­ hello.c°°Àº ¼Ò½º¸¦ ÄÄÆÄÀÏÇÏ°í ´ÙÀ½°ú °°Àº ¸í·ÉÀ» ½ÇÇàÇØº¸¸é ¿¡·¯°¡ ³­´Ù.

$ gcc -o hello hello.c
$ ls -F
hello* hello.c
$ hello
bash: hello: command not found
$ ./hello
hello, world

À̰ÍÀº PATH ȯ°æ º¯¼ö¿¡¼­ ÇöÀç µð·ºÅ丮ÀÎ Á¡(.)ÀÌ ºüÁ® Àֱ⠶§¹®ÀÌ´Ù. ¿Ö ÀÌ·± º¹ÀâÇØ º¸ÀÌ´Â ¹æ½ÄÀÌ µðÆúÆ®·Î ¼³Á¤µÇ¾î ÀÖÀ»±î? ±×°ÍÀº º¸¾È»óÀÇ ¹®Á¦ ¶§¹®ÀÌ´Ù. ¿¹¸¦ µé¾î, ¼öÆÛÀ¯Àú°¡ /tmp³ª /var/tmp µð·ºÅ丮¿¡¼­ ¹«½ÉÄÚ ls ¸í·ÉÀ» ½ÇÇà½ÃÄ״µ¥ À̰ÍÀÌ /bin/ls°¡ ¾Æ´Ñ ´©±º°¡°¡ ½É¾î³õÀº ¾Ç¼º /tmp/ls¸¦ ½ÇÇà½ÃŰ°Ô µÈ´Ù¸é ¹®Á¦°¡ »ý±æ ¼ö ÀÖ´Ù. À̰ÍÀ» ¾Æ¿¹ ¿øÃµÀûÀ¸·Î ¹æÁöÇϱâ À§ÇØ ÇöÀç µð·ºÅ丮ÀÇ ¸í·É¾î¸¦ ½ÇÇàÇÏ·Á¸é º¸Åë ¾Õ¿¡ ¸í½ÃÀûÀ¸·Î ./¸¦ ºÙ¿©ÁÖ´Â °ÍÀÌ´Ù.

µð·ºÅ丮
¸®´ª½ºÀÇ ÆÄÀÏ ½Ã½ºÅÛ µð·ºÅ丮 ±¸Á¶´Â ÀüÅëÀûÀÎ ¹æ½ÄÀ» Áö±Ýµµ µû¸£°í ÀÖ´Ù. ·çÆ® µð·ºÅ丮 ¾Æ·¡¿¡ ½ÇÇà ÆÄÀÏÀº /bin, ¶óÀ̺귯¸®´Â /lib, ¼³Á¤ÆÄÀÏÀº /etc, ¼öÆÛÀ¯Àú¿ë ¸í·É¾î´Â /sbin°ú °°Àº µð·ºÅ丮¿¡ µé¾î°¡°Ô µÇ¾î ÀÖ´Ù. ¿©±â¼­ À¯½ÉÈ÷ º¸¾Æ¾ß ÇÒ °ÍÀº ÀÌ·± bin, lib, etc¿Í °°Àº µð·ºÅ丮 ¸í¸í¹ýÀº ´Ù¸¥ µð·ºÅ丮 ¾È¿¡¼­µµ ¹Ýº¹ÀÌ µÈ´Ù´Â »ç½ÇÀÌ´Ù. Çѹø, ¼ÒÇÁÆ®¿þ¾î ÆÐŰÁöµéÀÌ À§Ä¡Çϰí ÀÖ´Â /usr µð·ºÅ丮¸¦ »ìÆìº¸ÀÚ.

$ cd /usr
$ ls -F
X11R6/  dict/  etc/      kerberos/  libexec/  lost+found/  root/  share/  tmp@
bin/    doc/   include/  lib/       local/    man/         sbin/  src/

¿©±â¼­µµ Ä£¼÷ÇÑ bin, etc, lib, sbin°ú °°Àº µð·ºÅ丮°¡ º¸ÀÓÀ» ¾Ë ¼ö ÀÖ´Ù. ½ÇÁ¦, ÇÊÀÚ°¡ ¾²´Â ¸®´ª½º ½Ã½ºÅÛ¿¡¼­ /usr/etc µð·ºÅ丮¿¡´Â ¾Æ¹«·± ÆÄÀϵµ µé¾î°¡ ÀÖÁö ¾Ê°í ±×³É µð·ºÅ丮 À̸§¸¸ Çϳª ¸¸µé¾îÁ® ÀÖÁö¸¸ /usr µð·ºÅ丮¿¡¼­µµ / µð·ºÅ丮¿Í µ¿ÀÏÇÑ µð·ºÅ丮 ¸í¸í¹ýÀÌ ¹Ýº¹µÇ°í ÀÖÀ½À» º¼ ¼ö ÀÖ´Ù. À̰ÍÀº /usr/local °ú /home/mewmew Ȩµð·ºÅ丮¿¡¼­µµ ±×´ë·Î ¹Ýº¹µÈ´Ù.

$ cd /usr/local
$ ls -F
Zend/      games/                 lib/      mysql-old/     src/
apache/    gd/                    libexec/  netpbm/        var1/
bin/       giflib/                libpng/   python-2.2.1/  zend/
doc/       include/               man/      qmailscan/     zend-old/
etc/       jakarta-tomcat-4.0.3/  mrtg/     sbin/          zend-old-2/
freetype/  jpeg/                  mysql/    share/         zlib/

$ cd
$ ls -F
Mail/    doc/             public_html@  swarm_for_fedora_core_1/
backup/  fish.txt         share/        tel.txt
bin/     hangul_fonts/    src/          temp/
dkdk     man/             storage/      www/

Á÷Á¢ ¼ÕÀ¸·Î ¼ÒÇÁÆ®¿þ¾î ÆÐŰÁö ¼Ò½ºÄڵ带 ÄÄÆÄÀÏ ÇØ º¸¸é ÀÌ·¯ÇÑ ¸í¸í¹ýÀÌ »ó´çÈ÷ ¾µ¸ð°¡ ÀÖÀ½À» ¾Ë ¼ö ÀÖ´Ù. ÀϹÝÀûÀ¸·Î ./configure; make; make install·Î ¼³Ä¡°¡ µÇ´Â ¼Ò½º ÆÐŰÁöÀÇ °æ¿ì ./configure ½ºÅ©¸³Æ®¿¡¼­ µðÆúÆ®·Î ¼Ò½º ÆÐŰÁö°¡ ¼³Ä¡µÇ´Â µð·ºÅ丮 (PREFIX)°¡ /usr/localÀÌ´Ù. À̰ÍÀ» Çʿ信 µû¶ó /usrÀ̶óµçÁö ȤÀº »ç¿ëÀÚ È¨ µð·ºÅ丮¸¦ °¡¸®Å°´Â $HOME ȯ°æ º¯¼ö·Î ¼³Á¤ÇØ ÁÙ ¼öµµ ÀÖ´Â °ÍÀÌ´Ù.

$ ./configure --prefix=/usr
$ ./configure --prefix=${HOME}

´ÙÀ½ÀÇ °æ¿ì ³ªÁß¿¡ ÄÄÆÄÀÏÀÌ ³¡³ª°í make installÀ» ¼öÇàÇÏ¸é º¸Åë ${HOME}/bin, ${HOME}/etc, Çʿ信 µû¶ó¼­ ${HOME}/lib³ª ¸Å´º¾ó ÆäÀÌÁö°¡ µé¾î°¡´Â ${HOME}/man ±îÁö ¼³Ä¡µÇ´Â °æ¿ìµµ ÀÖ´Ù. ƯÈ÷, °ü¸®ÀÚ ±ÇÇÑÀ» ¾ò±â Èûµç ÀÏ¹Ý À¥ È£½ºÆÃ ¼­ºñ½º¸¦ ÀÌ¿ëÇÒ ¶§ ÀÌ·¸°Ô ³» Ȩ µð·ºÅ丮 ¾È¿¡ ¼Õ¼ö ÇÊ¿äÇÑ ÆÐŰÁö¸¦ ÄÄÆÄÀÏÇØ ¾²´Â °æ¿ì°¡ ÈçÇѵ¥ ÀÌ·² °æ¿ì¿¡´Â ¾ÕÀÇ PATH ȯ°æ º¯¼ö¿¡ ${HOME}/bin ¿£Æ®¸®µµ Çϳª ³Ö¾î ÁÖ¸é ´õ¿í Æí¸®ÇÒ °ÍÀÌ´Ù.

±×¸®°í ¸®´ª½º ¹èÆ÷ÆÇ¿¡¼­ rpmÀ̳ª deb °°Àº ÆÐŰÁö °ü¸® ½Ã½ºÅÛÀÌ ¹ßÀüÇÔ¿¡ µû¶ó /usr ¾Æ·¡ÀÇ /usr/bin, /usr/lib¿Í °°Àº µð·ºÅ丮´Â Á÷Á¢ ½Ã½ºÅÛ °ü¸®ÀÚ°¡ ÇÊ¿äÇÑ ¼ÒÇÁÆ®¿þ¾î¸¦ ÄÄÆÄÀÏÇØ¼­ Áý¾î³Ö´Â °ø°£À̶ó±âº¸´Ù´Â ÆÐŰÁö °ü¸®ÀÚ·Î °ü¸®ÇÏ´Â °ø°£ÀÌ µÇ¾î¹ö·È´Ù. ½ÇÁ¦, ¼ÕÀ¸·Î ÄÄÆÄÀÏÇÏ´Â ¼ÒÇÁÆ®¿þ¾îµéÀº /usr/local ¾Æ·¡ÂÊ¿¡ ³Ö´Â °ÍÀÌ ³ªÁß¿¡ ½Ã½ºÅÛ À¯Áö/º¸¼ö Ãø¸é¿¡¼­µµ Æí¸®ÇÏ´Ù. ¹Ýµå½Ã /usr ¾ÈÂÊÀ¸·Î ³Ö¾î¾ß ÇÏ´Â ÆÐŰÁöµéÀº ¼Ò½ºÄڵ带 ¿ì¼± ÄÄÆÄÀÏÇØ¼­ rpmÀ̳ª deb ÆÐŰÁö¸¦ ¸¸µé°í ±×°ÍÀ» ´Ù½Ã ¼³Ä¡ÇÏ´Â ÆíÀÌ ÀÇÁ¸¼º À¯ÁöÀÇ Ãø¸é¿¡¼­ À¯¸®ÇÏ´Ù. ÀÌÁ¦ ¸®´ª½ºÀÇ ÀüüÀûÀÎ µð·ºÅ丮 ±¸Á¶¸¦ ½±°Ô ³Ñ±â±â ÁÁÀº ºÎºÐ¸¸ °£´ÜÈ÷ ¤¾îº¸°í ³Ñ¾î°¡ÀÚ.

/etc
¼³Á¤ÆÄÀÏÀÌ µé¾î°¡´Â °÷ÀÌ´Ù. »ç¿ëÀÚÀÇ ÀÔÀå¿¡¼­´Â ¿©±â¼­ /etc/profile.d µð·ºÅ丮¸¦ Àá±ñ ÁöÄѺ¼ Çʿ䰡 ÀÖ´Ù. /etc ¾Æ·¡¿¡¼­ .d·Î ³¡³ª´Â µð·ºÅ丮µéÀº ¸¶Ä¡ ±× µð·ºÅ丮 ¾È¿¡ µé¾î°¡ ÀÖ´Â ÆÄÀϵéÀÌ ÇϳªÀÇ ¼³Á¤ÆÄÀÏÀ» ÀÌ·ç°í ÀִµíÇÑ ¿ªÇÒÀ» ÇÏ´Â °æ¿ì°¡ ¸¹´Ù. bash´Â ½ÇÇàµÇ¸é¼­ ¸ÕÀú /etc/profileÀ» ÂüÁ¶Çϴµ¥ /etc/profile.d°¡ ÀÖ´Â °æ¿ì /etc/profile.d ¾ÈÀÇ ¸ðµç ½ºÅ©¸³Æ®µéÀ» ½ÇÇàÇÑ´Ù. Âü°í·Î ÇÊÀÚ°¡ ¾²´Â ½Ã½ºÅÛÀÇ /etc/profile.d¿¡´Â ´ÙÀ½°ú °°Àº ½ºÅ©¸³Æ®µéÀÌ µé¾îÀÖ´Ù.

$ ls -F /etc/profile.d/
colorls.csh*  lang.csh*  less.csh*  mc.csh*  which.sh*
colorls.sh*   lang.sh*   less.sh*   mc.sh*

¿©±â¼­ sh·Î ³¡³ª´Â ÆÄÀϵéÀº bash¿ë, csh·Î ³¡³ª´Â ÆÄÀϵéÀº csh¿ë ½ºÅ©¸³Æ®µéÀε¥ /etc/profile¿¡ Çϳª·Î ³ÖÀ» ¼öµµ ÀÖÀ¸³ª ÆíÀÇ»ó ³ª´©¾î ³õÀº °ÍµéÀÌ´Ù. ºñ½ÁÇÑ ¿¹·Î /etc/xinet.d¸¦ µé ¼ö ÀÖ´Ù. inetd´Â ¿ø·¡ ´ë¸ó(daemon)ÀÇ ´ë¸óÀ¸·Î ºÒ¸®´Â ¿ªÇÒÀ» Çϴµ¥ inetd¿¡ ´ë¸ó ¼­ºñ½º¸¦ µî·ÏÇØ ³õÀ¸¸é ¿ÜºÎ¿¡¼­ ¼­ºñ½º ¿äûÀÌ µé¾î¿Ã ¶§¸¶´Ù ÇÊ¿äÇÑ ´ë¸ó ÇÁ·Î¼¼½º¸¦ ½ÇÇà½ÃŰ°í ¼­ºñ½º°¡ ³¡³ª¸é Á¾·á½ÃŰ´Â ¿ªÇÒÀ» Çϸ鼭 Á» ´õ ½Ã½ºÅÛ ÀÚ¿øÀ» È¿À²ÀûÀ¸·Î ¾µ ¼ö ÀÖµµ·Ï ÇØ ÁØ´Ù. À̰ÍÀÇ È®ÀåÆÇÀÌ xinetdÀε¥ xinetd´Â ¼­ºñ½º ÇϳªÇϳª¸¶´Ù ¼³Á¤ÆÄÀÏÀ» µû·Î µÎ°í À̰͵éÀ» ¸ð¾Æ¼­ /etc/xinetd.d¿¡ ³Ö¾î³õµµ·Ï Çϰí ÀÖ´Ù.

$ ls -F /etc/xinetd.d
chargen      daytime      echo      finger  rexec   rsh    talk    time
chargen-udp  daytime-udp  echo-udp  ntalk   rlogin  rsync  telnet  time-udp

Âü°í·Î ±¸Çü inetdÀÇ ¼³Á¤ÆÄÀÏÀÎ /etc/inetd.conf¸¦ Àá±ñ »ìÆìº¸ÀÚ. ¾î´À ÇüŸ¦ ¼±È£ÇÏ´ÂÁö´Â »ç¿ëÀÚÀÇ ¼±ÅÃÀ̰ÚÁö¸¸ .d ·Î ³¡³ª´Â µð·ºÅ丮 ¾È¿¡ ¼³Á¤ ÆÄÀÏÀ» °¢°¢ ºÐ¸®ÇØ ³õ´Â ¾ÆÀ̵ð¾î°¡ ÀÖ´Ù´Â Á¡Àº ±â¾ïÇØ ³õµµ·Ï ÇÏÀÚ.

$ more /etc/inetd.conf
# /etc/inetd.conf:  see inetd(8) for further informations.
#
# Internet server configuration database
#
#      
#
#:INTERNAL: Internal services
#echo           stream  tcp     nowait  root    internal
#echo           dgram   udp     wait    root    internal
#chargen        stream  tcp     nowait  root    internal
#chargen        dgram   udp     wait    root    internal
#discard                stream  tcp     nowait  root    internal
#discard                dgram   udp     wait    root    internal
#daytime                stream  tcp     nowait  root    internal
#daytime        dgram   udp     wait    root    internal
#time           stream  tcp     nowait  root    internal
#time           dgram   udp     wait    root    internal

/etc/skel µð·ºÅ丮¿¡´Â ¾óÇÍ º¸¸é ¾Æ¹« ÆÄÀϵµ ¾ø´Â °Íó·³ º¸ÀδÙ. ÇÏÁö¸¸ ÀÌ µð·ºÅ丮¿¡´Â »õ·Î À¯Àú °èÁ¤À» ¸¸µé¾úÀ» ¶§ ±× À¯ÀúÀÇ È¨ µð·ºÅ丮¿¡ µðÆúÆ®·Î ¼³Ä¡µÉ ¼û°ÜÁø ¼³Á¤ÆÄÀϵéÀÌ µé¾î°¡ ÀÖ´Ù.

$ ls -al /etc/skel
ÇÕ°è 28
drwxr-xr-x    2 root     root         4096 2004-05-13 13:53 .
drwxr-xr-x  121 root     root         8192 2004-06-10 11:53 ..
-rw-r--r--    1 root     root          266 2002-07-09 23:20 .alias
-rw-r--r--    1 root     root          704 2004-05-09 01:43 .bash_profile
-rw-r--r--    1 root     root         1290 2004-05-09 01:43 .bashrc
-rw-r--r--    1 root     root          375 2002-07-09 23:20 .cshrc

¸®´ª½º¿¡¼­ »õ·Î À¯Àú °èÁ¤À» Ãß°¡ÇÏ´Â ¹æ¹ýÀº ¿©·¯ °¡Áö°¡ ÀÖ´Ù. ÀüÅëÀûÀ¸·Î ¸¹ÀÌ ¾²´Â ¹æ¹ýÀÌ adduser, ȤÀº useradd ½ºÅ©¸³Æ® ¸í·ÉÀ» ÀÌ¿ëÇÏ´Â ¹æ¹ýÀÌ°í ¿äÁòÀº KDE³ª GNOME¿¡¼­´Â ±×·¡ÇÈ À¯Àú ÀÎÅÍÆäÀ̽º ȯ°æ¿¡¼­ »õ·Î¿î »ç¿ëÀÚ¸¦ Ãß°¡ÇÒ ¼öµµ ÀÖ´Ù. ÇÏÁö¸¸ ¿ø·¡ ¸®´ª½º ½Ã½ºÅÛ¿¡¼­´Â Á÷Á¢ ¼ÕÀ¸·Î »ç¿ëÀÚ¸¦ Ãß°¡ÇÏ´Â °Íµµ °¡´ÉÇÏ´Ù. °£´ÜÇÏ°Ô »õ·Î »ç¿ëÀÚ °èÁ¤À» ¸¸µé¾îº¸ÀÚ. ¿ì¼±, ¸®´ª½ºÀÇ »ç¿ëÀÚ´Â ¼ýÀÚ·Î µÈ »ç¿ëÀÚ ID¿Í ±×·ì ID°¡ ÇÊ¿äÇÏ´Ù. À̰ÍÀÌ uid¿Í gidÀε¥ su ¸í·É µîÀ» ÀÌ¿ëÇØ¼­ ¼öÆÛÀ¯Àú°¡ µÈ ´ÙÀ½ Çѹø /etc/passwd ÆÄÀÏÀ» º¸ÀÚ.

root:x:0:0:sysadmin,,,:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
mail:x:8:8:mail:/var/mail:/bin/sh
.
...»ý·«...
.
foobar:x:1000:1000:Foobar the great one,,,:/home/foobar:/bin/bash
doobar:x:1001:1001:Doobar the beautiful one,,,:/home/doobar:/bin/bash
langel:x:1002:1002:,,,:/home/langel:/bin/bash

¿©±â¿¡ »õ·Î hoover¶ó´Â »ç¿ëÀÚ¸¦ Ãß°¡ÇÏ·Á¸é /etc/passwd ÆÄÀÏÀ» Àû´çÈ÷ ºñ½ÁÇÏ°Ô °íÃÄÁÖ¸é µÈ´Ù. »õ·Î uid 1003°ú gid 1003¸¦ langel¿¡ Ãß°¡ÇØÁÖÀÚ. ÆÐ½º¿öµå Çʵ忡´Â *¸¦ ³Ö¾î ¾ÆÁ÷ ·Î±×ÀÎÀ» ¸øÇÏ´Â °èÁ¤ÀÓÀ» ¸í½ÃÇØ ÁÖÀÚ.

hoover:*:1003:1003:,,,:/home/hoover:/bin/bash

¸¶Âù°¡Áö·Î /etc/group ÆÄÀϵµ hoover ±×·ìÀ» Ãß°¡ÇØ ÁÖÀÚ. ¾î¶² ½Ã½ºÅÛÀº »ç¿ëÀÚÀÇ ±×·ìÀ» »õ·Î ¸¸µéÁö ¾Ê°í ±×³É user ±×·ì¿¡ Ãß°¡ÇÏ´Â °æ¿ìµµ ÀÖ´Ù.

root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:
tty:x:5:
.

... »ý·« ...
.

foobar:x:1000
doobar:x:1001
langel:x:1002
hoover:x:1003

ÀÌ·¸°Ô ÇÑ ´ÙÀ½ mkdir ¸í·ÉÀ¸·Î /home/hoover µð·ºÅ丮¸¦ ¸¸µé°í /etc/skel µð·ºÅ丮¿¡¼­ ±âº» ¼³Á¤ÆÄÀÏÀ» cp ¸í·ÉÀ¸·Î º¹»çÇØÁØ´Ù. ±×¸®°í chown -R hoover /home/hoover ¸í·É°ú chgrp -R hoover /home/hoover ¸í·ÉÀ¸·Î Ȩ µð·ºÅ丮¿Í ±× ¾Æ·¡ ÆÄÀϵéÀÇ ¼ÒÀ¯±ÇÀ» ¸íÈ®ÇÏ°Ô ÇØ ÁØ ´ÙÀ½ ¸¶Áö¸·À¸·Î passwd hoover ¸í·ÉÀ¸·Î »õ·Î¿î hoover »ç¿ëÀÚÀÇ ºñ¹Ð¹øÈ£¸¦ ¼³Á¤ÇØÁÖ¸é Á÷Á¢ ¼ÕÀ¸·Î »õ »ç¿ëÀÚ µî·ÏÀÌ ³¡³ª°Ô µÈ´Ù. useradd¿Í °°Àº ¸í·ÉÀº ÀÌ °úÁ¤À» °£´ÜÇÏ°Ô ÀÚµ¿È­ ½ÃÄѳõÀº ¼ÀÀÎ °ÍÀÌ´Ù.

¿©±â¼­µµ ¸®´ª½ºÀÇ ½ÉÇÃÇÔÀÇ ¸Å·ÂÀÌ ¹¯¾î³ª´Âµ¥ ¿À·¡Àü¿¡ ÇÊÀÚ´Â ¼Ö¶ó¸®½º ¿öÅ©½ºÅ×À̼ÇÀ» óÀ½ ¾²¸é¼­ ¼Ö¶ó¸®½º¿¡´Â ¾Æ¿¹ ¸®´ª½º¿¡¼­ º¼ ¼ö ÀÖ¾ú´ø ´ëÈ­½Ä useradd ¸í·É¾îÁ¶Â÷ ¾ø´ø °ÍÀ» º¸°í ³î·¨´ø ±â¾ïÀÌ ÀÖ´Ù. ±×·¡µµ ¼Ö¶ó¸®½º¿¡µµ ÀÌ·± useradd¿Í °°Àº »ç¿ëÀÚ »ý¼º ½ºÅ©¸³Æ®°¡ Çϳª ±âº»À¸·Î Á¦°øµÇ¾î ÀÖÀ¸¸é ÁÁÁö ¾ÊÀ»±î ÇßÁö¸¸ ¿ÀÈ÷·Á ÀÌ·± ½ºÅ©¸³Æ®°¡ ¾ø´Â °ÍÀÌ ´õ ³ªÀ» ¼öµµ ÀÖ´Ù´Â »ý°¢À» °ð ÇÏ°Ô µÇ¾ú´Ù. »ç¿ëÀÚ°¡ ¾Æ´Ñ ½Ã½ºÅÛ °ü¸®ÀÚÀÇ ÀÔÀå¿¡¼­´Â »ç¿ëÀÚ °èÁ¤ ¹ß±Þ°ú ¸»¼Ò´Â ÁÖ¿äÇÑ ¾÷¹« ÁßÀÇ ÇϳªÀÏ ÅÙµ¥ »ç¿ëÀÚ °èÁ¤ »ý¼º°ú »èÁ¦¸¦ ƯÁ¤ ¸í·É¾î¿¡ ¹­¾î ³õÀ¸¸é Á» ´õ À¯¿¬ÇÑ ½Ã½ºÅÛÀ» ¸¸µé±â°¡ Èûµé´Ù.

ÇÑ ¿¹·Î, °©ÀÚ±â Àü»ê ½Ç½ÀÀ» À§ÇØ 1000¸íÀÇ ID¸¦ »õ·Î ¹ß±ÞÇØ¾ß ÇѴٵ簡, ȤÀº ÇÏ·ç¿¡µµ ¼ö¹é ¸í¾¿ ID°¡ »ý¼ºµÇ°í ¾ø¾îÁö´Â ½Ã½ºÅÛÀ» À¯ÁöÇÏ·Á¸é ¿ÀÈ÷·Á ÀÌ·± ½ÉÇÃÇÔÀÌ ½Ã½ºÅÛ °ü¸®ÀÚÀÇ ÀÔÀå¿¡¼­ Á» ´õ Æí¸®Çϰí È¿À²ÀûÀÎ »ç¿ëÀÚ °èÁ¤ °ü¸® ½Ã½ºÅÛÀ» ¸¸µå´Âµ¥ µµ¿òÀÌ µÈ´Ù. ¹Ýº¹ ÀÛ¾÷À» ½ºÅ©¸³Æ®·Î ó¸®ÇÒ ¼öµµ ÀÖ°í À¥ ÀÎÅÍÆäÀ̽º¿Í ¿¬µ¿À» ÇÒ ¼öµµ Àֱ⠶§¹®ÀÌ´Ù. ¾î·µç, ¿ì¸®°¡ °ü½ÉÀÌ ÀÖ´Â ½Ã½ºÅÛÀº ÀÌ·± ´ë±Ô¸ð ½Ã½ºÅÛÀº ¾Æ´Ï´Ï ½ÉÇÃÇÔÀÌ ½Ã½ºÅÛÀ̳ª ·¹ÀÌ¾î °£¿¡ ÀÎÅÍÆäÀ̽º¸¦ ±¸¼ºÇϴµ¥ µµ¿òÀÌ µÉ ¼ö ÀÖ´Ù´Â Á¡¸¸ üũÇÏ°í ³Ñ¾î°¡µµ·Ï ÇÏÀÚ.

/dev, /proc
À¯´Ð½ºÀÇ Æ¯Â¡ ÁßÀÇ Çϳª´Â ¸ðµç °ÍÀ» ÆÄÀϷΠó¸®ÇÑ´Ù´Â Á¡ÀÌ´Ù. À̰ÍÀÌ À¯´Ð½º »óÀÇ ÇÁ¸°ÆÃ°ú °°ÀÌ ¾î¶³ ¶§´Â ÀÚÀ¯µµ°¡ Áö³ªÄ£ ±î´ß¿¡ ¿ÀÈ÷·Á º¹ÀâÇÑ »óȲÀ» ÃÊ·¡Çϱ⵵ ÇÏÁö¸¸ /dev ó·³ µð¹ÙÀ̽ºµµ ÆÄÀÏ·Î, /proc ó·³ ÇÁ·Î¼¼½º¿Í ½Ã½ºÅÛ Á¤º¸µµ ÆÄÀϷΠó¸®ÇÏ´Â ¾ÆÀ̵ð¾î´Â ÇѹøÂë ¤°í ³Ñ¾î°¥ Çʿ䰡 ÀÖ´Ù. ¿©±â¼­´Â /proc ÆÄÀϽýºÅÛÀ» À§ÁÖ·Î »ìÆìº¸ÀÚ.

/proc ÆÄÀϽýºÅÛ¿¡ µé¾î°¡ º¸¸é ¸Ç óÀ½ º¸ÀÌ´Â °ÍÀÌ ¼ö¹éMB Á¤µµÀÇ Å©±â¸¦ °®´Â kcore ÆÄÀÏÀÌ´Ù. À¯½ÉÈ÷ º¸¸é, kcore ÆÄÀÏÀÇ »çÀÌÁî°¡ ÀÚ½ÅÀÇ ½Ã½ºÅÛ ¸Þ¸ð¸® Å©±â¿Í ÀÏÄ¡ÇÑ´Ù´Â »ç½ÇÀ» ¾Ë ¼ö ÀÖ´Ù. ÀÌ·¸°Ô, /proc ÆÄÀϽýºÅÛÀº °¡»óÀÇ ÆÄÀϽýºÅÛÀ¸·Î¼­ ÇöÀçÀÇ ½Ã½ºÅÛ Á¤º¸¸¦ ÆÄÀÏÀÇ Çü½ÄÀ» ºô¾î ÀúÀåÇØ ³õ°í Àִµ¥ ¿©±â¼­ ¸î °¡Áö Áß¿äÇÑ ÆÄÀϵéÀº ´ÙÀ½°ú °°´Ù. ´ëºÎºÐÀº more ¸í·ÉÀ̳ª vi¿Í °°Àº ¿¡µðÅÍ·Î Á÷Á¢ ¿­¾îº¼ ¼ö ÀÖ´Â ÅØ½ºÆ® Çü½ÄÀÇ ÆÄÀϵéÀÌ´Ù.

Çϵå¿þ¾î Á¤º¸
/proc/cpuinfo - ½Ã½ºÅÛ CPU¿¡ °üÇÑ Á¤º¸°¡ µé¾î°¡ ÀÖ´Ù.
/proc/interrupts - ½Ã½ºÅÛ Çϵå¿þ¾î ÀÎÅÍ·´Æ® »ç¿ë Á¤º¸
/proc/dma - dma Á¤º¸
/proc/devices - Ä¿³Î¿¡ ¼³Á¤µÇ¾î ÀÖ´Â µð¹ÙÀ̽º Á¤º¸

ÇöÀç ½Ã½ºÅÛ ±¸µ¿ Á¤º¸
/proc/net - ³×Æ®¿öÅ© Á¤º¸
/proc/uptime - ½Ã½ºÅÛÀÌ ºÎÆÃ ÈÄ Áö±Ý±îÁö °è¼ÓÇØ¼­ ÄÑÁ® ÀÖ´Â ½Ã°£
/proc/stat - ¿©·¯ °¡Áö ½Ã½ºÅÛ Á¤º¸
/proc/loadavg - ½Ã½ºÅÛ¿¡ ºÎÇϰ¡ °É¸° Á¤µµ
/proc/meminfo - ½Ã½ºÅÛ ¸Þ¸ð¸® »ç¿ë Á¤º¸
/proc/modules - ÇöÀç ·ÎµùµÇ¾î ÀÖ´Â ¸ðµâ Á¤º¸

/proc µð·ºÅ丮 ¾Æ·¡¿¡ ¼ýÀÚ·Î ¸¸µé¾îÁø µð·ºÅ丮´Â ¸ðµÎ ½ÇÇàÁßÀÎ ÇÁ·Î¼¼½ºÀÌ´Ù. ÀÌ µð·ºÅ丮 ¾È¿¡ µé¾î°¡¸é ±× ÇÁ·Î¼¼½º¿¡ °üÇÑ ¿©·¯°¡Áö Á¤º¸¸¦ ¾Ë ¼ö ÀÖ´Ù. Âü°í·Î À©µµ¿ìÀÇ µð¹ÙÀ̽º µå¶óÀ̹ö¿Í ¸®´ª½ºÀÇ ¸ðµâÀ» È¥µ¿ÇÏ´Â °æ¿ì°¡ °£È¤ ÀÖ´Â °Í °°¾Æ ¼³¸íÀ» ¸î ÀÚ µ¡ºÙÀ̸é, ¸®´ª½ºÀÇ ¸ðµâÀº À©µµ¿ìÀÇ µð¹ÙÀ̽º µå¶óÀ̹ö¿Í °°´Ù°í »ý°¢Çصµ µÇÁö¸¸ ¸®´ª½º ¸ðµâÀº ´Ü¾î ±×´ë·Î modularÇÏ´Ù´Â ÀåÁ¡ÀÌ ÀÖ´Ù. ¸®´ª½º ¸ðµâÀ» ÀÌ¿ëÇÏ¸é ½Ã½ºÅÛÀ» ÀçºÎÆÃÇÏÁö ¾Ê°íµµ µð¹ÙÀ̽º µå¶óÀ̹ö¸¦ ·Îµù(loading)/¾ð·Îµù(unloading) ÇÒ ¼ö ÀÖ´Â °ÍÀÌ´Ù. ÀÌ·± ÀÌÀ¯·Î ¸®´ª½º¿¡¼­´Â ÀÚÁÖ ¾²ÀÌÁö ¾Ê´Â Çϵå¿þ¾î´Â ÇÊ¿äÇÒ ¶§¸¸ ¸ðµâÀ» ·ÎµùÇÏ°í ±× Çϵå¿þ¾î¸¦ »ç¿ëÇÑ ´ÙÀ½ ´Ù½Ã ¸ðµâÀ» ¾ð·ÎµåÇØ¼­ ½Ã½ºÅÛ ÀÚ¿øÀ» ¾Æ²¸ ¾µ ¼ö ÀÖ´Ù.

$ cd /proc/862
$ ls
cmdline  cwd  environ  exe  fd  maps  mem  mounts  root  stat  statm  status
$ ls -al
ÇÕ°è 0
dr-xr-xr-x    3 mp3      mp3           0 2004-06-17 16:55 .
dr-xr-xr-x 112 root root 0 2004-06-10 20:52 ..
-r--r--r-- 1 mp3 mp3 0 2004-06-17 16:56 cmdline
lrwxrwxrwx 1 mp3 mp3 0 2004-06-17 16:56 cwd -> /proc/862
-r-------- 1 mp3 mp3 0 2004-06-17 16:56 environ
lrwxrwxrwx 1 mp3 mp3 0 2004-06-17 16:56 exe -> /bin/bash
dr-x------ 2 mp3 mp3 0 2004-06-17 16:56 fd
-r--r--r-- 1 mp3 mp3 0 2004-06-17 16:56 maps
-rw------- 1 mp3 mp3 0 2004-06-17 16:56 mem
-r--r--r-- 1 mp3 mp3 0 2004-06-17 16:56 mounts
lrwxrwxrwx 1 mp3 mp3 0 2004-06-17 16:56 root -> /
-r--r--r-- 1 mp3 mp3 0 2004-06-17 16:56 stat
-r--r--r-- 1 mp3 mp3 0 2004-06-17 16:56 statm
-r--r--r-- 1 mp3 mp3 0 2004-06-17 16:56 status

$ more cmdline
-bash
$ more environ
USER=foobar=foobarHOME=/home/foobar/resources/CD-RipPATH=/usr/local/bin:/bin:/u
sr/bin:/usr/X11R6/binMAIL=/var/mail/mp3SHELL=/bin/bashSSH_CLIENT=
220.73.160.119
39288 22SSH_CONNECTION=220.73.160.119 39288 147.66.166.66 22SSH_TTY=/dev/pts/4TE
RM=xtermLANG=ko_KR.EUC-KR
$ more stat
862 (bash) S 861 862 862 34820 937 0 1253 1913 387 8166 7 1 15 37 15 0 0 0 62030
688 4096000 440 4294967295 134512640 135116540 3221224976 3221224296 1074886392
0 65536 3686404 1266761467 3222391889 0 0 17 0

ÀÌ·¯ÇÑ /proc ÆÄÀÏ ½Ã½ºÅÛÀÇ Á¤º¸¸¦ Á» ´õ »ç¿ëÀÚ°¡ ÆíÇÏ°Ô º¼ ¼ö ÀÖµµ·Ï ÇØ ÁÖ´Â °ÍµéÀÌ ps, top, uname, uptime°ú °°Àº ¸í·É¾îµéÀÌ´Ù.

/usr
/usr µð·ºÅ丮 ¾Æ·§ÂÊ¿¡´Â ´Ù¾çÇÑ ¼­ºêµð·ºÅ丮°¡ Á¸ÀçÇÑ´Ù. XÀ©µµ¿ì°¡ /usr/X11R6 µð·ºÅ丮 ¾Æ·¡ÂÊÀ¸·Î À§Ä¡Çϰí ÀÖÀ¸¸ç /usr/share, /usr/doc°ú °°Àº µð·ºÅ丮µéµµ Á¸ÀçÇÑ´Ù. ¿©±â¼­ ´«¿©°Ü º¼ °ÍÀº /usr/lib µð·ºÅ丮 ¾Æ·§ÂÊÀÇ ¶óÀ̺귯¸®µé°ú /usr/include ¾Æ·¡ÂÊÀÇ Çì´õ ÆÄÀϵéÀÌ´Ù. À̰÷¿¡ µé¾î°¡ ÀÖ´Â ¶óÀ̺귯¸®¿Í Çì´õÆÄÀϵéÀº ÄÄÆÄÀÏ·¯°¡ ¸í½ÃÀûÀ¸·Î µð·ºÅ丮¸¦ ÁöÁ¤ÇÏÁö ¾Ê¾Æµµ ¾Ë¾Æ¼­ ã¾Æ ÁØ´Ù.

´ÙÀ½ È£¿¡¼­´Â °³¹ßÀÚ¿¡°Ô ÇÊ¿äÇÑ µµ±¸¸¦
À̹ø È£¿¡¼­´Â À¯´Ð½ºÀÇ º¸¾È ¸ðµ¨ÀÇ ±âÃʰ¡ µÇ´Â ÆÄÀÏ ÆÛ¹Ì¼Ç°ú ¼ÒÀ¯±Ç¿¡ °ü·ÃÇÑ ³»¿ë, ±×¸®°í ¸®´ª½º ½Ã½ºÅÛÀ» Á¢ÇßÀ» ¶§ ½±°Ô Ä£¼÷ÇØÁöÁö ¾Ê´Â °³³ä°ú ¸í½ÃÀûÀ¸·Î Àß ±â¼úµÇ¾î ÀÖÁö ¾Ê´Â ÀüÅëÀûÀÎ °ü½ÀÀ» ¸í·É¾î¿Í ÇÔ²² ¾Ë¾Æº¸¾Ò´Ù. ´ÙÀ½ È£¿¡¼­´Â À̹ø È£ ±â»ç¿¡¼­ Á¶±Ý ´õ º¸ÃæÇÒ Çʿ䰡 ÀÖ´Â À¯´Ð½º ¸í·É¾î¸¦ Àá±ñ Ãß°¡ÇÏ°í °³¹ßÀڵ鿡°Ô ÇʼöÀûÀÎ ¿¡µðÅÍ¿Í ´Ù¸¥ º¸Á¶ µµ±¸µéÀÇ »ç¿ë¹ýÀ» ´Ù·ç¾î º¸µµ·Ï ÇϰڴÙ. @

man ¸í·É¾î »ç¿ëÇÏ±â  
À¯´Ð½º¿¡ ÀûÀÀÇϸ鼭 °Þ°Ô µÇ´Â ³¸¼³À½ ÁßÀÇ Çϳª°¡ man ¸í·É¾îÀÇ »ý¼ÒÇÔÀÌ´Ù. À©µµ¿ìÀÇ µµ¿ò¸»°ú´Â ´Þ¸® man ¸í·É¾î´Â »ó´çÈ÷ ³»¿ëÀÌ ¾î·Æ°í Çü½ÄÀÌ Áö³ªÄ¡°Ô µüµüÇÑ ¸éÀÌ ¾øÁö ¾Ê°í, À¥°ú °°Àº ÇÏÀÌÆÛÅØ½ºÆ®°¡ ÀÌ¹Ì ÀϹÝÈ­µÈ Áö±Ý¿¡´Â ±×´ÙÁö ¸Å·ÂÀûÀ¸·Î º¸ÀÌÁö ¾ÊÀ» ¼öµµ ÀÖÁö¸¸ À¯´Ð½º ¸Å´º¾ó ÆäÀÌÁöÀÇ °­Á¡Àº ±× °£°áÇÔ°ú ÅëÀÏµÈ Çü½ÄÀÌ´Ù. Àͼ÷ÇØÁú¼ö·Ï Æí¸®ÇØÁö´Â À¯´Ð½º¿Í ¸¶Âù°¡Áö·Î ¸Å´º¾ó ÆäÀÌÁöµµ Àͼ÷ÇØÁö´Â ³ë·ÂÀ» µéÀϸ¸ÇÑ °¡Ä¡°¡ ÀÖ´Ù.

man ¸í·ÉÀÇ Çü½ÄÀº man ¸í·É¾î ´ÙÀ½¿¡ ±Ã±ÝÇÑ »çÇ×À» Àû¾îÁÖ¸é µÇ´Â °£´ÜÇÑ ±¸Á¶¸¦ °®°í ÀÖ´Ù. ÇÏÁö¸¸ ¸Å´º¾ó ÆäÀÌÁö´Â ¿ø·¡ ¼­°¡¿¡ ÀÖ´Â ¿©·¯ ±ÇÀÇ ¸Å´º¾óÀÇ ±¸Á¶¸¦ °®°í ÀÖ´Ù. ¸Å´º¾ó ÆäÀÌÁö´Â ´ÙÀ½ÀÇ 8°¡Áö ÆÄÆ®·Î ±¸¼ºµÇ¾î ÀÖ´Ù.

Commands available to users
Unix and C system calls
C library routines for C programs
Special file names
File formats and conventions for files used in Unix
Games
Word processing packages
System administration commands and procedures

¿©±â¼­ ´«¿©°Ü º¼ ºÎºÐÀº ¼½¼Ç 3ÀÌ´Ù. ¿¹¸¦ µé¾î, À¢¸¸ÇÑ C ÇÔ¼öµéÀº À̰÷¿¡ ¸ðµÎ Á¤¸®°¡ µÇ¾î ÀÖ´Ù. man ¸í·É¾î´Â ´Ü¼øÈ÷ À¯´Ð½º ¸í·É¾î¿¡ °üÇÑ ¼³¸í¸¸ ´Ù·ç´Â °ÍÀÌ ¾Æ´Ï°í ¸Å´º¾óÈ­ ÇÒ Çʿ䰡 ÀÖ´Â Ç׸ñµéÀ» ¸ðµÎ ´ã°í ÀÖ´Â °ÍÀÌ´Ù. ±×·±µ¥ ¿©±â¼­ Çϳª Á¶½ÉÇØ¾ß ÇÒ °ÍÀÌ, man ´ÙÀ½ÀÇ Ç׸ñÀÌ ¿©·¯ ¼½¼Ç¿¡ °ÉÃÄ ÀÖ´Â °æ¿ìÀÌ´Ù. ¿¹¸¦ µé¾î printf ÇÔ¼ö¿¡ ´ëÇÑ ¸Å´º¾ó ÆäÀÌÁö¸¦ º¸°í ½Í¾î¼­ man printf¸¦ ÇÏ¸é ´ÙÀ½°ú °°ÀÌ ¼½¼Ç 1ÀÇ À¯´Ð½º ¸í·É¾î¿¡ °üÇÑ ¸Å´º¾ó ÆäÀÌÁö°¡ µðÆúÆ®·Î Ãâ·ÂµÈ´Ù.

PRINTF(1)                      FSF                      PRINTF(1)

NAME
       printf - format and print data

SYNOPSIS
       printf FORMAT [ARGUMENT]...
       printf OPTION

DESCRIPTION
       Print ARGUMENT(s) according to FORMAT.

       --help display this help and exit

       --version
              output version information and exit

(ÀÌÇÏ »ý·«)

±×·¯³ª ¿ì¸®°¡ ã°í ½ÍÀº printf ÇÔ¼öÀÇ ¸Å´º¾ó ÆäÀÌÁö´Â ÇÁ·Î±×·¡¹Ö¿¡ °ü·ÃµÈ ¼½¼Ç 3¿¡ ÀúÀåµÇ¾î ÀÖ´Ù. ¼½¼Ç 3À» ¸í½ÃÀûÀ¸·Î ÁöÁ¤ÇØ ÁÖ·Á¸é ´ÙÀ½°ú °°ÀÌ ¼½¼Ç ³Ñ¹ö¸¦ Àû¾îÁÖ¸é µÈ´Ù.

$ man 3 printf

±×·¯¸é ¿ì¸®°¡ ¿øÇÏ´Â printf ÇÔ¼ö¿¡ ´ëÇÑ ¸Å´º¾ó ÆäÀÌÁö°¡ Ãâ·ÂµÈ´Ù.

PRINTF(3)           Linux Programmer's Manual           PRINTF(3)

NAME
       printf,  fprintf,  sprintf,  snprintf,  vprintf, vfprintf,
       vsprintf, vsnprintf - formatted output conversion

SYNOPSIS
       #include

       int printf(const char *format, ...);
       int fprintf(FILE *stream, const char *format, ...);
       int sprintf(char *str, const char *format, ...);
       int snprintf(char *str, size_t size, const  char  *format,
       ...);

ÀÌ·¸°Ô ¿©·¯ ¼½¼Ç¿¡ À̸§ÀÌ °°Àº Ç׸ñÀÌ Á¸ÀçÇÏ´Â °æ¿ì¸¦ ½±°Ô ã±â À§Çؼ­´Â man -k ¸í·ÉÀ» »ç¿ëÇϸé ÁÁ´Ù. (man -k ´ë½Å¿¡ apropos¸í·É¾î¸¦ ½áµµ µÈ´Ù) printfÀÇ °æ¿ì man -k ¸í·ÉÀ» ¾²¸é ´ÙÀ½°ú °°Àº °á°ú¸¦ ¾òÀ» ¼ö ÀÖ´Ù.

$ man -k printf

printf               (1)  - format and print data
printf               (3)  - formatted output conversion

½Ã½ºÅÛ ¼³Á¤ ÆÄÀÏÀÇ ¹®¹ýµµ ¸Å´º¾ó ÆäÀÌÁö¿¡¼­ ´Ù·ç´Â Ç׸ñ ÁßÀÇ ÇϳªÀÌ´Ù. ¿¹¸¦ µé¾î /etc/passwdÀÇ ¹®¹ýÀ» ÂüÁ¶ÇÏ°í ½ÍÀ» ¶§´Â ´ÙÀ½°ú °°ÀÌ ¿øÇÏ´Â ¸Å´º¾ó ÆäÀÌÁö¸¦ ãÀ» ¼ö ÀÖ´Ù. Âü°í·Î ¼½¼Ç 5´Â ½Ã½ºÅÛ ¼³Á¤ÆÄÀÏÀ» ´Ù·é´Ù.

$ man -k passwd

passwd               (1)  - update a user's authentication tokens(s)
passwd               (5)  - password file

$ man 5 passwd
PASSWD(5)                  File formats                 PASSWD(5)

NAME
       passwd - password file

DESCRIPTION
       Passwd  is  a  text file, that contains a list of the sys-
       tem's accounts, giving for each account some useful infor-
       mation like user ID, group ID, home directory, shell, etc.
       Often it also contains the encrypted  passwords  for  each
       account.   It  should  have  general read permission (many
       utilities, like ls(1) use it  to  map  user  IDs  to  user
       names), but write access only for the superuser.

¸Å´º¾ó ÆäÀÌÁö¸¦ °è¼Ó »ìÆìº¸¸é ¾Ë°ÚÁö¸¸, ¸®´ª½º ½Ã½ºÅÛÀÇ ¸Å´º¾ó ÆäÀÌÁö´Â ´Ü¼øÈ÷ ¸®´ª½º ¿î¿µÃ¼Á¦¿Í ÇÁ·Î±×·¡¹Ö¿¡ °ü·ÃµÈ ºÎºÐ À̿ܿ¡ Perl ·¹ÆÛ·±½º °¡À̵å(perl reference guide)¿Í °°Àº ¾óÇÍ »ý°¢Çϱ⿡´Â µû·Î ´Ù¿î¹Þ¾Æ¾ß ÇÒ °Í °°Àº Á¤º¸µµ ¹æ´ëÇÑ ¾çÀÌ ÀÌ¹Ì µé¾î°¡ ÀÖÀ½À» ¾Ë ¼ö ÀÖ´Ù.

Âü°í·Î GNU ½Ã½ºÅÛ¿¡¼­´Â manº¸´Ù´Â infoÀÇ »ç¿ëÀ» ±ÇÀåÇϰí ÀÖ´Ù. info´Â man°ú ºñ½ÁÇÑ ±¸Á¶¸¦ °®°í ÀÖÁö¸¸ ÇÏÀÌÆÛÅØ½ºÆ® ±â´ÉÀÌ µé¾î°¡ ÀÖ¾î ºê¶ó¿ì¡ÀÌ Á» ´õ Æí¸®ÇÏ´Ù. ¿©±â¼­´Â info´Â ´Ù·çÁö ¾Ê±â·Î ÇÑ´Ù.

Áö±ÝÀº ¸¹ÀÌ ÀØÇôÁ®°¡´Â Å×Å©´ÐÀÌÁö¸¸ °íÀüÀûÀÎ À¯´Ð½º ¹æ½ÄÀ¸·Î Ãâ·Â¿ë ±ò²ûÇÑ ¸Þ´º¾ó ÆäÀÌÁö¸¦ ¸¸µé¾î º¸ÀÚ. man ¸í·É¾î¿¡´Â -t ¿É¼ÇÀ» ÁÖ¸é ¸Å´º¾ó ÆäÀÌÁö¸¦ Æ÷½ºÆ®½ºÅ©¸³Æ® Çü½ÄÀ¸·Î Ãâ·ÂÀ» ÇØ ÁØ´Ù. Çѹø °í½ºÆ®½ºÅ©¸³Æ®¸¦ ÀÌ¿ëÇØ¼­ ¾î¶² ¸ð½ÀÀ¸·Î Ãâ·ÂÀÌ µÉ °ÍÀÎÁö ÇÁ¸®ºä¸¦ ÇØ º¸ÀÚ. gvÀÇ - ¿É¼ÇÀº Æ÷½ºÆ®½ºÅ©¸³Æ® ÆÄÀÏ ÀÔ·ÂÀ» Ç¥ÁØ Ãâ·Â¿¡¼­ ¹Þ°Ú´Ù´Â ¿É¼ÇÀÌ´Ù.

$ man -t 5 passwd | gv -

À̰ÍÀ» pdf ÆÄÀÏ·Î ¸¸µé·Á¸é ´ÙÀ½°ú °°Àº °£´ÜÇÑ ¸í·É¾î·Î ÇØ°áÀÌ µÉ °ÍÀÌ´Ù. ½ÉÇÃÇÑ ¸í·É¾î ÇѵΠ°¡Áö·Î º¹ÀâÇÑ ±â´É±îÁö ó¸®ÇØ ³»´Â À¯´Ð½ºÀÇ ¹ÌÇÐÀÌ µå·¯³ª´Â ºÎºÐÀÌ´Ù.

$ man -t 5 passwd | ps2pdf > passwd_manual.pdf

* ÀÌ ±â»ç´Â ZDNet KoreaÀÇ ÀÚ¸ÅÁöÀÎ ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®¿þ¾î¿¡ °ÔÀçµÈ ³»¿ëÀÔ´Ï´Ù.
µ¶ÀÚÀÇ°ß ³²±â±â (·Î±×ÀÎ ÈÄ µ¶ÀÚ ÀǰßÀ» ³²±â½Ç ¼ö ÀÖ½À´Ï´Ù.)
¾ÆÀ̵ð ºñ¹Ð¹øÈ£
 
 
[ORM ¨é] iBATIS SQL...
[¼öÆÛ°³¹ßÀÚÀÇ ±æ ¨ç] °¡½¿ÀÇ ²Þ...
[ORM ¨è] JPA Ȱ¿ëÇϱâ
[ORM ¨ç] ÇÏÀ̹ö³×ÀÌÆ® Ȱ¿ëÀü...
[±â°í]±ÝÀ¶ ¼­ºñ½º ½ÃÀåÀ» À§ÇÑ ...
[DDD ¨ë] BDD(Behavi...
[±â°í]¿Ã¸²ÇÈ ½ÃÁ𠺸¾È À§Çù¿¡ ...
'±¤¼¶À¯ 3D ¿µ»ó', ³úÀÇÇп¡ »õ ÁöÆò ¿­´Ù [00:02:31]
Áöµð³ÝÄÚ¸®¾Æ ¿µ»óÁ¦ÀÛÆÀ
Ç÷¹À̽ºÅ×À̼Ç3(PS3) ´ë¿ë·® HDD ±³Ã¼ ½¬¿î ÆÁ [00:03:22]
Áöµð³ÝÄÚ¸®¾Æ ¿µ»óÁ¦ÀÛÆÀ
¡°À¥ Ç¥ÁØÀº ¹«½¼!¡±¡¦IE8¿¡ ´ë...
Á¶Áßµ¿, ´ÙÀ½¿¡ ´º½º°ø±Þ Áß´Ü¡¦"...
¡®³ªÈ¦·Î ¾×ƼºêX¡¯¡¦¼¼°è ÀÎÅͳݰú...
³×À̹ö´Â ¿Ö '10´ë ÇØÄ¿'¿¡ ´ç...
[¼öÆÛ°³¹ßÀÚÀÇ ±æ ¨ç] °¡½¿ÀÇ ²Þ...
°øÀÎÀÎÁõüÁ¦, ¿ì¸®¿¡°Ô ÀÓ¹ÚÇÑ ¹Ì...
Áö¾Öµå, ¿Á¿Ü±¤°í¿Í Ç×°ø»çÁø °áÇÕ...
[Àλç]Áö½Ä°æÁ¦ºÎ
ÆÄ¼ö´åÄÄ "DRMÀÌ º¸¾È»ê¾÷ À̲ö...
³×À̹ö ¼­ºñ½º ÀÚ¹®À§¿øÈ¸, º»°ÝÀû...
Çѱ¹¾ÆÀ̽ǷÐ, ¾¾µð³×Æ®¿÷½º¿¡ ´ë±Ô...
 
 
The Korean edition of 'ZDNet' is published under license from CNET Networks, Inc., San Francisco, CA, USA. Editorial items appearing in 'ZDNet Korea' that were originally published in the US Edition of 'ZDNet', 'CNET', and 'CNET News.com' are the copyright properties of CNET Networks, Inc. or its suppliers.
Copyright ¨Ï 2008 CNET Networks, Inc. All Rights Reserved. 'ZDNet', 'CNET' and 'CNET News.com' are trademarks of CNET Networks, Inc.