LINUX
2017.06.03 / 14:57

AWS ¼­¹ö·Î ÀÌÀüÇϱâ À§ÇØ ÇÊ¿äÇÑ Áö½Äµé 2ź ¸®´ª½º ¾ÆÆÄÄ¡ º¸¾È ÆÄÀÏ µð·ºÅ丮 ÆÛ¹Ì¼Ç ±ÇÇÑ ¼³Á¤ ½ÇÀü ¿¹

±Ý±Ý±Ý
Ãßõ ¼ö 155

AWS ¼­¹ö·Î ÀÌÀüÇϱâ À§ÇØ ÇÊ¿äÇÑ Áö½Äµé 2ź

Áö³­±Û¿¡ À̾ 2źÀ¸·Î Á¤¸®Çغ»´Ù. Áö³­±ÛÀ» µÇ¤¾îº¸·Á´Ï ¶Ç ±â¾ïÀÌ °¡¹°°¡¹°¡¦ ¿ª½Ã ±ÛÀº »ý°¢³¯ ¶§ ¹Ù·Î ½á¾ß¡¦ ÈåÈ桦 °¢¼³ÇÏ°í,.. Áö³­ ±ÛÀ» µÇ¤¾îº¸ÀÚ.

Áö³­±Û¿¡¼­ ¾Æ¸¶Á¸ EC2 ÀνºÅϽº¸¦ Çϳª ¸¸µé°í »ç¿ëÀÚ °èÁ¤°ú ÆÄÀÏ ¹× Æú´õ ¼ÒÀ¯ÀÚ¿¡ ´ëÇÑ À̾߱⸦ Àá±ñ ¾ð±ÞÇß¾ú´Ù. ƯÈ÷ ¿£Áø¿¢½º¿¡¼­ ¼­¹öÀÇ ½ÇÇà±ÇÇÑÀÌ nginx ¶ó´Â °ÍÀÌ ¸Å¿ì Áß¿äÇÏ´Ù°í À̾߱âÇß¾ú´Ù. ÀÌ À̾߱⸦ Çϱ⠾ռ­ ¸ÕÀú ¸®´ª½º ÆÄÀÏ ±ÇÇÑ ºÎÅÍ ¾Ë¾Æº¸ÀÚ.

¸®´ª½º ÆÄÀÏ ±ÇÇÑ¿¡ ´ëÇÑ ±âº» °³³ä

¸®´ª½º¸¦ ¼³Ä¡ÇÏ°í °¡Àå ÃÖ»óÀ§ ·çÆ®(/)¿¡¼­ ls -al¸í·É¾î¸¦ ½ÇÇàÇغ¸ÀÚ.

$> cd /
$> ls
$> ls -al
ÇÕ°è 100
dr-xr-xr-x 23 root root  4096 11¿ù 21 15:10 .           <--- ÇöÀç Æú´õ
dr-xr-xr-x 23 root root  4096 11¿ù 21 15:10 ..          <--- »óÀ§ Æú´õ
-rw-r--r--  1 root root     0 11¿ù 21 15:10 .autofsck
dr-xr-xr-x  2 root root  4096 11¿ù 21 12:12 bin
dr-xr-xr-x  4 root root  4096 11¿ù 21 13:29 boot
... Áß·« ...
dr-xr-xr-x 89 root root     0 11¿ù 21 15:10 proc
dr-xr-x---  4 root root  4096 11¿ù  5 06:09 root
dr-xr-xr-x  2 root root  4096 11¿ù 21 12:54 sbin
dr-xr-xr-x 13 root root     0 11¿ù 24 09:54 sys
drwxrwxrwt  3 root root  4096 11¿ù 24 09:54 tmp
... Áß·« ..

Á¶È¸¸¦ Çغ¸¸é ´ëÃæ À§¿Í °°Àº °á°ú¸¦ ¾òÀ»¼öÀÖ´Ù. ¿©±â¼­ ù¹ø° ¿­(drwxrwxrwt)Àº °èÁ¤ÀÇ ±ÇÇÑÀ» ÀǹÌÇÑ´Ù. Æú´õÀÏ °æ¿ì d·Î ½ÃÀÛµÇ°í ½Éº¼¸¯ ¸µÅ©ÀÎ °æ¿ì¿£ l, ±×¸®°í ÆÄÀÏÀº ¹ÌÁöÁ¤(-)»óÅ°¡ µÈ´Ù. ±×¸®°í ±× ´ÙÀ½ °¢°¢ 3ÀÚ¸®´Â ¾Æ·¡¿Í °°´Ù.

