´ÙÀ½ ÀÌÀü Â÷·Ê

7. ¾Ö·Î»çÇ×°ú ¹®Á¦ÇØ°á

ºÎÆ®µð½ºÅ©¸¦ ¸¸µé ¶§ ´Ü¹ø¿¡ ¼º°øÇÏ´Â ÀÏÀ» °ÅÀÇ ¾ø½À´Ï´Ù. ·çÆ®µð½ºÅ©¸¦ ¸¸µå´Â ÀϹÝÀûÀÎ Á¢±Ù¹æ¹ýÀº ¿ì¼± ´ç½ÅÀÇ ÇöÀç ½Ã½ºÅÛÀ¸·ÎºÎÅÍ ÇÊ¿äÇÑ ¿ä¼ÒµéÀ» ²ø¾î¸ð¾Æ Á¶¸³ÇÑ µð½ºÄÏ ±â¹ÝÀÇ ½Ã½ºÅÛÀ» °¡Áö°í ½ÃÇàÂø¿À¸¦ °ÅÃÄ ÄÜ¼Ö »ó¿¡ ¾î¶² ¸Þ½ÃÁö°¡ ³ªÅ¸³ª´Â ´Ü°è¿¡±îÁö ÁøÀÔÇÏ´Â °ÍÀÔ´Ï´Ù. ÀÏ´Ü ½Ã½ºÅÛÀÌ ¾î¶² ¸Þ½ÃÁö¸¦ Ãâ·ÂÇÏ´Â ´Ü°è¿¡±îÁö À̸£¸é ÀüÅõÀÇ ¹ÝÀº ³¡³­ °ÍÀÔ´Ï´Ù. ¿Ö³ÄÇϸé ÀÌ ´Ü°è±îÁö ¿À¸é Ãâ·ÂµÈ ¸Þ½ÃÁö¸¦ º¸°í ¹«¾ùÀÌ ¹®Á¦ÀÎÁö¸¦ ÆľÇÇØ ³ª°¥ ¼ö ÀÖÀ¸¹Ç·Î ½Ã½ºÅÛÀÌ ¿øÈ°È÷ µ¿ÀÛÇÒ ¶§±îÁö °¢°¢ÀÇ °³º°Àû ¹®Á¦µéÀ» ÇØ°áÇØ ³ª°¡±â¸¸ ÇÏ¸é µÇ±â ¶§¹®ÀÔ´Ï´Ù. ½Ã½ºÅÛÀÌ ¾Æ¹«·± ¸Þ½ÃÁö ¾øÀÌ ±×³É ¸ØÃß¾î ¹ö¸° °æ¿ì¶ó¸é ±× ¿øÀÎÀ» ã´Â °ÍÀº ¾î·Á¿î ÀÏÀÔ´Ï´Ù. ½Ã½ºÅÛÀÌ ºÎÆ®µÇ¾î ¾î¶² ¸Þ½ÃÁö¸¦ º¸³¾ ¼ö ÀÖ´Â ´Ü°è±îÁö ¿Ô´Ù´Â ¸»Àº ¸î °¡Áö ±¸¼º¿ä¼ÒµéÀº µ¿ÀÛÇÏ°í ÀÖÀ¸¸ç °Å±â±îÁö´Â Á¦´ë·Î ¼³Á¤ÀÌ µÇ¾ú´Ù´Â ¸»ÀÌ µË´Ï´Ù. ¸¸ÀÏ ½Ã½ºÅÛÀÌ ¾Æ¹«·± ¸Þ½ÃÁö¸¦ ³²±âÁö ¾Ê°í ¸ØÃß¾î ¹ö·È´Ù¸é ¾Æ·¡ÀÇ ¼ø¼­´ë·Î ¿øÀÎÀ» Á¶»çÇØ ³ª°¡½Ê½Ã¿ä.

