Linux Information
 
ÃÑ °Ô½Ã¹° 125°Ç, ÃÖ±Ù 0 °Ç
   
HOW-TO Adjust permission(chmod, chattr)
±Û¾´ÀÌ : ½Å¿µÃ¶ ³¯Â¥ : 2013-01-18 (±Ý) 11:44 Á¶È¸ : 21808

1. chmod
ÆÄÀÏ ¶Ç´Â µð·ºÅ丮ÀÇ Á¢±Ù ±ÇÇÑÀ» º¯°æÇÏ´Â ¸í·ÉÀÌ´Ù.

1.1 chmodÀÇ ±âº»ÀûÀÎ »ç¿ë¹ý
chmod [-¿É¼Ç] [¸ðµå] [ÆÄÀϸí]

[¿É¼Ç]
chmod ¸í·É¿¡´Â ¸î°¡Áö ¿É¼ÇÀÌ Á¸ÀçÇÏÁö¸¸ -R ¿É¼Ç ¿Ü¿¡´Â »ç¿ëÇÒ ÀÏÀÌ ¾ø±â ¶§¹®¿¡ -R ¿É¼Ç¸¸ ¼³¸íÀ» ÇϰڴÙ.
-R : ÆÛ¹Ì¼Ç º¯°æ ´ë»óÀÌ µð·ºÅ丮ÀÏ °æ¿ì ±× ÇÏÀ§ °æ·Î¿¡ ÀÖ´Â ¸ðµç ÆÄÀϰú µð·ºÅ丮ÀÇ ÆÛ¹Ì¼ÇÀ» º¯°æÇÑ´Ù.
 
[¸ðµå(½Éº¼¸¯)]
½Éº¼¸¯ ¸ðµå¿Í 8Áø¼ö ¸ðµå¸¦ »ç¿ëÇÒ ¼ö Àִµ¥ ´ëºÎºÐÀÇ »ç¿ëÀÚµéÀº ½Éº¼¸¯ ¸ðµå º¸´Ù 8Áø¼ö ¸ðµå¸¦ ¼±È£ÇÑ´Ù.
±×·³ ½Éº¼¸¯ ¸ðµåºÎÅÍ °øºÎÇØ º¸µµ·Ï ÇÏÀÚ.
½Éº¼¸¯ ¸ðµå¿¡¼­ "u = ¼ÒÀ¯ÀÚ, g = ¼ÒÀ¯ ±×·ì, o = other, a = all, r = Àбâ, w = ¾²±â, x = ½ÇÇà"À» ÀǹÌÇÑ´Ù.
½Éº¼¸¯ ¸ðµå¿¡¼­´Â ±ÇÇÑ Ãß°¡¿¡ ´ëÇØ¼­ '+' ¸¦ »ç¿ëÇÏ°í ±ÇÇÑ ¹ÚÅ»¿¡ ´ëÇØ¼­´Â '-' ¸¦ »ç¿ëÇÑ´Ù. '=' ¸¦ »ç¿ëÇϸé ÇöÀç ¼³Á¤µÈ ±ÇÇÑÀº Á¦°ÅµÇ°í ¿ÀÁ÷ '='·Î ¼³Á¤ÇÑ ±ÇÇѸ¸ ºÎ¿©ÇÑ´Ù.

¢º file1¿¡ ´ëÇØ ¼ÒÀ¯ ±×·ì¿¡°Ô ¾²±â ±ÇÇÑÀ» Ãß°¡ÇÒ ¶§
[root@rootman root]# chmod g+w file1

¢º ¼ÒÀ¯ÀÚ¿¡°Ô file1¿¡ ´ëÇØ ¾²±â ±ÇÇÑÀ» ÁÖ°í ¼ÒÀ¯ ±×·ì¿¡°Ô´Â ¾²±â ±ÇÇÑÀ» ¹ÚÅ»ÇÒ ÇÒ ¶§
[root@rootman root]# chmod u+w,g-w file1
--> À§¿Í °°ÀÌ µ¿½Ã¿¡ ¿©·¯ ´ë»ó¿¡ ´ëÇØ ¼³Á¤ÇÒ ¶§´Â °¢ ´ë»óÀ» ÄÞ¸¶(,)·Î ±¸ºÐÇÏ¸é µÈ´Ù. Àý´ë °ø¹éÀÌ µé¾î°¡¼­´Â ¾ÈµÈ´Ù.

