À¯´Ð½º »ç¿ëÀÚ Á¤º¸ ¾ò±â
ÃÑ ÆäÀÌÁö ¼ö : 3224

Àüü ÇÔ¼ö/¿ë¾î»çÀü
Facebook Joinc ±×·ì   Joinc QA »çÀÌÆ®



joinc´Â Firefox¿Í chrome¿¡¼­ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼­´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù.

Contents

1 ¸®´ª½º »ç¿ëÀÚ °èÁ¤ ½Ã½ºÅÛ
1.1 À¯Àú(User)
1.2 ±×·ì
1.3 񀀥
2 À¯Àú Á¤º¸ ¾ò¾î¿À±â
2.1 passwd ÆÄÀϺм®À» ÀÌ¿ëÇÑ ±âº»À¯Àú Á¤º¸
2.2 Shadow PasswordÀ» ÀÌ¿ëÇÑ À¯Àú ÆÐ½º¿öµå
2.2.1 À¯Àú Á¤º¸ ¾ò±â ÇÁ·Î±×·¡¹Ö

1 ¸®´ª½º »ç¿ëÀÚ °èÁ¤ ½Ã½ºÅÛ

¸®´ª½º¿ª½Ã ´Ù¸¥ À¯´Ð½ºµé°ú ¸¶Âù°¡Áö·Î ´ÙÁß»ç¿ëÀÚ ¿î¿µÃ¼Á¦ÀÌ´Ù. ÀÌ·¸´Ù º¸´Ï ½Ã½ºÅÛ ÀÚ¿ø¿¡ ´ëÇÑ Á¢±Ù±ÇÇÑÀÌ ¸Å¿ì Áß¿äÇØ Áø´Ù. ¿¹¸¦µé¾î ƯÁ¤ À¯ÀúÀÇ °³ÀÎ ½Å»óÁ¤º¸¸¦ °¡Áø ÆÄÀÏÀº °áÄÚ ´Ù¸¥ À¯ÀúµéÀÌ º¼ ¼ö À־´Â ¾ÈµÉ °ÍÀ̸ç shutdown(1)°ú °°Àº ½Ã½ºÅÛ ´Ù¿î ¸í·ÉÀº Ư¼öÇÑ À¯Àú(½´ÆÛÀ¯Àú)¸¸ÀÌ Á¦ÇÑÀûÀ¸·Î ½ÇÇà°¡´É ÇØ¾ß ÇÒ°ÍÀÌ´Ù. ¾Æ¹¸µç ³×Æ®¿öÅ©ÀåÄ¡, ÆÄÀÏ, ÇÁ·Î¼¼½º, ÀåÄ¡(µð½ºÅ©, CD-ROM, ÇÁ¸°Å͵î)ÀÇ ¸ðµç ½Ã½ºÅÛ ÀÚ¿ø¿¡ ´ëÇØ¼­ »ç¿ëÀÚ °èÁ¤¼öÁØ¿¡¼­ÀÇ Á¢±ÙÁ¦¾î¿Í °ü·ÃµÈ Á¦ÇÑÀÌ ÇÊ¿äÇÏ°Ô µÉ °ÍÀÌ´Ù. ȸ»çÀÇ Á÷Ã¥°ú °ü·ÃµÈ ½Ã½ºÅÛ°ú µ¿ÀÏÇÏ´Ù°í º¸¸é µÈ´Ù. ÀÏ¹Ý »ç¿øÀÎÁö, ´ë¸®ÀÎÁö, °úÀåÀÎÁö, »çÀåÀÎÁö¿¡ µû¶ó¼­ Á¢±ÙÇÒ¼ö Àִ ȸ»çÀÚ¿øÀÇ ·¹º§ÀÌ °áÁ¤µÇ´Â °Í°ú ¸¶Âù°¡Áö´Ù. ÀÏ¹Ý °øÁö»çÇ×ÀÌ¾ß ÀüÁ÷¿øÀÌ º¼ ¼ö ÀÖÁö¸¸ °æ¿µ°ú °ü·ÃµÈ Áß¿ä ¹®°ÇÀº ÃÖ°í°æ¿µÁø¸¸ º¼¼ö ÀÖ¾î¾ß ÇÒ°ÍÀÌ´Ù.

