ȸ¿øµî·Ï £ü ºñ¹øºÐ½Ç

CGI´Â Common Gateway InterfaceÀÇ ¾àÀÚÀÔ´Ï´Ù.
À¥ºê¶ó¿ìÀú¿¡¼­ HTML·Î ¿©·¯°¡Áö Á¤º¸¸¦ ó¸®Çϴµ¥ ±× ±â´É¸¸À¸·Î ¸ðµç Á¤º¸Ã³¸®¸¦ ´Ù ÇÒ ¼ö
¾ø±â ¶§¹®¿¡ ¿ÜºÎ ÇÁ·Î±×·¥°ú À¥¼­¹ö(HTTP Server)°£ÀÇ ¿¬°á ¿ªÇÒÀ» Çϱâ À§ÇØ CGI¸¦ »ç¿ëÇÕ´Ï´Ù.
Áï, À¥ÀÇ º¯ÇüÀ̳ª ¾î¶°ÇÑ Æ¯Á¤ º¯°æÀ» ¿øÇÒ ¶§, ÇÁ·Î±×·¥°úÀÇ ÀÎÅÍÆäÀ̽º¸¦ ¸»Çϸç
°Ô½ÃÆÇÀÇ »ý¼º ¹× º¯°æ, ±âŸ ƯÁ¤±×·¡ÇÈ¿¡ ³Ð°Ô »ç¿ëµË´Ï´Ù.
ÇöÀç x-y.net¿¡¼­ »ç¿ëµÇ´Â CGI¶õ ´ëºÎºÐ »ý¼ºµÈ °Ô½ÃÆÇÀ» ÀǹÌÇϸç, ±× °Ô½ÃÆÇÀÇ ¼³Ä¡ ¹×
±¸µ¿¹æ¹ý, ±×¸®°í »ç¿ë ¹× ¼³Ä¡¿¡¼­ÀÇ ÁÖÀÇ»çÇ×À» ¾Ë·Áµå¸®°Ú½À´Ï´Ù.

¸ÕÀú x-y.net¼­¹ö³»ÀÇ CGI±¸µ¿¹æ¹ýÀº SEMI CGI-WRAP¹æ½ÄÀÔ´Ï´Ù.
½±°Ô´Â Àý´ë°æ·Î ¹× »ó´ë°æ·Î¸¦ ÀÚµ¿ÀûÀ¸·Î ÀνÄÇÏ´Â ¹Ý¸é¿¡ ¹Ýµå½Ã ¼³Á¤ÇØÁà¾ß ÇÒ ºÎºÐµµ ÀÖ½À´Ï´Ù.
 
x-y.netÀÇ ¼­¹ö´Â ±âº»ÀûÀ¸·Î suexecÀ̶ó´Â ¸ðµâÀ» »ç¿ëÇÕ´Ï´Ù. ÀÌ ¸ðµâÀÇ Àǹ̴ À¥Àº º¸Åë »ç¿ëÀÚÀÇ ±ÇÇÑÀÌ
nobody·Î µÇ¾î ÀÖ½À´Ï´Ù.
±×·¯³ª cgi°°Àº °æ¿ì´Â ÀÚÄ© À߸øÇÏ¸é º¸¾È¿¡ Ä¡¸íÀûÀÏ ¼ö ÀÖÀ¸¹Ç·Î ÀÌ·¯ÇÑ º¸¾È ±ÇÇÑÀ» ÁÜÀ¸·Î½á ¼­¹ö³»ÀÇ ¾ÈÀüÇÑ
ȯ°æÀ» À§ÇÑ °ÍÀÔ´Ï´Ù.
suexecÀÇ µ¿ÀÛÀº ±âº»ÀûÀ¸·Î cgi-binÆú´õÀÇ Æ۹̼ÇÀÌ 755, ±×¸®°í cgi-bin ÇÏÀ§Æú´õÀÇ Æ۹̼ÇÀÌ 755·Î ¼³Á¤ÀÌ
µÇ¾î¾ß¸¸ ½ÇÇàÀÌ °¡´ÉÇÕ´Ï´Ù.

¾Æ·¡´Â ÆÛ¹Ì¼Ç ¼³Á¤ ¿¹ÀÔ´Ï´Ù.