[¸ðµå(8Áø¼ö)]
8Áø¼ö ¸ðµå¿¡¼­ 4 = Àбâ, 2 = ¾²±â, 1 = ½ÇÇàÀ» ÀǹÌÇÑ´Ù. 8Áø¼ö ¸ðµå´Â ¼ÒÀ¯ÀÚ¿Í ¼ÒÀ¯±×·ì, other¿¡ ´ëÇØ¼­ 8Áø¼ö 3ÀÚ¸®·Î Ç¥ÇöÇϴµ¥ ù° ÀÚ¸®¼ö°¡ ¼ÒÀ¯ÀÚ¸¦ ÀǹÌÇÏ°í µÑ° ÀÚ¸´¼ö°¡ ¼ÒÀ¯ ±×·ì, ¼Â° ÀÚ¸´¼ö°¡ otherÀ» ÀǹÌÇÑ´Ù.
¿¹¸¦ µé¾î 751 ¶ó´Â ÆÛ¹Ì¼ÇÀº ¼ÒÀ¯ÀÚ¿¡°Ô 7, ¼ÒÀ¯ ±×·ì¿¡°Ô 5, other¿¡°Ô 1 ¿¡ ÇØ´çÇÏ´Â ÆÛ¹Ì¼ÇÀ» ¼³Á¤ÇÑ °ÍÀÌ´Ù.
ÆÛ¹Ì¼ÇÀÇ °è»êÀº ÁÖ¾îÁø ±ÇÇÑ¿¡ ÇØ´çÇÏ´Â 8Áø¼ö °ªÀ» ¸ðµÎ ´õÇØ¼­(+) ¼³Á¤µÈ´Ù.

¢º ¼ÒÀ¯ÀÚ¿¡°Ô Àбâ, ¾²±â, ½ÇÇà ±ÇÇÑÀ» ¼ÒÀ¯ ±×·ì¿¡°Ô´Â Àбâ, ½ÇÇà ±ÇÇÑÀ» other¿¡°Ô´Â ½ÇÇà ±ÇÇѸ¸À» ¼³Á¤ÇÑ 8Áø¼ö ¸ðµå
¼ÒÀ¯ÀÚ = 4(Àбâ) + 2(¾²±â) + 1(½ÇÇà) = 7
¼ÒÀ¯±×·ì = 4(Àбâ) + 1(½ÇÇà) = 5
other = 1(½ÇÇà) = 1
--> ÀÌ°É Á¤¸®Çϸé 751 À̶ó´Â 8Áø¼ö ¸ðµå·Î Ç¥ÇöÇÒ ¼ö ÀÖ´Ù. ¹°·Ð Ãʺ¸ÀÚ¸¦ À§ÇÑ ¼³¸íÀÌ´Ï±î µ¡¼À±îÁö Çϸ鼭 ¼³¸íÀ» ÇßÁö¸¸ ¸î¹ø »ç¿ëÇÏ´Ù º¸¸é ±Ý¹æ ÀÍÈú ¼ö ÀÖÀ» °ÍÀÌ´Ù.

¢º file1¿¡ ´ëÇØ ¼ÒÀ¯ÀÚ¿¡°Ô Àбâ, ¾²±â ±ÇÇÑÀ» ¼ÒÀ¯ ±×·ì°ú other¿¡°Ô´Â Àб⠱ÇÇÑÀ» °®µµ·Ï ¼³Á¤ÇÒ ¶§
[root@rootman root]# chmod 644 file1