[1ÀÚ¸®:ÆÄÀÏŸÀÔ][3ÀÚ¸®:¼ÒÀ¯ÀÚ±ÇÇÑ][3ÀÚ¸®:±×·ìÀDZÇÇÑ][3ÀÚ¸®:others±ÇÇÑ]

À§¿¡¼­ ¼ÒÀ¯ÀÚ¿Í ±×·ìÀº µÎ¹ø°¿Í ¼¼¹ø° ¿­¿¡ °¢°¢ ±× ¼ÒÀ¯ÀÚ¿Í ±×·ì À̸§À» Ç¥½ÃÇÑ´Ù. ¿©±â±îÁö´Â »ó½ÄÀÌ´Ï±î ³Ñ¾î°¡°í ÀÚ¼¼ÇÑ ³»¿ëÀº °Ë»öÇÏ¸é ¸¹À¸´Ï±î °Ë»öÇغ¸ÀÚ.

·çÆ® Æú´õ(/)ÀÇ ´ëºÎºÐÀº ¼ÒÀ¯ÀÚÀÎ ·çÆ®(root)¿¡°Ô ´ëºÎºÐÀÇ Àбâ(r),¾²±â(w),½ÇÇà(x)±ÇÇÑÀÌ ¿­·ÁÀÖ´Ù. ÇÏÁö¸¸ ¸î¸î Æú´õµéÀº ¾²±â ±ÇÇÑÀÌ ºüÁ®ÀÖ´Â °ÍÀ» È®ÀÎÇÒ ¼ö ÀÖ´Ù. ´ëÇ¥ÀûÀ¸·Î ¸®´ª½º ½Ã½ºÅÛ Æú´õ(/sys)¿Í ºÎÆÿ¡ ÇÊ¿äÇÑ Æú´õ(/boot) ±×¸®°í ½ÇÇàÁßÀÌ ÇÁ·Î¼¼½º Á¤º¸°¡ ´ã°ÜÀÖ´Â /proc Æú´õµéÀº ·çÆ® ¸¶Àúµµ ¾²±â±ÇÇÑÀÌ ¾ø´Â °æ¿ì°¡ ¸¹´Ù. »ý°¢Çغ¸¸é ³Ê¹«³ª ´ç¿¬ÇÑ ±ÇÇÑÀÌ´Ù. ÀÌ·± ±ÇÇÑ ¶§¹®¿¡ ·çÆ®(/)Æú´õ¿¡¼­ ÀÏ¹Ý À¯Àú°¡ mkdir ¸í·ÉÀ¸·Î Æú´õ¸¦ »ý¼ºÇϸé Æ۹̼ÇÀÌ ¾ø´Ù¸ç »ý¼ºÀÌ µÇÁö ¾Ê´Â´Ù.