¡Ø ±âº»ÀûÀ¸·Î Æ۹̼ÇÀº 755·Î µÇ¾îÀÖ¾î¾ß ÇÔ¿¡ ÁÖÀÇÇÏ½Ã±æ ¹Ù¶ø´Ï´Ù.
¡Ø ¹Ýµå½Ã 755·Î ¼³Á¤À» ÇÏ½Ã¸é µË´Ï´Ù.
 
Àý´ë°æ·Î´Â ¼­¹ö³»ÀÇ cgiÀÎÅÍÆäÀ̽º°¡ wrapÀÎ °æ¿ì ±× °æ·Î´ë·Î ÆÄÀÏÀÇ ³»¿ëÀ» ã¾Æ °©´Ï´Ù.
Áï Àý´ë°æ·Î·Î ¼³Á¤µÈ °÷¿¡¼­ ÆÄÀÏÀÌ ½ÇÇàµÇ´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù.
Àý´ë°æ·Î¸¦ ¾Ë·Á¸é, ÀÏ´Ü ÀÚ½ÅÀÇ °èÁ¤À¸·Î ÅÚ³ÝÀ» Á¢¼ÓÇÏ¿©¾ß Àý´ë°æ·Î¸¦ ¾Ë ¼ö ÀÖ½À´Ï´Ù.
±âº»ÀûÀ¸·Î pwd¸í·É¾î¸¦ »ç¿ëÇÏ°Ô µÇ¸ç, ÀÌ ¸í·É¾î¸¦ »ç¿ëÇÏ°Ô µÇ¸é ÇÏ´Ü¿¡ ÀÚ½ÅÀÌ ÇöÀç ÀÖ´Â À§Ä¡¸¦ ¾Ë·ÁÁÝ´Ï´Ù.


¸í·É¾î »ç¿ë¹ýÀº ¾Æ·¡¿Í °°½À´Ï´Ù.




pwd¾Æ·¡¿¡ ¶ß´Â °æ·Î°¡ ÇöÀç Äֿܼ¡ À§Ä¡ÇÑ °æ·Î¸íÀÔ´Ï´Ù.
Áï, Áö±ÝÀº yourid°èÁ¤ÀÇ cgi-bin¾È¿¡ ÀÚ½ÅÀÌ ÀÖ´Ù´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù.
±×¸®°í cgi-bin¾È¿¡ ¾î¶°ÇÑ Æú´õ, Áï test¶ó´Â Æú´õ°¡ ÀÖ´Ù¸é(cgiÇÁ·Î±×·¥À¸·Î °¡Á¤ÇÑ´Ù¸é) À§ÀÇ °æ·Î¸í ¹Ù·ÎµÚ¿¡ test¸¦ Ãß°¡ÇÏ½Ã¸é ±×°ÍÀÌ ¼³Ä¡ÇÏ°íÀÚ ÇÏ´Â cgiÀÇ Àý´ë°æ·ÎÀÔ´Ï´Ù.
»ó´ë°æ·Î´Â À¥¿¡¼­ º¸À̴°æ·Î ±×´ë·Î¸¦ ÀǹÌÇÕ´Ï´Ù.
ÇÑ ¿¹·Î, Àý´ë°æ·Î°¡ /home/01/yourid/www/cgi-bin/test ÀÎ cgiÇÁ·Î±×·¥À» º¸½Ã°Ô µÈ´Ù¸é À¥¿¡¼­ http://www.ÀÚ½ÅÀǵµ¸ÞÀÎ/cgi-bin/test±îÁö Àû¾îÁÖ½Ã¸é µË´Ï´Ù.
 