1.2 Ưº°ÇÑ ÆÛ¹Ì¼Ç setuid, setgid, sticky bit
setuid, setgid
½ÇÇà ÆÛ¹Ì¼Ç¿¡´Â setuid¿Í setgid¶ó´Â Ưº°ÇÑ ÆÛ¹Ì¼ÇÀÌ ÀÖ´Ù. setuid´Â ½Éº¼¸¯ ¸ðµå·Î 's'·Î Ç¥ÇöµÇ°í 8Áø¼ö ¸ðµå·Î´Â 4000 À¸·Î Ç¥ÇöµÈ´Ù.

setuid ÆÛ¹Ì¼ÇÀÌ ¼³Á¤µÇ¾î ÀÖ´Â ½ÇÇà ÆÄÀÏÀº ½ÇÇàµÇ´Â µ¿¾È¿¡´Â ±× ÆÄÀÏÀÇ ¼ÒÀ¯ÀÚ ±ÇÇÑÀ» °¡Áö°Ô µÈ´Ù.

ÀÌ·¯ÇÑ ÀÌÀ¯¶§¹®¿¡ root ¼ÒÀ¯ÀÇ setuid ÆÛ¹Ì¼ÇÀÌ Æ÷ÇԵǾî ÀÖ´Â ÆÄÀÏÀº ¾ÆÁÖ ½ÅÁßÈ÷ °ü¸®¸¦ ÇØ¾ß µÈ´Ù.

»ç¿ë ¾ÈÇÏ´Â setuid ½ÇÇà ÆÄÀÏÀº setuid ÆÛ¹Ì¼ÇÀ» Á¦°ÅÇØ¼­ µû·Î º¸°üÇÏ´Â °ÍÀÌ ÁÁ´Ù.
setgid ÆÛ¹Ì¼ÇÀÌ Æ÷ÇԵǾî ÀÖ´Â ½ÇÇà ÆÄÀÏÀº ½ÇÇàµÇ´Â µ¿¾ÈÀº ±× ÆÄÀÏÀÇ ¼ÒÀ¯ ±×·ìÀÇ ±ÇÇÑÀ» °¡Áö´Â °Í »©°í´Â setuid¿Í °°´Ù.
setgidÀÇ 8Áø¼ö ¸ðµå´Â 2000 ÀÌ´Ù.

setuid ÆÛ¹Ì¼ÇÀ» Æ÷ÇÔÇϰí ÀÖ´Â ½ÇÇà ÆÄÀÏÀ» ls -al ¸í·ÉÀ¸·Î È®ÀÎÇØ º¸¸é ´ÙÀ½°ú °°ÀÌ ¼ÒÀ¯ÀÚ ½ÇÇàÆÛ¹Ì¼Ç¿¡ 's'¶ó°í µÇ¾î ÀÖ´Â °ÍÀ» È®ÀÎÇÒ ¼ö ÀÖ´Ù.

[root@rootman root]# ls -al /bin/su
-rwsr-xr-x    1 root    root        14112  1¿ù 16  2001 /bin/su

setgid°¡ Æ÷ÇԵǾî ÀÖ´Â ½ÇÇà ÆÄÀÏÀ» ls -al ¸í·ÉÀ¸·Î È®ÀÎÇÏ¸é ¼ÒÀ¯ ±×·ìÀÇ ½ÇÇà ÆÛ¹Ì¼Ç¿¡ 's'°¡ ¼³Á¤µÇ¾î ÀÖ´Â °ÍÀ» È®ÀÎÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.

[root@rootman root]# ls -al /usr/bin/man
-rwxr-sr-x    1 root    root        14112  2¿ù 5  2001 /usr/bin/man

¢º file1 À̶ó´Â ½ÇÇà ÆÄÀÏ¿¡ setuid ÆÛ¹Ì¼ÇÀ» ¼³Á¤ÇÒ ¶§
[root@rootman root]# chmod 4755 file1

¢º file1 À̶ó´Â ½ÇÇà ÆÄÀÏ¿¡ setgid ÆÛ¹Ì¼ÇÀ» ¼³Á¤ÇÒ ¶§
[root@rootman root]# chmod 2755 file1

