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

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

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

  1. init °¡ /sbin/init ȤÀº /bin/init ·Î Á¦´ë·Î Æ÷ÇԵǾú´ÂÁö È®ÀÎÇÕ´Ï´Ù. ½ÇÇà°¡´ÉÇÑ »óÅÂÀÎÁöµµ È®ÀÎÇÕ´Ï´Ù.

  2. ldd init ÇØ¼­ init ÀÇ ¶óÀ̺귯¸®µéÀ» üũÇÕ´Ï´Ù. º¸Åë À̰ÍÀº libc.so °¡ µÇÁö¸¸ ÇÏ¿©Æ° È®ÀÎÇÕ´Ï´Ù. ÇÊ¿äÇÑ ¶óÀ̺귯¸®¿Í ·Î´õµéÀ» Æ÷ÇÔ½ÃÄ×´ÂÁö È®ÀÎÇÕ´Ï´Ù.

  3. °¢ ¶óÀ̺귯¸®µé¿¡ ´ëÇØ ±×¿¡ ÇØ´çÇÏ´Â ¾Ë¸ÂÀº ·Î´õ¸¦ °¡Áö°í ÀÖ´ÂÁö¸¦ È®ÀÎÇÕ´Ï´Ù. a.out ¿¡´Â ld.so °¡ ÀÖ¾î¾ß Çϰí ELF ¿¡´Â ld-linux.so °¡ ÀÖ¾î¾ß ÇÕ´Ï´Ù.

  4. ºÎÆ®µð½ºÅ© ÆÄÀϽýºÅÛÀÇ /etc/inittab ÆÄÀÏ¿¡ ÀÖ´Â getty(ȤÀº agetty, mgetty, getty_ps µîÀÇ À̸¥¹Ù getty ·ù ÇÁ·Î±×·¥)¸¦ È£ÃâÇÏ´Â ºÎºÐÀ» üũÇÕ´Ï´Ù. ÀÌ ºÎºÐÀ» ÇÏµå µð½ºÅ©ÀÇ inittab °ú ºñ±³Çϸ鼭 µÇÇ®ÀÌÇÏ¿© È®ÀÎÇØ º¾´Ï´Ù. ¸Ç ÆäÀÌÁö¸¦ ÆîÃijõ°í °ú¿¬ Á¦´ë·Î ¼³Á¤µÇ¾ú´ÂÁö È®ÀÎÇÕ´Ï´Ù. inittab ´Â ¸®´ª½º ½Ã½ºÅÛ¿¡¼­ °¡Àå ±³¹¦ÇÑ ºÎºÐÀÔ´Ï´Ù. ÀÌÀ¯´Â ±× ¹®¹ý°ú ³»¿ëÀÌ »ç¿ëµÇ´Â 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 ³»ÀÇ È£ÃâÇü½ÄÀÌ ¾îµò°¡ Ʋ·ÈÀ» °ÍÀÔ´Ï´Ù.

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

º¹±¸ µð½ºÄÏ¿¡ ÀÖ´Â df µîÀÇ ÀϺΠ½ÇÇàÆÄÀÏÀ» ½ÇÇàÇßÀ»¶§ ´ÙÀ½°ú ºñ½ÁÇÑ ¸Þ½ÃÁö¸¦ ¹Þ´Â °æ¿ì: df: not found, ´ÙÀ½ µÎ°¡Áö¸¦ È®ÀÎÇϽʽÿä. (1) ±× ¹ÙÀ̳ʸ®°¡ À§Ä¡ÇÑ µð·ºÅ丮°¡ PATH ¿¡ ÀâÇôÀÖ´ÂÁö. (2) ±× ÇÁ·Î±×·¥ÀÌ ÇÊ¿ä·Î ÇÏ´Â ¶óÀ̺귯¸®¿Í ·Î´õ¸¦ Æ÷ÇÔ½ÃÄ×´ÂÁö.