´ëü·Î cgi°°Àº °æ¿ì´Â perl·Î Â¥¿©Á® Àֱ⠶§¹®¿¡ ´ëºÎºÐ ascii¸ðµå·Î ¿Ã¸®´Â °ÍÀÌ Á¤¼®ÀÔ´Ï´Ù. ±×·¸Áö ¾Ê°í binary¸ðµå·Î ¿Ã¸± °æ¿ì ÆÄÀÏÀÌ ¿Ã¹Ù¸£°Ô µ¿ÀÛÇÏÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù.
¹°·Ð Å©·¹ÀÌÁöº¸µå³ª ±âŸ c·Î Â¥¿©Áø cgi¶ó¸é binary¸ðµå°¡ Á¤¼®ÀÌÁö¸¸ ±âŸ ´ëºÎºÐÀÇ cgiÀÎÅÍÆäÀ̽º´Â ascii¸ðµå·Î ¿Ã¸®´Â °ÍÀÌ º¸ÅëÀÔ´Ï´Ù.
ftpÇÁ·Î±×·¥¿¡¼­ ascii¸ðµå·Î ¾÷·Îµå¸¦ ¼³Á¤ÇÏ°í, ±ÇÀåÇÏ´Â ¸ðµå´Â auto(ÀÚµ¿)ÀÔ´Ï´Ù.

¶ÇÇÑ ÆÄÀÏÀÌ ±úÁö°Å³ª ¼Õ»óÀÌ µÇ¾î¼­ Á¦´ë·Î ÀÛµ¿ÇÏÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù.
ÀÌ·±°æ¿ì´Â ´ëºÎºÐ internal server error (500¿¡·¯)°¡ ¹ß»ýÇϱ⵵ ÇÕ´Ï´Ù. ´ëºÎºÐÀÇ 500¿¡·¯´Â ÀÌ·¯ÇÑ ÆÄÀÏÀÇ ¼Õ»ó¿©ºÎ°¡ ´ëºÎºÐÀ̸ç, 500¿¡·¯°¡ ³¯ °æ¿ì ÆÄÀÏÀÇ ¼Õ»óÀ¯¹«¸¦ °Ë»çÇغ¸´Â °ÍÀÌ ÁÁ½À´Ï´Ù.
¸¸¾à ÆÄÀÏÀÌ ¼Õ»óµÇ¾úÀ» °æ¿ì´Â Áö¿ì°í ´Ù½Ã ¾÷·ÎµåÇÏ¿© ¼³Ä¡ÇÏ´Â ¹æ¹ý ÀÌ¿Ü¿¡´Â ¾ø½À´Ï´Ù.

¾Æ·¡´Â ÆÄÀÏÀÌ ¼Õ»óµÇÁö ¾Ê°í ¿Ã¹Ù¸£°Ô ÀÛµ¿ÇÏ´Â °æ¿ìÀÔ´Ï´Ù.




Åڳݿ¡¼­ ./ÆÄÀϸíÀ» Ä¡°ÔµÇ¸é À§Ã³·³ ³ª¿Ã °ÍÀÔ´Ï´Ù.
ÀÌ·± °æ¿ì´Â ÆÄÀÏÀÌ ¿Ã¹Ù¸£°Ô µ¿ÀÛÇÏ´Â °æ¿ìÀ̹ǷΠ¸¸¾à ÀÌ·¸°Ô µ¿ÀÛÀÌ µÇ´Âµ¥ 500¿¡·¯°¡ ³­´Ù¸é ÆÛ¹Ì¼Ç ¹®Á¦ ¹× Àý´ë°æ·Î, »ó´ë°æ·Î¸¦ °í·ÁÇØ º¸¸é µÉ °ÍÀÔ´Ï´Ù.

¾Æ·¡´Â ÆÄÀÏÀÌ ¼Õ»óµÈ °æ¿ìÀÔ´Ï´Ù.




ÀÌ·± °æ¿ì´Â ´ëºÎºÐ ÆÄÀÏÀÌ ¼Õ»óµÈ °æ¿ìÀÔ´Ï´Ù. Áö¿ì°í ´Ù½Ã ¼³Ä¡ÇÏ´Â ¹æ¹ý ÀÌ¿Ü¿¡´Â ¾ø½À´Ï´Ù.
ÀÌ¿Ü¿¡µµ no such file or directory¶ó´Â ¸Þ½ÃÁö°¡ ¶ã °æ¿ì°¡ Àִµ¥, ÀÌ·± °æ¿ì ¿ª½Ã ÆÄÀÏÀÌ ¼Õ»óµÈ
°æ¿ìÀÔ´Ï´Ù.