ÀÏ´Ü À§ÀÇ ÀϹÝÀûÀÎ »çÇ×µéÀ» È®ÀÎÇß´Ù¸é ÀÌÁ¦ º¸´Ù ±¸Ã¼ÀûÀÎ ÆÄÀϵéÀ» È®ÀÎÇÕ´Ï´Ù.

  1. init °¡ /sbin/init ȤÀº /bin/init ·Î Á¦´ë·Î Æ÷ÇԵǾú´ÂÁö È®ÀÎÇÕ´Ï´Ù. ½ÇÇà°¡´ÉÇÑ »óÅÂÀÎÁöµµ È®ÀÎÇÕ´Ï´Ù.
  2. ldd init Çؼ­ init ÀÇ ¶óÀ̺귯¸®µéÀ» üũÇÕ´Ï´Ù. º¸Åë ÀÌ°ÍÀº libc.so °¡ µÇÁö¸¸ ÇÏ¿©Æ° È®ÀÎÇÕ´Ï´Ù. ÇÊ¿äÇÑ ¶óÀ̺귯¸®¿Í ·Î´õµéÀ» Æ÷ÇÔ½ÃÄ×´ÂÁö È®ÀÎÇÕ´Ï´Ù.
  3. °¢ ¶óÀ̺귯¸®µé¿¡ ´ëÇØ ±×¿¡ ÇØ´çÇÏ´Â ¾Ë¸ÂÀº ·Î´õ¸¦ °¡Áö°í ÀÖ´ÂÁö¸¦ È®ÀÎÇÕ´Ï´Ù. a.out ¿¡´Â ld.so °¡ ÀÖ¾î¾ß ÇÏ°í ELF ¿¡´Â ld-linux.so °¡ ÀÖ¾î¾ß ÇÕ´Ï´Ù.
  4. getty(ȤÀº agetty, mgetty, getty_ps µîÀÇ À̸¥¹Ù getty ·ù ÇÁ·Î±×·¥)¸¦ È£ÃâÇÏ´Â ºÎÆ®µð½ºÅ© ÆÄÀϽýºÅÛ ³»ÀÇ /etc/inittab À» üũÇÕ´Ï´Ù. ÇÏµå µð½ºÅ©ÀÇ inittab °ú ºñ±³Çϸ鼭 üũÇØ º¾´Ï´Ù. ´ç½ÅÀÌ »ç¿ëÇÏ´Â ÇÁ·Î±×·¥ÀÇ ¸Ç ÆäÀÌÁö¸¦ ÆîÃijõ°í °ú¿¬ Á¦´ë·Î ¼³Á¤µÇ¾ú´ÂÁö È®ÀÎÇÕ´Ï´Ù. inittab ´Â ¸®´ª½º ½Ã½ºÅÛ¿¡¼­ °¡Àå ´Ù·ç±â ¾î·Á¿î ºÎºÐÀÔ´Ï´Ù. ±× ÀÌÀ¯´Â init ÀÇ ¹®¹ý°ú ³»¿ëÀº »ç¿ëµÇ´Â init ÇÁ·Î±×·¥¿¡ µû¶ó ¼­·Î ´Ù¸£°í, ¶Ç °¢ ½Ã½ºÅÛÀÇ Æ¯¼º¿¡ ÀÇÁ¸ÀûÀ̱⠶§¹®ÀÔ´Ï´Ù. init ¿¡ °üÇÑ ¹®Á¦¸¦ ´Ù·ç´Â À¯ÀÏÇÑ ¹æ¹ýÀº init ¿Í inittab ¿¡ ´ëÇÑ ¸Ç ÆäÀÌÁö¸¦ ÀÐ°í ´ç½ÅÀÇ ½Ã½ºÅÛ º»Ã¼°¡ ºÎÆ®ÇÒ ¶§ ÇÏ´Â ÀÛ¾÷À» Ç÷ÎÇÇ µð½ºÅ© »ó¿¡¼­ ¶È°°ÀÌ ¼öÇàÇغ¸´Â °ÍÀÔ´Ï´Ù. /etc/inittab °¡ ½Ã½ºÅÛ ÃʱâÈ­ ¿£Æ®¸®¸¦ °¡Áö°í ÀÖ´ÂÁö È®ÀÎÇϽʽÿä. ÀÌ ÆÄÀÏ¿¡´Â ½Ã½ºÅÛ ÃʱâÈ­ ½ºÅ©¸³Æ®µéÀ» ¼öÇà½ÃÅ°´Â ¸í·É¾î°¡ ¹Ýµå½Ã Æ÷ÇԵǾî ÀÖ¾î¾ß¸¸ ÇÕ´Ï´Ù.
  5. init ¿¡ Çß´ø °Íó·³ getty ¿¡ ´ëÇؼ­µµ ldd ¸¦ ½ÇÇà½ÃÄѼ­ getty °¡ ¹«¾ùÀ» ÇÊ¿ä·Î ÇÏ´ÂÁö È®ÀÎÇÏ°í ÇÊ¿äÇÑ ¶óÀ̺귯¸®¿Í ·Î´õµéÀÌ ·çÆ®ÆÄÀÏ ½Ã½ºÅÛ¿¡ µé¾îÀÖ´ÂÁö È®ÀÎÇÕ´Ï´Ù.
  6. ½© ÇÁ·Î±×·¥(¿¹¸¦µé¸é bash ³ª ash µî)À» Æ÷ÇÔ½ÃÄ×´ÂÁö È®ÀÎÇÕ´Ï´Ù. ½© ÇÁ·Î±×·¥Àº rc ½ºÅ©¸³Æ®¸¦ ½ÇÇà½ÃÅ°´Â ÇÁ·Î±×·¥ÀÔ´Ï´Ù.
  7. ¸¸ÀÏ º¹±¸µð½ºÄÏ¿¡ /etc/ld.so.cache ÆÄÀÏÀ» Æ÷ÇÔ½ÃÄ×´Ù¸é ±×°ÍÀ» ¸®¸ÞÀÌÅ©ÇÕ´Ï´Ù.