sticky bit
sticky bitµµ Ưº°ÇÑ ÆÛ¹Ì¼ÇÀÌ´Ù.
otherÀÇ ¾²±â ±ÇÇÑ¿¡ ´ëÇÑ Æ¯º°ÇÑ ÆÛ¹Ì¼ÇÀε¥ /tmp µð·ºÅ丮¿Í /var/tmp µð·ºÅ丮¿¡ÀÇ
ÆÛ¹Ì¼ÇÀÌ stickbit°¡ Æ÷ÇԵǾî ÀÖ´Ù.

 sticky bit´Â 8Áø¼ö ¸ðµå·Î´Â 1000À¸·Î ¼³Á¤µÇ°í ½Éº¼¸¯ ¸ðµå·Î´Â 't' ¶Ç´Â 'T'·Î ¼³Á¤µÈ´Ù.

ÀÌ sticky bit°¡ Æ÷ÇԵǾî ÀÖ´Â µð·ºÅ丮¿¡ other¿¡ ¾²±â ±ÇÇÑÀÌ ÀÖÀ» °æ¿ì other¿¡ ÇØ´çÇÏ´Â »ç¿ëÀÚµéÀº µð·ºÅ丮 ¾È¿¡ ÆÄÀÏÀ» ¸¸µé ¼ö´Â À־ µð·ºÅ丮 »èÁ¦´Â ÇÒ ¼ö ¾ø´Ù.

sticky bit°¡ Æ÷ÇԵǾî ÀÖ´Â ´ëÆ÷ÀûÀÎ µð·ºÅ丮°¡ /tmp µð·ºÅ丮Àε¥ ºÐ¸íÈ÷ /tmp µð·ºÅ丮ÀÇ ÆÛ¹Ì¿¡´Â other¿¡°Ô ¾²±â ±ÇÇÑÀÌ ÁÖ¾îÁ® ÀÖ´Ù.

±×·¸±â ¶§¹®¿¡ /tmp µð·ºÅ丮¿¡´Â ´©±¸³ª µð·ºÅ丮¿Í ÆÄÀÏÀ» ¸¸µé ¼ö ÀÖ´Ù.
ÇÏÁö¸¸ other¿¡ ÇØ´çÇÏ´Â »ç¿ëÀÚ´Â ¾²±â ±ÇÇÑÀÌ ÀÖÀ½¿¡µµ ºÒ°í Çϰí /tmp µð·ºÅ丮¸¦ Áö¿ï¼ö ¾ø´Â °ÍÀÌ´Ù.

±× ÀÌÀ¯´Â /tmp µð·ºÅ丮¿¡´Â sticky bit°¡ ¼³Á¤µÇ¾î Àֱ⠶§¹®ÀÌ´Ù.
´ç¿¬È÷ ¼ÒÀ¯ÀÚ´Â sticky bit°¡ ¼³Á¤µÇ¾î ÀÖ´Â µð·ºÅ丮¸¦ »èÁ¦ÇÒ ¼ö ÀÖ´Ù.

µð·ºÅ丮°¡ ¾Æ´Ñ ÆÄÀÏ¿¡ sticky bit°¡ ¼³Á¤µÇ¾î ÀÖÀ» ¶§´Â other ¿¡°Ô ¾²±â ÆÛ¹Ì¼ÇÀÌ À־ ÆÄÀÏÀ» ¼öÁ¤ÇÒ ¼ø ÀÖÁö¸¸ ±× ÆÄÀÏÀ» »èÁ¦ÇÒ ¼ö´Â ¾ø´Ù.

sticky bitÀÇ ÀÌ·± Ư¡À» ÀÌ¿ëÇÏ¸é °ø°³ ¼­¹ö¿¡¼­´Â ¿©·¯¸ð·Î ¿ä±â³ª°Ô »ç¿ëÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
sticky bit¸¦ Àû¿ëÇÒ·Á¸é ´ç¿¬È÷ ¾²±â ±ÇÇѵµ ÁÖ¾î¾ß µÇ´Ù.