1.1 À¯Àú(User)

ȸ»ç·Î Ä¡¿ø »ç¿ø °³°³ÀÎÀÌ´Ù. ¸®´ª½º ½Ã½ºÅÛ °üÁ¡¿¡¼­ º¸ÀÚ¸é ½Ã½ºÅÛ¿¡ Á¢±ÙÇÒ ¼ö ÀÖ´Â ÃÖ¼Ò´ÜÀ§ °´Ã¼°¡ µÈ´Ù. À¯Àú´Â Á¢±ÙÀ» À§Çؼ­ ÀÚ½ÅÀÇ ID¿Í ÆÐ½º¿öµå¸¦ °¡Áö¸ç, À̿ܿ¡µµ ½Ã½ºÅÛ¿¡¼­ÀÇ ¿øÇÒÇÑ È°µ¿À» À§ÇÑ "»ç¿ëÀÚ È¨µð·ºÅ丮", "»ç¿ëÀÚ ½©", "Æ÷ÇԵǴ ±×·ì"°ú °°Àº °¢Á¾ ºÎ°¡ÀûÀÎ Á¤º¸µéÀ» °¡Áö°Ô µÈ´Ù.

¸®´ª½º¿¡¼­ À¯Àú´Â Å©°Ô 2°³·Î ³ª´©°Ô µÈ´Ù. Àý´ëÀûÀÎ ±ÇÇÑÀ» °¡Áö´Â ½´ÆÛÀ¯Àú¿Í ÀϹÝÀ¯Àú À¯Àú´Ù.

½´ÆÛÀ¯Àú´Â º¸Åë ID·Î root¸¦ °¡Áö¸ç ½Ã½ºÅÛ¿¡¼­ Àý´ëÀûÀÎ ¿µÇâ·ÂÀ» Çà»çÇÑ´Ù. ½Ã½ºÅÛÀÇ ¼Ë´Ù¿î, ¸®ºÎÆÃ, ÀåÄ¡ÀÇ Á¦¾î, À¯ÀúÁ¦¾î, ÆÄÀÏÁ¦¾î¿¡ À־ ÀüÇô Á¦ÇÑÀÌ ¾ø´Ù. ¸¶À½¸¸ ¸Ô´Â´Ù¸é rm -rf /·Î ½Ã½ºÅÛÀÇ ¸ðµç ÆÄÀÏÀ» ³¯·Á¹ö¸± ¼öµµ ÀÖ´Â Àý´ë ±ÇÇÑÀÚÀÌ´Ù.

ÀÏ¹Ý À¯Àú´Â ½´ÆÛÀ¯Àú¸¦ Á¦¿ÜÇÑ ³ª¸ÓÁö À¯Àú¸¦ °¡¸®Å²´Ù. ÀϹÝÀ¯Àú´Â ½´ÆÛÀ¯Àú°¡ Á¤ÇÏ´Â ¹Ù¿¡ µû¶ó¼­ ½Ã½ºÅÛ³»¿¡¼­ÀÇ ±ÇÇѰú Ȱµ¿¿µ¿ª¿¡ À־ Á¦ÇÑÀ» ¹Þ°Ô µÈ´Ù.

1.2 ±×·ì

ȸ»ç¿¡¼­´Â ÀÎÀûÀÚ¿øÀÇ È¿À²¼ºÀ» ³ôÀ̱â À§Çؼ­ °³Àκ°·Î Á÷Ã¥°ú Á÷±ÞÀ» µÎ°í À̸¦ ´Ù½Ã ¹­¾î¼­ ºÎ¼­(ÆÀ)¸¦ ¸¸µé¾î¼­ °ü¸®ÇÑ´Ù. ±â¼ú°³¹ßÆÀ, °æ¿µÁö¿øÆÀ, ȸ°èÆÀ, ÀλçÆÀµîÀε¥, ÇѸíÀÇ Á÷¿øÀº Çϳª ȤÀº ±× ÀÌ»óÀÇ ÆÀ¿¡ ¼Ò¼ÓµÉ ¼ö ÀÖÀ» °ÍÀÌ°í ÆÀÀÇ Æ¯Â¡¿¡ µû¶ó¼­ ±ÇÇÑÀÌ ÀçÁ¶Á¤ µÉ°ÍÀÌ´Ù.