init °¡ ½ÃÀ۵DZâ´Â Çϴµ¥ ´ÙÀ½°ú °°Àº ¸Þ½ÃÁö¸¦ ¹Þ´Â °æ¿ì:

          Id xxx respawning too fast: disabled for 5 minutes

ÀÌ°ÍÀº init ·ÎºÎÅÍ ¿Â ¸Þ½ÃÁöÀÔ´Ï´Ù. ÁÖ·Î getty ³ª login ÀÌ ½ÃÀÛÇÏÀÚ¸¶ÀÚ Á×¾î¹ö·ÈÀ½À» ¾Ë¸®´Â °ÍÀÔ´Ï´Ù. getty ¿Í login ÀÌ ÀÇÁ¸ÇÏ´Â ½ÇÇàÆÄÀϵé°ú ¶óÀ̺귯¸®µéÀ» È®ÀÎÇØ º¸½Ê½Ã¿À. /etc/inittab ³»ÀÇ È£ÃâÇü½ÄÀÌ Á¤È®ÇÑÁö È®ÀÎÇϽʽÿÀ. ¸¸ÀÏ getty ·ÎºÎÅÍ ÀÌ»óÇÑ ¸Þ½ÃÁö¸¦ ¹Þ¾Ò´Ù¸é ¾Æ¸¶µµ /etc/inittab ³» ÀÇ È£ÃâÇü½ÄÀÌ ¾îµò°¡ Ʋ·ÈÀ» °ÍÀÔ´Ï´Ù. getty ÇÁ·Î±×·¥µéÀÇ ¿É¼ÇÀº ´Ù¾çÇÕ´Ï´Ù. ½ÉÁö¾î °°Àº agetty ÇÁ·Î±×·¥¿¡¼­Á¶Â÷ ¹öÀü¿¡ µû¶ó È£ÃâÇü½ÄÀÌ ¼­·Î ´Ù¸¥ °æ¿ìµµ ÀÖ½À´Ï´Ù.

¸¸ÀÏ ·Î±×ÀÎ ÇÁ·ÒÇÁÆ®°¡ ¶¹°í Á¦´ë·Î µÈ ·Î±×ÀÎ ³×ÀÓÀ» ³Ö¾ú´Âµ¥µµ ½Ã½ºÅÛ ÇÁ·ÒÇÁÆ®°¡ Áï°¢ ¶Ç´Ù¸¥ ·Î±×ÀÎ ³×ÀÓÀ» ¿ä±¸ÇÑ´Ù¸é, ¹®Á¦´Â ¾Æ¸¶µµ PAM À̳ª NSS ¿¡ °ü·ÃµÈ °ÍÀÏ °Ì´Ï´Ù. PAM °ú NSS¿¡ ´ëÇÑ ´ëÃ¥ ÀýÀ» Âü°íÇϼ¼¿ä. shadow password ¸¦ »ç¿ëÇϸ鼭 ±ô¹Ú /etc/shadow ¸¦ ºÎÆ®µð½ºÅ©·Î º¹»çÇØ ³ÖÁö ¾Ê¾ÒÀ» ¼öµµ ÀÖ½À´Ï´Ù.

º¹±¸ µð½ºÄÏ¿¡ ÀÖ´Â df µîµîÀÇ ÀϺΠ½ÇÇàÆÄÀÏÀ» ½ÇÇàÇßÀ»¶§ ´ÙÀ½°ú ºñ½ÁÇÑ ¸Þ½ÃÁö¸¦ ¹Þ´Â °æ¿ì: df: not found

´ÙÀ½ µÎ°¡Áö¸¦ È®ÀÎÇϽʽÿä. (1) ±× ¹ÙÀ̳ʸ®°¡ À§Ä¡ÇÑ µð·ºÅ丮°¡ PATH ¿¡ ÀâÇôÀÖ´ÂÁö (2) ±× ÇÁ·Î±×·¥ÀÌ ÇÊ¿ä·Î ÇÏ´Â ¶óÀ̺귯¸®¿Í ·Î´õ¸¦ °¡Áö°í ÀÖ´ÂÁö.


´ÙÀ½ ÀÌÀü Â÷·Ê