ÃʽÉÀÚ¸¦ À§ÇØ, ¿¹Á¦¸¦ ¸ÕÀú »ìÆìº¸°Ú´Ù. »ç¿ëÀÚ¿¡°Ô ¾î¶² ¼ºñ½º¸¦ Á¦°øÇØÁÖ´Â ÀÀ¿ëÇÁ·Î±×·¥À» »ý°¢Çغ¸ÀÚ; loginÀÌ ÀÌ·± ÇÁ·Î±×·¥Áß ÇϳªÀÌ´Ù. loginÀº µÎ°¡Áö ÀÏÀ» ÇÑ´Ù. Çϳª´Â ¿äûÇÑ »ç¿ëÀÚ°¡ ÀÚ½ÅÀÌ ÁÖÀåÇÏ´Â »ç¿ëÀÚ°¡ ¸Â´ÂÁö È®ÀÎÇØ¼ ¿øÇÏ´Â »ç¿ëÀÚ·Î ¼³Á¤ÇØÁÖ°í µÎ¹øÂ°·Î, ¿ä±¸ÇÑ ¼ºñ½º¸¦ Á¦°øÇØÁÖ´Â °ÍÀÌ´Ù; loginÀÇ °æ¿ì ¼ºñ½º´Â ±× »ç¿ëÀÚÀÇ UID·Î ½ÇÇàµÇ´Â ¸í·Éshell(bash, tcsh, zsh, µîµî) ÀÌ´Ù.
ÀüÅëÀûÀ¸·Î, ¾ÕÀÇ ´Ü°è´Â login ÇÁ·Î±×·¥ÀÌ »ç¿ëÀÚ¿¡°Ô ÆÐ½º¿öµå¸¦ ¹°¾î º¸°í, ½Ã½ºÅÛ¿¡ ÀÖ´Â °Í°ú ÀÏÄ¡ÇÏ´ÂÁö È®ÀÎÇÔÀ¸·Î½á ¼öÇàµÈ´Ù. µû¶ó¼ ½Ã½ºÅÛ¿¡ °ü·ÃµÈ Çѵµ ¾È¿¡¼ »ç¿ëÀÚ°¡ ±×°¡ ÁÖÀåÇÏ´Â »ç¿ëÀÚ°¡ ¸Â´ÂÁö È®ÀÎÇÑ´Ù. ÀÌ ÀÛ¾÷À» Linux-PAM¿¡°Ô À§ÀÓÇÏ°Ô µÈ´Ù.
ÀÀ¿ëÇÁ·Î±×·¥ °³¹ßÀÚ ÀÔÀå¿¡¼ º¸¸é(ÀÌ °æ¿ì¿¡´Â loginÇÁ·Î±×·¥À» ÀÛ¼ºÇÏ´Â »ç¶÷), Linux-PAMÀÌ »ç¿ëÀÚÀÇ ½Å¿øÀ» È®ÀÎÇÏ´Â ÀÎÁõ°úÁ¤À» ¸Ã°Ô µÇ´Â °ÍÀÌ´Ù.
Linux-PAMÀÇ À¯¿¬¼ºÀº ½Ã½ºÅÛ °ü¸®ÀÚÀÎ ´ç½ÅÀÌ ¾î´À ÀÎÁõ¾ÈÀ» »ç¿ëÇÒ °ÍÀÎÁö ¸¶À½´ë·Î ¿ä±¸ÇÒ ¼ö ÀÖ´Ù´Â °ÍÀÌ´Ù. ´ç½ÅÀº Linux½Ã½ºÅÛ¿¡¼ PAMÀ» »ç¿ëÇÏ´Â ¾î¶² ¶Ç´Â ¸ðµç ÀÀ¿ëÇÁ·Î±×·¥¿¡ ´ëÇØ¼µµ ÀÎÁõ¾ÈÀ» Á¤ÇÒ ÀÚÀ¯¸¦ °®°í ÀÖ´Ù. Áï, ´ç½ÅÀº ´Ü¼ø ½Å·Ú(pam_permit, ¸ðµÎ Çã¿ëÇÏ´Â °Í)°°ÀÌ ¼øÁøÇÑ °ÍºÎÅÍ ¸Á¸·°Ë»ç, À½¼º, ±×¸®°í one-time ÆÐ½º¿öµå¸¦ Á¶ÇÕÇÑ °Íó·³ ´ë´ÜÈ÷ Àǽɸ¹Àº ¼öÁرîÁö »ç¿ëÇØ¼ ÀÎÁõÇÒ ¼ö ÀÖ´Ù.
´ç½ÅÀÌ Áö±Ý º¸°í ÀÖ´Â Linux-PAMÀÇ À¯¿¬¼ºÀ» º¸¿©ÁÖ±â À§ÇØ ´ÙÀ½ÀÇ »óȲÀ» »ý°¢Çغ¸ÀÚ: ½Ã½ºÅÛ °ü¸®ÀÚ(ºÎ¸ð)´Â ±×(³à)ÀÇ »ç¿ëÀÚµé(¾ÆÀ̵é)ÀÇ ¼öÇÐ ´É·ÂÀ» Çâ»ó½ÃŰ±æ ¿øÇÑ´Ù. ±×³à´Â ¾ÆÀ̵éÀÌ ÁÁ¾ÆÇÏ´Â "Shoot'em up game" (¹°·Ð PAMÀ» »ç¿ëÇÏ´Â ÇÁ·Î±×·¥À̾î¾ß ÇÑ´Ù)À» »ç¿ëÇϵµ·Ï ÀÎÁõÇϴµ¥ 12º¸´Ù ÀÛÀº ÀÓÀÇÀÇ ¸î¸î ¼ýÀÚµéÀÇ °öÀ» ¸ÂÃßµµ·Ï ¿ä±¸Çϵµ·Ï ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. ¸¸¾à ±× °ÔÀÓÀÌ ÁÁÀº Á¡ÀÌ ÀÖ´Ù¸é ¾ÆÀ̵éÀÌ °ð ±¸±¸´ÜÀ» ¹è¿ï °ÍÀ̶ó´Â »ç½ÇÀº È®½ÇÇÏ´Ù. ¾ÆÀ̵éÀÌ ÀÚ¶÷¿¡ µû¶ó ÀÎÁõ¹æ¹ýµµ (±ä ¼ýÀÚÀÇ)³ª´°¼ÀÀ» Æ÷ÇÔÇϵµ·Ï ¾÷±×·¹À̵å ÇÒ ¼ö ÀÖ´Ù.
Linux-PAMÀº ³×°¡Áö Á¾·ùÀÇ ÀÛ¾÷À» ÇÑ´Ù. À̰͵éÀº ÀÎÁõ(authentication); °èÁ¤(account); ¼¼¼Ç(session); ÆÐ½º¿öµå(password)°ü¸®ÀÛ¾÷ÀÌ´Ù. ¼±È£ÇÏ´Â °ü¸®¹æ¾È°ú ÀÀ¿ëÇÁ·Î±×·¥ÀÇ µ¿ÀÛÀÇ °ü·Ã¼ºÀº ÇØ´çÇÏ´Â Linux-PAM¼³Á¤ ÆÄÀÏÀÇ ³»¿ëÀ¸·Î Á¤ÇØÁø´Ù. °ü¸®ÀÛ¾÷Àº ¼³Á¤ ÆÄÀÏ ³»¿¡ ÁöÁ¤µÈ ¸ðµâ¿¡ ÀÇÇØ ¼öÇàµÈ´Ù. ÀÌ ÆÄÀÏÀÇ ¹®¹ýÀº ¾Æ·¡¿¡¼ ´Ù·é´Ù.
´ÙÀ½ ±×¸²Àº Linux-PAMÀÇ Àüü ±¸¼ºÀ» º¸¿©ÁØ´Ù.
+----------------+ | application: X | +----------------+ / +----------+ +================+ | authentication-[---->--\--] Linux- |--<--| PAM config file| | + [----<--/--] PAM | |================| |[conversation()][--+ \ | | | X auth .. a.so | +----------------+ | / +-n--n-----+ | X auth .. b.so | | | | __| | | _____/ | service user | A | | |____,-----' | | | V A +----------------+ +------|-----|---------+------+------+ +---u-----u----+ | | | | auth.... |--[ a ]--[ b ]--[ c ] +--------------+ | acct.... |--[ b ]--[ d ] +--------------+ | password |--[ b ]--[ c ] +--------------+ | session |--[ e ]--[ c ] +--------------+ |
±×¸²ÀÇ ¿ÞÂÊÀº X¶ó´Â ÀÀ¿ëÇÁ·Î±×·¥À» ³ªÅ¸³½´Ù. Linux-PAM ¶óÀ̺귯¸®¿Í ¿¬°áµÈ ÀÌ·± ÀÀ¿ëÇÁ·Î±×·¥Àº ¼³Á¤µÈ ÀÎÁõ ¹æ¹ý¿¡ ´ëÇØ ÀüÇô ¸ð¸£´Â »óÅÂÀÌ´Ù. Linux-PAM ¶óÀ̺귯¸®(±×¸² °¡¿îµ¥)´Â PAM¼³Á¤ ÆÄÀÏÀÇ ³»¿ëÀ» º¸°í X¶ó´Â ÀÀ¿ëÇÁ·Î±×·¥¿¡¿¡ ¸Â´Â ¸ðµâµéÀ» ·ÎµåÇÑ´Ù. ÀÌ ¸ðµâµéÀº ³×°³ÀÇ °ü¸® ±×·ì(±×¸² ¾Æ·¡ÀÇ °¡¿îµ¥)À¸·Î ºÐ·ùµÇ°í, ¼³Á¤ÆÄÀÏ¿¡ ÀûÇôÀÖ´Â ¼ø¼´ë·Î 󸮵ȴÙ. Linux-PAM¿¡ ÀÇÇØ ÀÌ ¸ðµâµéÀÌ È£ÃâµÇ¸é ÀÀ¿ëÇÁ·Î±×·¥À» À§ÇØ ´Ù¾çÇÑ ÀÎÁõÀ» ¼öÇàÇÑ´Ù. »ç¿ëÀÚ¿¡°Ô Á¦°øµÇ°Å³ª »ç¿ëÀڷκÎÅÍ ¹Þ¾Æ¾ßÇÒ ÅØ½ºÆ® Á¤º¸µéÀº ÀÀ¿ëÇÁ·Î±×·¥ÀÌ Á¦°øÇÏ´Â conversation ÇÔ¼ö¸¦ ÅëÇØ ±³È¯µÈ´Ù.
[¾Æ·¡ ±ÛÀº Seth ChaiklinÀÌ Á¦°øÇÑ °ÍÀÌ´Ù.]
¿©Å±îÁö ¿ì¸®´Â ¸ðµç ÀÀ¿ëÇÁ·Î±×·¥µéÀÌ ÀûÀýÈ÷ ÄÚµùµÈ ÀÌ»óÀûÀÎ »óȲ¿¡¼ PAMÀÌ ¾î¶»°Ô µ¿ÀÛÇÏ´ÂÁö ¼³¸íÇß´Ù. ÇÏÁö¸¸, ÇöÀç(1998³â 10¿ù)ÀÇ ½ÃÁ¡¿¡¼ À̰ÍÀº ½ÇÁ¦ »óȲ°ú ¸¹ÀÌ ´Ù¸£´Ù. ±×·¡¼, ¿©±â¿¡¼´Â ½Ã½ºÅÛ¿¡ PAMÀ» »ç¿ëÇÏ·Á°í ½ÃµµÇÒ ¶§¿¡ °í·ÁÇØ¾ßÇÒ ¸î°¡Áö »çÇ×À» Àû´Â´Ù. ¸ðµç ¹®Á¦¿¡ PAMÀº À¯¿ëÇÑ °ÍÀΰ¡? ¸¸ÀÏ Linux¸¦ 1ÀÎ »ç¿ëÀÚ ½Ã½ºÅÛÀ¸·Î »ç¿ëÇϰųª ¸ðµç »ç¿ëÀÚµéÀ» ½Å·ÚÇÒ ¼ö Àִ ȯ°æÀ̶ó¸é, PAMÀ» »ç¿ëÇÏ´Â °ÍÀº ½ÇÁúÀûÀ¸·Î ÀÌÀÍÀÌ ¾ø´Ù. |
Ed: ½ÇÁ¦·Î ÀåÁ¡ÀÌ ÀÖ±â´Â ÇÏ´Ù. Win95ó·³ ÀÎÁõÀÚü¸¦ »ç½Ç»ó ¹Ùº¸·Î ¸¸µé¾î ¹ö¸± ¼ö ÀÖ´Ù.
³×Æ®¿öÅ© ȯ°æ¿¡¼, »ç¿ëÀÚµéÀÌ ¾î¶»°Ô ÀÎÁõÀ» ¹Þ´Â°¡ µî¿¡ ´ëÇØ Á»´õ »ý°¢Çغ¼ Çʿ䰡 ÀÖ´Ù´Â °ÍÀº È®½ÇÇÏ´Ù.
Linux¸¦ ¼¹ö·Î »ç¿ëÇϰí ÀÖ´Ù¸é, ±×¸®°í ±× ¼¹ö¿¡¼ ¸î¸î ¼·Î ´Ù¸¥ ¼ºñ½º(¿¹¸¦ µé¾î ÆÐ½º¿öµå ÄÁÆ®·ÑÀ» »ç¿ëÇÏ¿© ÀϺΠ»ç¿ë¿¡ Á¦¾àÀ» µÎ´Â WWW, PPPµî)µéÀ» Á¦°øÇϰí ÀÖ´Ù¸é, ½ÇÁúÀûÀÌ°íµµ À¯ÀÍÇÑ PAMÀÇ °¡Ä¡°¡ ÀÖÀ» ¼ö ÀÖ´Ù. ƯÈ÷, ¸ðµâ »ç¿ëÀ» ÅëÇØ PAMÀº ÇÁ·Î±×·¥ÀÌ Æ¯Á¤ ÆÐ½º¿öµå µ¥ÀÌÅͺ£À̽º¿¡ ´ëÇÑ Äڵ带 °¡Áö°í ÀÖÁö ¾Ê´õ¶óµµ ¿©·¯ ÆÐ½º¿öµå µ¥ÀÌÅͺ£À̽ºÀ» °Ë»öÇÒ ¼ö ÀÖµµ·Ï ÇØÁØ´Ù. ¾Æ·¡¿¡ PAMÀÌ °¡´ÉÇÏ°Ô ÇØÁÖ´Â ¿¹°¡ ÀÖ´Ù. * Apache´Â PAM¼ºñ½º¸¦ Á¦°øÇÏ´Â ¸ðµâÀ» °¡Áö°í ÀÖ´Ù. ÀÌÁ¦ ƯÁ¤ µð·ºÅ丮µéÀ» »ç¿ëÇÏ´Â ÀÎÁõÀÌ PAM¿¡ ÀÇÇØ ¼öÇàµÉ ¼ö ÀÖ´Ù. À̰ÍÀº RADIUS, NIS, NCP °°ÀÌ PAMÀÌ »ç¿ë°¡´ÉÇÑ ¸ðµâ ÀüºÎ¸¦ ÀÎÁõ¿¡ »ç¿ëÇÏ´Ù´Â À̾߱Ⱑ µÈ´Ù. (Áï, À̰ÍÀº Novell ÆÐ½º¿öµå µ¥ÀÌÅͺ£À̽º°¡ »ç¿ë°¡´ÉÇÏ´Ù´Â °ÍÀÌ´Ù.) * pppd´Â PAMÀÌ Àû¿ëµÈ ¹öÁ¯ÀÌ ÀÖ´Ù(RedHat¿¡ ÀÖ´Ù.) ÀÌÁ¦ ppp »ç¿ëÀÚ¸¦ ÀÎÁõÇϱâ À§ÇØ ¿©·¯ µ¥ÀÌÅͺ£À̽º¸¦ »ç¿ëÇÏ´Â °ÍÀÌ °¡´ÉÇÏ´Ù. ÀÏ¹Ý Linux±â¹ÝÀÇ ÆÐ½º¿öµå µ¥ÀÌÅͺ£À̽º(/etc/passwd³ª /etc/shadow°°Àº °Íµé)»Ó¸¸ ¾Æ´Ï¶ó, Novell ÆÐ½º¿öµå µ¥ÀÌÅͺ£À̽º³ª NT±â¹ÝÀÇ ÆÐ½º¿öµå µ¥ÀÌÅͺ£À̽º¿¡ ´ëÇØ¼µµ ÀÎÁõÀ» ÇÏ´Â PAM¸ðµâÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù. * ¾ÕÀÇ µÎ ¿¹ÀÇ Á¶ÇÕÀÌ °¡´ÉÇÏ´Ù. ´ç½ÅÀÇ »ç¹«½Ç/ºÎ¼¿¡ ÀÖ´Â »ç¶÷µéÀÌ ÀÌ¹Ì NovellÀ̳ª NT ±â¹ÝÀÇ LAN¿¡ ID¿Í ÆÐ½º¿öµå¸¦ µî·ÏÇß´Ù°í »ý°¢Çغ¸ÀÚ. ÀÌ µ¥ÀÌÅͺ£À̽º¸¦ ´ç½ÅÀÇ Linux¼¹ö¿¡¼ »ç¿ëÇÏ°í ½Í´Ù¸é(PPP, Web access»Ó¾Æ´Ï¶ó, ÀÏ¹Ý shell access±îÁöµµ), ¾çÂÊ ¸ðµÎ º°µµÀÇ µ¥ÀÌÅͺ£À̽º¸¦ À¯ÁöÇÏ´Â °Íº¸´Ù PAMÀ» »ç¿ëÇØ¼ ±âÁ¸ÀÇ µ¥ÀÌÅͺ£À̽º¸¦ »ç¿ëÇÑ ÀÎÁõÀ» ÇÒ ¼ö ÀÖ´Ù. ÀÎÁõÀ» ÇÊ¿ä·ÎÇÏ´Â ¸ðµç ÇÁ·Î±×·¥¿¡¼ PAMÀ» »ç¿ëÇÒ ¼ö Àִ°¡? ´ë´äÀº ¿¹/¾Æ´Ï¿À ¸ðµÎ °¡´ÉÇÏ´Ù. ¼Ò½ºÄڵ忡 Á¢±Ù ÇÒ ¼ö ÀÖ°í, ÀûÀýÈ÷ PAM±â´ÉÀ» Ãß°¡ÇÒ ¼ö ÀÖ´Ù¸é ´ë´äÀº '¿¹'ÀÌ´Ù. ¼Ò½ºÄڵ忡 Á¢±ÙÇÒ ¼ö ¾ø°í, ÇÁ·Î±×·¥ ÀÚü°¡ PAM±â´ÉÀ» Áö¿øÇÏÁö ¾Ê´Â´Ù¸é ´ë´äÀº '¾Æ´Ï¿À'ÀÌ´Ù. Áï, ¾î¶² ÇÁ·Î±×·¥ÀÌ PAMÀ» »ç¿ëÇÏ·ÁÇÑ´Ù¸é ÇÁ·Î±×·¥ÀÌ PAMÀ» Áö¿øÇϵµ·Ï ¸¸µé¾î¾ß ÇÑ´Ù. ¸¸¾à ±×·¸Áö ¾Ê´Ù¸é, PAMÀ» »ç¿ëÇÏ´Â °ÍÀº ºÒ°¡´ÉÇÏ´Ù. ÇÁ·Î±×·¥ÀÌ PAMÁö¿ø ±â´ÉÀ» °®°í ÀÖ´ÂÁö ¾Æ´ÑÁö ¾î¶»°Ô ¾Ë ¼ö Àִ°¡? °£ÆíÇÑ ¹æ¹ý(ÇÏÁö¸¸ Ç×»ó ¹ÏÀ»°ÍÀº ¸øµÈ´Ù.)Àº 'ldd <programname>'ÀÌ´Ù. ¸¸¾à libpam°ú libpam_misc°¡ ÇÁ·Î±×·¥ÀÌ »ç¿ëÇÏ´Â ¶óÀ̺귯¸®µé Áß¿¡ ¾ø´Ù¸é, ±× ÇÁ·Î±×·¥Àº PAMÀ» »ç¿ëÇÏÁö ¾Ê´Â °ÍÀÌ´Ù. ±×·¯³ª, ¶óÀ̺귯¸®¸¦ °¡Áö°í ÀÖ´õ¶óµµ ¿©ÀüÈ÷ ¹®Á¦´Â Àִµ¥ ¿Ö³ÄÇϸé PAMÀÌ ÄÚµùµÈ ÇÁ·Î±×·¥ÀÌ Á¦´ë·Î µ¿ÀÛÇÏÁö ¾ÊÀ» ¼ö Àֱ⠶§¹®ÀÌ´Ù. ±×·¡¼, ¹ÏÀ» ¸¸ÇÑ °ËÁõ¹æ¹ýÀº ¾Æ·¡ÀÇ Å×½ºÆ®¸¦ ÇÏ´Â °ÍÀÌ´Ù. /etc/pam.d µð·ºÅ丮¿¡¼ ½ÇÇà½ÃŰ·Á´Â ÇÁ·Î±×·¥ÀÇ ¼³Á¤ÆÄÀÏÀ» ¸¸µç´Ù. Á¤È®ÇÑ ÆÄÀÏÀÇ À̸§Àº ÇÁ·Î±×·¥³»¿¡ Çϵå-ÄÚµùµÇ¾î ÀÖ´Ù. º¸ÅëÀº ÇÁ·Î±×·¥ À̸§°ú °°Àº À̸§ÀÌÁö¸¸, Ç×»ó ±×·¸Áö´Â ¾Ê´Ù. ¼³¸íÀÇ ÆíÀǸ¦ À§ÇØ ±× ÇÁ·Î±×·¥ÀÇ À̸§ÀÌ 'pamprog'¶ó°í Çϰí, ¼³Á¤ÆÄÀÏÀº /etc/pam.d/pamprog¶ó°í ÇÏÀÚ. /etc/pam.d/pamprogÀÇ ³»¿ëÀ» ´ÙÀ½°ú °°ÀÌ ÇÏÀÚ: auth required pam_permit.so auth required pam_warn.so ÀÌÁ¦ pamprog¸¦ »ç¿ëÇØº¸ÀÚ. ¼³Á¤ÆÄÀÏÀÇ Ã¹¹øÂ° ÁÙÀº ¸ðµç »ç¿ëÀÚ¸¦ Åë°ú½ÃŰ´Â °ÍÀÌ´Ù. µÎ¹øÂ° ÁÙÀº syslogÆÄÀÏ¿¡ °æ°í ¸Þ½ÃÁö¸¦ ³²±â´Â °ÍÀÌ´Ù. ÀÌ Å×½ºÆ®°¡ ¼º°øÇÑ´Ù¸é, ´ç½ÅÀº ÀÌ ÇÁ·Î±×·¥ÀÌ pamÀ» Á¦´ë·Î Áö¿øÇϰí ÀÖ´Ù´Â °ÍÀ» ¾Ë ¼ö ÀÖ´Ù. ±×¸®°í /etc/pam.d/pamprog ÆÄÀϳ»ÀÇ ¸ðµâ ¼³Á¤À» ÅëÇØ ¾î¶»°Ô ¸ðµâÀ» ½×À» °ÍÀÎÁö¸¦ °áÁ¤ÇÏ´Â ´õ Èï¹ÌÀÖ´Â ÀÏÀ» ÇÒ ¼ö ÀְԵȴÙ. |