ȸ»ç¿Í °°ÀÌ ºÎ¼­(ÆÀ)À» ¸¸µé¾î¼­ Á¶Á÷À» È¿À²ÀûÀ¸·Î ¸¸µå´Â°Í°ú °°Àº ±¸Á¶´Â ´Ù¸¥ ¸ðµç Áý´Ü¿¡¼­ (À̸§¸¸ ¾à°£ ¹Ù²Ù¾î¼­) °øÅëÀûÀ¸·Î ³ªÅ¸³ª¸ç ¿î¿µÃ¼Á¦¿ª½Ã ¿¹¿Ü¾øÀÌ ÀÌ·¯ÇÑ ±¸Á¶¸¦ µû¸¥´Ù.

¸®´ª½º¿¡¼­´Â À̸¦ ±×·ìÀ̶ó°í ÇÑ´Ù. ¸®´ª½º¿¡¼­ÀÇ ±×·ì¿ª½Ã À¯ÀúÀÚ¿øÀ» È¿À²ÀûÀ¸·Î °ü¸®Çϱâ À§ÇÑ ÀåÄ¡´Ù. ÇϳªÀÇ À¯Àú´Â ÇϳªÀÌ»óÀÇ ±×·ì¿¡ Æ÷Ç﵃ ¼ö ÀÖ´Ù.

1.3 񀀥

À¯Àú¿Í ±×·ìÀº °íÀ¯ÀÇ ±ÇÇÑÀÌ ÀÖÀ¸¸ç, ÀÌ·¯ÇÑ ±ÇÇÑÀº ÁÖ·Î ÆÄÀÏ¿¡ Àû¿ëµÈ´Ù. Áï ÆÄÀÏÀÏ ÀÐÀ»¼ö ÀÖ´ÂÁö(r), ¾µ¼ö ÀÖ´ÂÁö(w), ½ÇÇàÇÒ ¼ö ÀÖ´ÂÁö(x)¿¡ ´ëÇØ ÀûÀÇ ÇÏ´Â °ÍÀ¸·Î ÀÌ·ç¾îÁø´Ù. ¸®´ª½º¿¡¼­ ¸ðµç °ÍÀº ÆÄÀÏ·Î ´Ù·ç¾îÁö¹Ç·Î ÆÄÀÏ¿¡ ´ëÇØ¼­ ±ÇÇÑÀ» ¼³Á¤ÇÑ´Ù´Â °ÍÀº °á±¹ ½Ã½ºÅÛ Àüü¿¡ ´ëÇÑ ±ÇÇÑÀ» ¼³Á¤ÇÏ´Â °Í°ú µ¿ÀÏÇÑ È¿°ú¸¦ °¡Áø´Ù.

¸®´ª½º´Â °¢°¢ÀÇ ÆÄÀÏ¿¡ ´ëÇØ¼­ r, w, x ±ÇÇÑÀ» À¯Àú,±×·ì,´Ù¸¥À¯Àú(other)¿¡ ´ëÇØ¼­ ¸í½ÃÇÏ´Â °ÍÀ¸·Î ±ÇÇÑÀ» Á¦¾îÇÑ´Ù. ±ÇÇÑ¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº À¯´Ð½ºÆÄÀÏÀ» Âü°íÇϵµ·Ï ÇÏÀÚ.

2 À¯Àú Á¤º¸ ¾ò¾î¿À±â

»ç¿ø°ú ÆÀÀÇ Á¤º¸¸¦ À¯ÁöÇϱâ À§Çؼ­ ÀλçÄ«µå°¡ ÀÖ´Â °Íó·³ ¸®´ª½º ¿ª½Ã ÀÌ·¯ÇÑ Á¤º¸¸¦ °ü¸®Çϱâ À§ÇÑ ÆÄÀÏÀ» À¯ÁöÇÑ´Ù. À̹øÀå¿¡¼­´Â ÀÌ·¯ÇÑ À¯ÀúÁ¤º¸°ü·Ã ÆÄÀϰú À̸¦ Á¦¾îÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ¼­ ¾Ë¾Æº¸µµ·Ï ÇϰڴÙ.