¢º sticky bit°¡ Æ÷ÇԵǾî ÀÖ´Â µð·ºÅ丮ÀÇ ls -al °á°ú
[root@rootman root]# ls -ald /tmp
drwxrwxrwt  14 root    root        4096 Aug 30 02:05 /tmp

¢º dir1 À̶ó´Â µð·ºÅ丮¿¡ sticky bit¸¦ ¼³Á¤ÇÒ ¶§
[root@rootman root]# chmod 1707 dir1    -->  ¶Ç´Â chmod 1777 dir1

¢º sticky bit°¡ ¼³Á¤µÇ¾î ÀÖ´Â µð·ºÅ丮¸¦ other¿¡ ÇØ´çµÇ´Â »ç¿ëÀÚ°¡ µð·ºÅ丮 »èÁ¦ ¸í·ÉÀ» ÇßÀ» ¶§
[rootman@rootman /tmp]# rm -rf dir1
rm: cannot remove directory `dir1': Operation not permitted 
[rootman@rootman /tmp]# ls -ald dir1
drwx---rwt  2 root    root        4096 Aug 30 18:42 dir1

2. chattr, lsattr
·çÆ®µµ Áö¿ìÁö ¸øÇÏ´Â ÆÄÀÏÀ» ¼³Á¤ÇÒ ¼ö ÀÖ´Ù´Â ¸»À» µé¾î º»ÀûÀÌ ÀÖ³ª¿ä?
chattrÀ» ÀÌ¿ëÇÏ¸é ÆÄÀÏÀÇ ¼ÒÀ¯ÀÚ¶óµµ read-only·Î¸¸ ÆÄÀÏÀ» ¿­¼ö ÀÖ°Ô ÇÒ¼ö ÀÖ°í rootµµ chattr·Î ¼³Á¤ÇÑ °ÍÀ» ÇØÁ¦ÇÏÁö ¾ÊÀ¸¸é Àý´ë chattr +i ·Î ¼³Á¤ÇÑ ÆÄÀÏÀ» Áö¿ï ¼ö ¾ø´Ù.

´Ü, root¸¸ »ç¿ë °¡´ÉÇÏ´Ù.

°£È¤ ¢±ÄÀº ÇØÄ¿´Â ¸ÛûÇÑ °ü¸®ÀÚ¸¦ À§ÇØ(?) ÇØÅ·ÇÑ ½Ã½ºÅÛÀÇ Æ¯Á¤ ÆÄÀÏ¿¡ chattr +i ¸¦ ¼³Á¤ÇØ ³õ°í chattr ¸í·ÉÀ» ¸ð¸£´Â °ü¸®ÀÚ°¡ ÆÄÀÏÀ» ¼öÁ¤ÇÒ·Á°í ²þ²þ ´ë´Â ¸ð½ÀÀ» Áñ±â±âµµ ÇÑ´Ù.

¾î¶² °ü¸®ÀÚ´Â ½Ã½ºÅÛÀÇ ¹®Á¦¶ó°í »ý°¢ÇÏ°í Æ÷¸äÀ» ÇÏ´Â °ü¸®ÀÚ¸¦ º»Àûµµ ÀÖ´Ù.
¶Ç chattr¿¡´Â ÆÄÀÏÀÇ ¼öÁ¤À» Ãß°¡ ¸ðµå·Î¸¸ ¿­ ¼ö ÀÖµµ·Ï ¼³Á¤ÇÏ´Â ¿É¼Çµµ ÀÖ´Ù.
lsattr À̶ó´Â ¸í·ÉÀ¸·Î ÆÄÀÏÀÇ chattr ¸ðµå¸¦ È®ÀÎÇÒ ¼ö ÀÖ´Ù.

chattr [¿É¼Ç] [+=-¸ðµå] [ÆÄÀϸí]

¸ðµå¸¦ Ãß°¡ ÇÒ¶§´Â '+¸ðµå' , ¸ðµå¸¦ Á¦°ÅÇÒ ¶§´Â '-¸ðµå'¸¦ »ç¿ëÇÏ¸é µÇ°í '=¸ðµå'¸¦ »ç¿ëÇÒ °æ¿ì ÇöÀçÀÇ ¸ðµå´Â Á¦°ÅµÇ°í ¿ÀÁ÷ '=¸ðµå'·Î ¼³Á¤µÈ ¸ðµå¸¸ Àû¿ëµÈ´Ù.

[¿É¼Ç]
-R : ´ë»óÀÌ µð·ºÅ丮ÀÏ °æ¿ì ±× ÇÏÀ§ °æ·Î¿¡ ÀÖ´Â ÆÄÀϰú µð·ºÅ丮±îÁö ¸ðµå¸¦ Àû¿ëÇÑ´Ù.
[¸ðµå]
i : ÆÄÀÏÀ» read-olny·Î¸¸ ¿­ ¼ö ÀÖ°Ô ¼³Á¤ÇÑ´Ù. ¸µÅ©µµ Çã¿ëÇÏÁö ¾Ê°í ·çÆ®¸¸ÀÌ ÀÌ ¸ðµå¸¦ Á¦°ÅÇÒ ¼ö ÀÖ´Ù.
a : ÆÄÀÏÀÇ ¼öÁ¤À» ÇÒ ¶§ ³»¿ëÀ» Ãß°¡ÇÒ ¼ö¸¸ ÀÖ´Ù. ´Ü, viÆíÁý±â·Î´Â ³»¿ëÀ» Ãß°¡ ÇÒ ¼ö ¾ø´Ù.

¢º file1¿¡ i ¸ðµå¸¦ Ãß°¡ÇÒ ¶§
[root@rootman /tmp]# chatr +i file1

¢º file2¿¡ a ¸ðµå¸¦ Ãß°¡ÇÒ ¶§
[root@rootman /tmp]# chattr +a file2

¢º ÆÄÀÏÀÇ chattr ¸ðµå È®ÀÎ
[root@rootman /tmp]# lsattr file1 file2
---i-------- file1
----a------- file2

¢º i ¸ðµå°¡ ¼³Á¤µÈ ÆÄÀÏÀ» Á¦°ÅÇÒ·Á°í ÇÒ ¶§ ³ªÅ¸³ª´Â ¸Þ½ÃÁö
[root@rootman /tmp]# rm -f file1
rm: cannot unlink `file1': ¸í·ÉÀÌ Çã¿ëµÇÁö ¾ÊÀ½