[ec2-user@/]$> cd /
[ec2-user@/]$> mkdir test
mkdir: `test' µð·ºÅ丮¸¦ ¸¸µé ¼ö ¾ø½À´Ï´Ù: Çã°¡ °ÅºÎ

ÇÏÁö¸¸ ±ÇÇÑÀÌ ÀÖ´Â Æú´õ¿¡¼­´Â ´ç¿¬È÷ Æú´õµç ÆÄÀÏÀÌµç »ý¼ºÇÒ¼ö ÀÖ´Ù. ±×·³ Æú´õ¸¦ Çϳª »ý¼ºÇغ¸ÀÚ.

[ec2-user@/]$> cd ~
[ec2-user@~]$ mkdir test
[ec2-user@~]$ ls -al | grep test
drwxrwxr-x   2 ec2-user ec2-user  4096 11¿ù 24 10:41 test

ec2-user °èÁ¤À¸·Î Æú´õ¸¦ »ý¼ºÇÏ¸é ´ç¿¬È÷ ù¹ø° ºñÆ®´Â Æú´õÀ̹ǷΠ[d]°¡ µÈ´Ù. ±×¸®°í º»ÀÎÀÌ »ý¼ºÇßÀ¸¹Ç·Î ´ç¿¬È÷ ¼ÒÀ¯ÀÚ±ÇÇÑÀº rwx°¡ µÇ°í, ±×·ìÀÇ ±ÇÇÑÀº ec2-user°¡ ¼ÓÇØÀÖ´Â ±×·ì¿¡°Ô´Â ¸ðµç ±ÇÇÑÀÌ ¿­·ÁÀÖ´Ù. ÇÏÁö¸¸ ±×¿Ü À¯Àúµé¿¡°Ô´Â ¾²±â ±ÇÇÑÀÌ ¾ø´Ù. ±×·³ ·çÆ®·Î Æú´õ¸¦ »ý¼ºÇÏ¸é ¾î¶² ±ÇÇÑÀÌ »ý¼ºµÉ±î?

[ec2-user@~]$ sudo mkdir test2
[ec2-user@~]$ ls -al | grep test
drwxrwxr-x   2 ec2-user ec2-user  4096 11¿ù 24 10:41 test
drwxr-xr-x   2 root     root      4096 11¿ù 24 10:41 test2

·çÆ® ±ÇÇÑÀ¸·Î Æú´õ¸¦ ¸¸µé¸é ÀÏ¹Ý À¯Àú¿Í´Â ´Ù¸£°Ô ±×·ì ±ÇÇѵµ ¾²±â±ÇÇÑÀÌ ¾ø´Ù. ±×¸¸Å­ root°èÁ¤Àº º¸¾È¿¡ ½Å°æ¾²°í ÀÖÀ½À» º¸¿©ÁØ´Ù.

¾ÆÆÄÄ¡³ª nginx¿¡¼­ 403 forbidden ¿¡·¯°¡ ³ª´Â ÀÌÀ¯

ÀÚ ÀÌÁ¦ ÀÌ ¾ê±â°¡ ¿Ö Áß¿äÇÑÁö ¾Ë¾Æº¸ÀÚ. º¸Åë À¥¼­¹ö¸¦ ¼³Ä¡ÇÏ°í ºê¶ó¿ìÀú·Î ¼³Á¤ÇÑ ÆÄÀÏÀ» URL·Î ÅëÇØ Á¢±ÙÇÏ·Á°í ÇÒ¶§ 403 forbidden ¿¡·¯¸¦ Á¾Á¾ º¸°Ô µÇ´Âµ¥, ¹Ù·Î ÀÌ ¿¡·¯°¡ ÆÄÀÏ ±ÇÇÑ ¹®Á¦¿Í °ü·ÃÀÌ ÀÖ´Ù. ÀÌÀü¿¡µµ ÀÌ¿Í °ü·ÃµÈ ±ÛÀ» ¾´ÀûÀÌ ÀÖ´Ù.

apache³ª nginx¿Í °°Àº À¥¼­¹ö´Â URLÀ» ÅëÇØ ¼­¹ö¿¡ Àִ ƯÁ¤ ÆÄÀÏ¿¡ Á¢±Ù(access)ÇÏ°Ô µÇ´Âµ¥ À̶§ Á¢±Ù °èÁ¤Àº ÇØ´ç ¼­¹ö¸¦ ½ÇÇà½ÃŲ °èÁ¤ÀÌ µÈ´Ù. Áï, nginxÀÇ °æ¿ì nginx¶ó´Â °èÁ¤À¸·Î ÇØ´ç ÆÄÀÏ¿¡ Á¢±ÙÇÏ°Ô µÇ´Â °ÍÀÌ´Ù. ¹°·Ð ¾ÆÆÄÄ¡¼­¹öÀÇ °æ¿ì apache °èÁ¤À¸·Î Á¢±ÙÇÏ°Ô µÈ´Ù. µû¶ó¼­ À¥¼­¹öÀÇ ÃÖ»óÀ§°æ·Î(doc_root)´Â Á¢±ÙÇÏ·Á´Â °èÁ¤¿¡°Ô ÃÖ¼ÒÇÑ Àб⠱ÇÇÑÀÌ ÀÖ¾î¾ß ÇÑ´Ù.

µû¶ó¼­ nginxÀÇ ·çÆ® Æú´õ(document_root)¸¦ ´©±¸ ¼ÒÀ¯·Î ÁöÁ¤ÇÏ´À³Ä¿¡ µû¶ó ÃÖ¼Ò ±ÇÇÑÀÌ ¹Ù²ï´Ù.

  • °¡·É, ·çÆ®Æú´õ¸¦ nginx °èÁ¤ÀÌ ¼ÒÀ¯ÇÏ°í ÀÖ´Ù¸é ÃÖ¼Ò 400(r–,—,—) ±ÇÇÑÀÌ ÀÖ¾î¾ßÇÏ°í
  • nginx°¡ ¾Æ´Ñ ´Ù¸¥ °èÁ¤(ec2-user)À̶ó¸é ÃÖ¼Ò 004(—,—,r–) ±ÇÇÑÀÌ ÀÖ¾î¾ßÇÑ´Ù.

±×·±µ¥ nginx À¥¼­¹öÀÇ µµ±Ô¸ÕÆ® ·çÆ® Æú´õ¸¦ °èÁ¤ÀÇ È¨Æú´õ(/home/ec2-user) ÇÏÀ§·Î ÁöÁ¤ÇÏ°í ½ÍÀº °æ¿ì°¡ ÀÖ´Ù.

/home/ec2-user/www

¿¹¸¦ µé¸é, À§¿Í °°Àº À§Ä¡¿¡ www Æú´õ¸¦ ¸¸µé°í ½ÍÀº °æ¿ì¸¦ ¸»Çϴµ¥, ¾ÈŸ±õ°Ôµµ ÀÌ·¸°Ô ÇÏ·Á¸é ÇöÀç ec2-user Æú´õÀÇ ±ÇÇѵµ ¼öÁ¤ÇØÁà¾ßÇÑ´Ù. ¿Ö³Ä¸é ec2-user Æú´õ´Â ȨÆú´õ Ư¼º»ó 700±ÇÇÑÀ¸·Î ÁöÁ¤µÇ¾î Àֱ⠶§¹®¿¡ ¼ÒÀ¯ÀÚ º»ÀÎ ¸»°í´Â ´Ù¸¥ °èÁ¤ÀÌ Á¢±ÙÁ¶Â÷ ÇÒ¼ö¾ø´Ù.

[ec2-user@/]$> cd /home
[ec2-user@home]$> ls -al
ÇÕ°è 16
dr-xr-xr-x  4 root     root     4096 11¿ù  3 09:27 .
dr-xr-xr-x 23 root     root     4096 11¿ù 24 10:39 ..
drwx------ 15 ec2-user ec2-user 4096 11¿ù 24 11:11 ec2-user

±×·¡¼­ ÀÚ½ÅÀÇ È¨Æú´õ ÇÏÀ§¿¡ À¥Æú´õ¸¦ ¸¸µé°í ½Í´Ù¸é, À¥¼­¹ö °èÁ¤ÀÌ Á¢±Ù °¡´ÉÇϵµ·Ï /home/ec2-user Æú´õ¿¡ ÃÖ¼ÒÇÑ Àб⠱ÇÇÑÀº ÀÖ¾î¾ßÇÑ´Ù.

drwx—r–

ÇÏÁö¸¸ ³ª´Â ¸®´ª½º°¡ ÁöÁ¤ÇصРȨÆú´õ °íÀ¯ÀÇ ±ÇÇÑÀ» ¹Ù²Ù°í ½ÍÁø ¾Ê±â ¶§¹®¿¡ www ¶ó´Â À̸§ÀÌ /var/www/nginx-root Æú´õ¸¦ °¡¸£Å°µµ·Ï ½ÉÆú¸¯ ¸µÅ©¸¦ ¸¸µé¾î »ç¿ëÇÑ´Ù. ln ¸í·ÉÀº ÀÏ¹Ý À¯Àú¿¡°Õ ±ÇÇÑÀÌ ¾øÀ¸¹Ç·Î sudo¸¦ ºÙÀδÙ.

$> sudo ln -s /home/ec2-user/www/nginx-root www
lrwxrwxrwx   1 root     root        20 11¿ù  4 08:53 www -> /var/www/nginx-root/

¿öµåÇÁ·¹½º¿Í nginxÀÇ ¼ÒÀ¯ÀÚ ±ÇÇÑ

ÀÌÁ¦ nginx ¼­¹ö¿¡ ¿öµåÇÁ·¹½º¸¦ ¼³Ä¡Çغ¸ÀÚ. nginx ¼­¹ö´Â Áö³­ 1ź¿¡¼­ »ìÆìºÃµíÀÌ master ÇÁ·Î¼¼½º´Â root°¡ ½ÇÇà½ÃÅ°°í ½ÇÁ¦ µ¿ÀÛÀ» ´ã´çÇÏ´Â worker ÇÁ·Î¼¼½º´Â nginx ¶ó´Â °èÁ¤À¸·Î ½ÇÇàµÈ´Ù. µû¶ó¼­ ¿öµåÇÁ·¹½º ¼³Ä¡°æ·ÎÀÇ ¼ÒÀ¯ÀÚ¸¦ °°Àº nginx·Î ¹Ù²ãÁØ´Ù. ¸¸¾à ´Ù¸¥ °èÁ¤À¸·Î ÁöÁ¤ÇÑ´Ù¸é ¹Ýµå½Ã nginx °èÁ¤ÀÌ Á¢±Ù°¡´ÉÇϵµ·Ï other¿¡ Àб⠱ÇÇÑÀÌ»óÀ» ¿­¾îÁà¾ßÇÑ´Ù.

¼³Ä¡Çü ¿öµåÇÁ·¹½ºÀÇ ÀåÁ¡, À¥¿¡¼­ ¼³Ä¡Çϱâ

¿öµåÇÁ·¹½º´Â °£ÆíÇÏ°Ô Å¬¸¯¸¸À¸·Î Ç÷¯±×ÀÎÀ̳ª Å׸¶¸¦ ¼³Ä¡ÇÒ ¼ö Àִµ¥ À̶§ ¼³Ä¡µÇ´Â °úÁ¤À» »ì¦ µé¿©´Ùº¸ÀÚ. 1. ¸ÕÀú, À¥ °ü¸® ¸Þ´º¿¡¼­ Å׸¶³ª Ç÷¯±×ÀÎÀ» ´Ù¿î·Îµå ¹ÞÀ¸¸é,
2. ¿öµåÇÁ·¹½º¸¦ ½ÇÇà½ÃÅ°´Â ÇÁ·Î¼¼½º(nginx)°¡ ÇÊ¿äÇÑ ÆÄÀÏÀ» À¥¿¡¼­ ´Ù¿î·Îµå ¹Þ´Â´Ù. 3. ±×¸®°í ÀÌ°ÍÀ» wp-contents Æú´õ¿¡ º¹»çÇÑ´Ù. 4. À̶§ ´Ù¿î¹ÞÀº ÆÄÀÏÀÇ ¼ÒÀ¯ÀÚ¿Í ±ÇÇÑÀº ´ç¿¬È÷ nignx°¡ µÈ´Ù. 5. ÇÏÁö¸¸ ±×·ì°ú other¿¡°Ô ¾²±â ±ÇÇÑÀº ÁÖ¾îÁöÁö ¾Ê´Â´Ù.

Á¤¸®ÇÏ¸é ¾Æ·¡¿Í °°ÀÌ 764(rwx,r-x,–x) ±ÇÇÑÀ¸·Î ÁöÁ¤µÈ´Ù.

drwxr-x–x 11 nginx nginx 4096 11¿ù 24 12:59 penny

¿©±â¼­ÀÇ ÇÙ½ÉÀº ¿öµåÇÁ·¹½º¸¦ ½ÇÇà½ÃŲ ÇÁ·Î¼¼½º°¡ ´©±¸³Ä´Â °ÍÀÌ´Ù. Áï, nignx °èÁ¤À¸·Î ÆÄÀÏÀ» ´Ù¿î¹Þ¾Æ ¿öµåÇÁ·¹½º°¡ ÀνÄÇϴ ƯÁ¤Æú´õ(wp-contents)¿¡ ÆÄÀÏÀ» º¹»çÇϱ⠶§¹®¿¡ ¿öµåÇÁ·¹½º Æú´õÀÇ ¼ÒÀ¯ÀÚ°¡ nignx°¡ ¾Æ´Ï¶ó¸é other °èÁ¤ÀÇ ¾²±â ±ÇÇѵµ ÁöÁ¤ÇؾßÇÔÀ» ÀǹÌÇÑ´Ù. µû¶ó¼­ ¼ÒÀ¯ÀÚ¿Í other¿¡ ±ÇÇÑÀÌ Á¦´ë·Î ¸ÅÄ¡µÇÁö ¾ÊÀ¸¸é ±× ½±´Ù´Â ¿øŬ¸¯ ¼³Ä¡µµ Á¦´ë·Î ¾ÈµÉ°ÍÀÌ´Ù.

Á¤¸®Çϸé,

À̹ø ±Ûµµ ¾çÀº ¾ó¸¶µÇÁö ¾ÊÀ¸³ª ±Û·Î Á¤¸®ÇÏ·Á´Ï ½Ã°£À» ¾öû ½è´Ù. À̹ø±ÛÀº °ÅÀÇ ¸®´ª½º °èÁ¤°ú ¿öµåÇÁ·¹½º ¾ê±â¸¸ Çߴµ¥, ´ÙÀ½ Æí¿¡´Â AWS¿¡¼­ ¶ó¿ìÅÍ ¼³Á¤°ú nginx¿¡¼­ ¸ÖƼ È£½ºÆÃÀ» ¾î¶»°Ô Àü·«ÀûÀ¸·Î ÀÀ¿ëÇÒ¼öÀÖ´ÂÁö ¾Ë¾Æº¸°Ú´Ù.

µ¡,

ÀÌ ±ÛÀÌ µµ¿òÀÌ µÇ¼Ì´Ù¸é ¾Æ½ÃÁÒ? ±¤°íÇѹø Ŭ¸¯ÇØÁÖ¼¼¿ë~ 🙂