2.1 passwd ÆÄÀϺм®À» ÀÌ¿ëÇÑ ±âº»À¯Àú Á¤º¸

User ÀÇ Á¤º¸´Â /etc/passwd ÆÄÀÏ¿¡ Á¸ÀçÇϹǷÎ, ¿ì¼±Àº passwd ÆÄÀÏ¿¡ »ç¿ëÀÚÀÇ
Á¤º¸°¡ ¾î¶»°Ô ÀúÀåµÇ´Â Áö¸¦ ¾Ë¾Æº¸µµ·Ï ÇϰڴÙ.
´ÙÀ½Àº passwd ÆÄÀÏÀÇ ³»¿ëÁß ÀϺΠ³»¿ëÀÌ´Ù
yundream:x:500:500::/home/yundream:/bin/bash 
 
passwd ÆÄÀÏÀº ÇϳªÀÇ Çà¿¡ ÇϳªÀÇ À¯Àú Á¤º¸¸¦ °¡Áö°í ÀÖÀ¸¸ç, 7°³ÀÇ Á¤º¸¸¦
°¡Áö°í ÀÖ´Ù. °¢ Á¤º¸´Â ":" ¸¦ ÅëÇØ ±¸ºÐµÈ´Ù.
°¢ Çʵ尡 °¡Áö°í ÀÖ´Â Á¤º¸´Â ´ÙÀ½°ú °°´Ù.
°èÁ¤:ÆÐ½º¿öµå:UID:GID:GECOS:µð·ºÅ丮:½© 
 
  1. °èÁ¤Àº ½Ã½ºÅÛ³»¿¡¼­ »ç¿ëµÇ´Â »ç¿ëÀÚÀÇ À̸§À¸·Î ¿µ¹®¼Ò¹®ÀÚÀÇ Á¶ÇÕÀ¸·Î ÀÌ·ç¾î Áø´Ù.
  2. "ÆÐ½º¿öµå´Â »ç¿ëÀÚ°¡ ·Î±×Àνà »ç¿ëµÇ´Â ºñ¹Ð¹øÈ£ÀÌ´Ù.
  3. ID´Â À¯ÀúID ·Î ¼ýÀÚ·Î ±¸¼ºµÇ¾î ÀÖÀ¸¸ç, ÇØ´ç½Ã½ºÅÛ³»¿¡¼­ À¯ÀÏÇÑ °ªÀ» °¡Áø´Ù. ÀϹÝÀûÀÎ ½Ã½ºÅÛ ÇÁ·Î±×·¥Àº UID ¸¦ ÅëÇÏ¿©¼­ À¯Àú¸¦ ±¸ºÐÇÑ´Ù.
  4. GID´Â »ç¿ëÀÚ°¡ Æ÷ÇÔµÈ ±×·ìÀ̸ç UID ¿Í ¸¶Âù°¡Áö·Î ¼ýÀڷΠǥ±âµÈ´Ù. LInux »ó¿¡¼­´Â °èÁ¤ÀÌ »ý¼ºµÇ¸é ÀÚ½ÅÀÇ ±×·ìÀÌ ¸¸µé¾îÁö¸ç, ÇØ´ç ±×·ì¿¡ Æ÷ÇÔµÇ°Ô µÈ´Ù. Solaris »ó¿¡¼­ °èÁ¤ÀÌ »ý¼ºµÇ¸é "other" ±×·ì¿¡ Æ÷ÇÔµÇ°Ô µÈ´Ù. °¢ °èÁ¤¿¡ ´ëÇÑ ±×·ì Á¤Ã¥Àº OS¿¡ µû¶ó¼­ ¾à°£½Ä ´Ù¸£°Ô Ã¥Á¤µÇ¾î Áö´Âµ¥ º¸Åë ±×·ì¿¡ ´ëÇÑ Á¤º¸´Â /etc/group ¿¡ ÀúÀåµÈ´Ù.
  5. GECOS ¿¡´Â À¯Àú¿¡ ´ëÇÑ ±âŸÁ¤º¸°¡ ÀúÀåµÇ¸ç, ÀÌ Çʵå´Â ä¿ï¼öµµ ÀÖ°í, ±×·¸Áö ¾Ê°í ºñ¿öµÑ¼öµµ ÀÖ´Ù.
  6. µð·ºÅ丮´Â »ç¿ëÀÚ°¡ »ç¿ëÇϴ Ȩµð·ºÅ丮Àε¥ ½©»ó¿¡¼­ echo $HOME ¸¦ ÅëÇØ¼­ ÀÚ½ÅÀÇ È¨µð·ºÅ丮¸¦ ¾Ë¾Æº¼¼ö ÀÖ´Ù.
  7. ½© Àº »ç¿ëÀÚ°¡ ·Î±×ÀÎÇØ¼­ »ç¿ëÇÏ´Â shell ÀÇ Á¾·ùÀÌ´Ù. Unix ´Â Windows ¿Í´Â ´Þ¸® ´Ù¾çÇÑ Á¾·ùÀÇ ½©ÀÌ Á¸ÀçÇϴµ¥, »ç¿ëÀÚ´Â ±×Áß ¿øÇÏ´Â ½©À» ¼±ÅÃÇØ¼­ »ç¿ëÇÒ¼ö ÀÖ´Ù. º¸Åë bash(¹è½¬½©), csh(¾¾½©) À» ¸¹ÀÌ »ç¿ëÇÑ´Ù.