¢º a ¸ðµå°¡ ¼³Á¤µÈ file2 ¿¡ ³»¿ëÀ» Ãß°¡ÇÒ ¶§
[root@rootman /tmp]# cat >> file2
a ¸ðµå°¡ ¼³Á¤µÇ¾î ÀÖ´Â ÆÄÀÏ.
³»¿ëÀ» Ãß°¡ÇÕ´Ï´Ù.
^D 
--> a ¸ðµå°¡ ¼³Á¤µÈ ÆÄÀÏÀº ³»¿ë Ãß°¡¸¸ ÇÒ ¼ö Àִµ¥ viÆíÁý±â¿¡¼­´Â Ãß°¡µÇÁö ¾Ê¾Ò´Ù.  À§ÀÇ ¿¹Á¦¿¡´Â >>(Ãâ·Â ¸®´ÙÀÌ·º¼Ç)À» »ç¿ëÇØ ³»¿ëÀ» Ãß°¡ ÇÏ¿´´Ù.

¢º i, ¶Ç´Â a ¸ðµå°¡ ¼³Á¤µÈ ÆÄÀÏ¿¡ ¸ðµå¸¦ Á¦°ÅÇÒ ¶§´Â '-¸ðµå' ¸¦ ÀÌ¿ëÇÑ´Ù.
[root@rootman /tmp]# chattr -i file1

½Å¿µÃ¶ ´ÔÀÇ Linux ÃÖ½Å±Û [´õº¸±â]


   

 

naver.com daum.net nate.com google.co.kr youtube.com


Copyright ¨Ï www.pronice.com. All rights reserved.