À§ÀÇ passwd ÆÄÀÏÀÇ ³»¿ë¿¡´Â yundream °èÁ¤»ç¿ëÀÚ´Â UID ¹øÈ£°¡ 500 À̰í, GID ´Â 500 À̸ç, Ȩµð·ºÅ丮´Â /home/yundream À̰í bash ½©À» »ç¿ëÇÑ´Ù" ¶ó´Â Á¤º¸¸¦ Æ÷ÇÔÇϰí ÀÖ´Ù.

2.2 Shadow PasswordÀ» ÀÌ¿ëÇÑ À¯Àú ÆÐ½º¿öµå

±×·±µ¥ À§ÀÇ Á¤º¸¸¦ º¸¸é µÎ¹øÂ° ÆÐ½º¿öµå Çʵ尡 "x" ·Î ä¿öÁ® Àִ°ÍÀ» º¼¼ö ÀÖ´Ù. ÀÌ´Â »ç¿ëÀÚÀÇ ÆÐ½º¿öµå Á¤º¸¸¦ "´Ù¸¥ÆÄÀÏ" ¿¡ ÀúÀåÇØ µÎ¾ú´Ù´Â°ÍÀ» ³ªÅ¸³½´Ù.

/etc/passwd ÆÄÀÏÀ» º¸¸é ±× ±ÇÇÑÀÌ "644" ·Î ´©±¸µçÁö Àб⠰¡´ÉÇϵµ·Ï µÇ¾î ÀÖ´Ù´Â °ÍÀ» ¾Ë¼ö ÀÖ´Ù. ÀÌ´Â ´©±¸µçÁö ÇØ´ç °èÁ¤ »ç¿ëÀÚÀÇ ÆÐ½º¿öµå ¸¦ °¡Á®¿Ã¼ö ÀÖ´Ù¶ó´Â Àǹ̰¡ µÈ´Ù. ºñ·Ï ÆÐ½º¿öµå°¡ "¾Ïȣȭ" µÇ¾îÀÖ±â´Â ÇÏÁö¸¸, ÀÏ´Ü ÆÐ½º¿öµå ÆÄÀÏÀ» ¾ò¾î³¾¼ö ÀÖ´Ù¸é, À̸¦ ÀÌ¿ëÇØ¼­ »ç¿ëÀÚÀÇ ÆÐ½º¿öµå¸¦ Å©·¢ÇÏ´Â ¹æ¹ýÀÌ °¡´ÉÇØ Áø´Ù.

ÇØ¼­ »ç¿ëÀÚÀÇ ÆÐ½º¿öµå Á¤º¸¸¦ ¿ÀÁ÷ root ±ÇÇÑÀÚ¸¸ÀÌ ÀÐÀ»¼ö ÀÖ´Â ÆÄÀÏ¿¡ ÀúÀåÇϵµ·Ï ÇØ¼­ ÆÐ½º¿öµå Á¤º¸ÀÇ º¸¾ÈÀ» ³ôÀÌ´Â ¹æ¹ýÀ» äÅÃÇߴµ¥, À̸¦ shadow ÆÐ½º¿öµå¶ó°í Çϸç /etc/shadow ¿¡ ÀúÀåµÈ´Ù. shadow ÆÄÀÏÀÇ ±ÇÇÑÀ» º¸¸é ¾Æ·¡¿Í °°´Ù.
rw-------    1 root     root         1019 12¿ù 30 01:32 /etc/shadow 
 
¿ÀÁ÷ "root" ±ÇÇÑÀÚ¸¸ÀÌ ÀÐ°í ¾µ¼ö ÀÖµµ·ÏµÇ¾î ÀÖÀ½À» ¾Ë¼ö ÀÖ´Ù. shadow ÆÐ½º¿öµåÀÇ ³»¿ëÀº ´ÙÀ½°ú °°´Ù.
yundream:$1$pT/VnlSK$PApp4lLLblRLoZVfsd3XX1:11657:0:99999:7  
cvs:$1$3UzIhJPn$qClbSInt/C1X45X1j7SKK1:11545:0:99999:7  
 
passwd ÆÄÀϰú ¸¶Âù°¡Áö·Î ":" ¸¦ ÅëÇØ¼­ °¢ Çʵ带 ±¸ºÐÇϸç, ´«Ä¡ ë°ÚÁö¸¸ 2¹øÂ° Çʵ忡 ÀÖ´Â ³»¿ëÀÌ ¾ÏȣȭµÈ ÆÐ½º¿öµå ¹®ÀÚ¿­ ÀÌ´Ù.

shadow ¿¡´Â ÆÐ½º¿öµå °»½ÅÀÏ, ÆÐ½º¿öµåÀÇ À¯È¿±â°£ µîÀÇ Á¤º¸°¡ Ãß°¡·Î µé¾îÀÖ´Ù. °¢Çʵ忡 ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº shadow(5) ¸¦ Âü°í Çϱ⠹ٶõ´Ù.

ÃÖ½ÅÀÇ Unix ´Â ´ëºÎºÐ shadow ÆÐ½º¿öµå¸¦ Áö¿øÇϰí ÀÖ´Ù. º¸Åë ÆÐ½º¿öµå´Â crypt(3) ÇÔ¼ö¸¦ ÅëÇØ¼­ ¸¸µé¾î Áö´Âµ¥, ¸®´ª½ºÀÇ °æ¿ì ´õº¹ÀâÇÑ ÆÐ½º¿öµå¸¦ ¸¸µé±â À§Çؼ­ crypt ÈÄ MD5 ¾Ïȣȭ ±îÁö Àû¿ë ÇÑ´Ù. Solaris ¿Í °°Àº ¸¹Àº Unix ¿î¿µÃ¼Á¦´Â ¿©ÀüÈ÷ crypt ¸¸ Àû¿ëÇϱ⵵ ÇÑ´Ù.

2.2.1 À¯Àú Á¤º¸ ¾ò±â ÇÁ·Î±×·¡¹Ö

passwd ³ª shadow ÆÄÀÏ¿¡¼­ À¯Àú Á¤º¸¸¦ °¡Á®¿À±â À§Çؼ­ ÆÄÀÏÀ» Á÷Á¢¿­¾î¼­ °¢ ÇàÀ» ÀоîµéÀ̰í, ":" ¸¦ ±âÁØÀ¸·Î ÇØ¼­ °¢ Çʵ带 ±¸ºÐÇØ¼­ À¯ÀúÁ¤º¸¸¦ °¡Á®¿À´Â ¹æ¹ýµµ ÀÖ°ÚÁö¸¸, º¸ÅëÀº C ¿¡¼­ Á¦°øÇÏ´Â ÇÔ¼öµéÀ» ¸¹ÀÌ »ç¿ëÇÑ´Ù.

¿¹Á¦ : ÆÐ½º¿öµå °Ë»ç ÇÁ·Î±×·¥
/* ÀÌ¿¹Á¦´Â »ç¿ëÀÚ ¾ÆÀ̵ð¿Í ÆÐ½º¿öµå°¡ ¿Ã¹Ù¸¥Áö¸¦ °Ë»çÇÏ´Â ÇÁ·Î±×·¥ÀÌ´Ù. ÇÁ·Î±×·¥ ¾Æ±Ô¸ÕÆ®·Î ¾ÆÀ̵ð¿Í ÆÐ½º¿öµå¸¦ ÀÔ·ÂÇϸé, ÀÔ·ÂÇÑ ¾ÆÀ̵𠰪À» ÀÌ¿ëÇØ¼­ /etc/shadow ÆÄÀÏÀ» °Ë»öÇÏ¿© ÆÐ½º¿öµå ÆÄÀÏÀ» °¡Á®¿À°í, ÀÔ·ÂÇÑ ÆÐ½º¿öµå¿Í ÀÏÄ¡ÇÏ´Â Áö¸¦ °Ë»çÇÑ´Ù. ¾ÏȣȭµÈ ÆÐ½º¿öµå¿ÍÀÇ ºñ±³¸¦ À§Çؼ­ crypt(3) ÇÔ¼ö¸¦ »ç¿ëÇß´Ù. */ #include <shadow.h> #include <stdio.h> #include <stdlib.h> #include <unistd.h> int main(int argc, char **argv) { struct spwd *myspwd; char *user_name; char *user_pass; if (argc !=3) { printf("Usage : ./shadow [id] [passwd]\n"); exit(0); } user_name = argv[1]; user_pass = argv[2]; myspwd = getspnam(user_name); if (myspwd == NULL) { printf("cannot found user\n"); exit(0); } if (strcmp(myspwd->sp_pwdp, (char *)crypt(user_pass, myspwd->sp_pwdp)) == 0) printf("Ok Passwd!!\n"); else printf("Not Passwd!!\n"); }
À§ÀÇ Äڵ带 ¾à°£¸¸ ÀÀ¿ëÇÏ¸é ¼ÒÀ§ ¸»ÇÏ´Â »çÀü°ø°Ý À» ¼öÇàÇÏ´Â ÆÐ½º¿öµå Å©·¢ ÇÁ·Î±×·¥À» ¸¸µé¼ö ÀÖ´Ù. ÀÚÁÖ »ç¿ëÇÒ¸¸ÇÑ ´Ü¾î¸¦ ¹Ì¸® ÆÄÀϵ ÀÔ·ÂÇØ ³õ°í, ±× ÆÄÀÏÀ» crypt(3) ¿¡ ´ëÀÔÇØ¼­ ¾ÏȣȭµÈ ÆÐ½º¿öµå ÆÄÀϰú ÀÏÄ¡ÇÏ´ÂÁö loop ¸¦ µ¹¸é¼­ °è¼Ó °Ë»çÇϵµ·Ï ·çƾÀ» ¼öÁ¤ÇÏ¸é µÈ´Ù. ¹°·Ð »çÀüµ¥ÀÌŸ´Â ¾î¶»°Ô ÇØ¼­µçÁö ¾ò¾î¿Í¾ß ÇÑ´Ù.

shadow ÆÐ½º¿öµå ¹æ½ÄÀ» »ç¿ëÇÑ´Ù¸é, ÆÐ½º¿öµåÆÄÀÏÀÌ ´©ÃâµÉ °¡´É¼ºÀÌ ÁÙ¾îµé±ä ÇϰÚÁö¸¸, ÀÌ¿ÕÀÌ¸é »çÀü°ø°Ý¿¡ °É¸®Áö ¾Ê´Â ÆÐ½º¿öµå¸¦ »ç¿ëÇÏ´Â°Ô ¹Ù¶÷Á÷ ÇÒ°ÍÀÌ´Ù.
EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù.