Linux-PAMÀº ½Ã½ºÅÛ °ü¸®ÀÚ¿¡°Ô ½Ã½ºÅÛ¿¡ ÀÖ´Â ±ÇÇÑÀ» ºÎ¿©ÇÏ´Â ÀÀ¿ëÇÁ·Î±×·¥µéÀ» ¼³Á¤Çϴµ¥ ÀÖ¾î¼ ¸¹Àº À¯¿¬¼ºÀ» Á¦°øÇØÁÖ±â À§ÇØ µðÀÚÀεǾú´Ù. Linux-PAM¿¡ÀÇÇØ Á¶Á¤µÇ´Â ½Ã½ºÅÛ º¸¾È¿¡ °ü·ÃµÈ ¼³Á¤µéÀº /etc/pam.confÆÄÀÏÀ̳ª /etc/pam.d/ µð·ºÅ丮³»ÀÇ ÆÄÀϵé Áß Çϳª¿¡ µé¾îÀÖ´Ù. ÀÌ Àå¿¡¼´Â ÀÌ ÆÄÀϵéÀÌ ÂüÁ¶ÇÏ´Â ³»¿ë¿¡ °üÇÑ ¿Ã¹Ù¸¥ ¹®¹ý°ú ¿É¼Ç¿¡ ´ëÇØ ¼³¸íÇÒ °ÍÀÌ´Ù.
ÀÌ ÆÄÀÏ¿¡¼ Linux-PAM°íÀ¯ÀÇ ´Ü¾î(ÅäÅ«)µéÀº ´ë¼Ò¹®ÀÚ ±¸ºÐÀÌ ¾ø´Ù´Â°ÍÀ» À¯³äÇϱ⠹ٶõ´Ù. ±×·¯³ª, ¸ðµâ °æ·Î(path)´Â ÆÄÀÏ À̸§À» °¡¸£Å°´Â °ÍÀ̰í ÀüÇüÀûÀÎ Linux ÆÄÀÏ ½Ã½ºÅÛÀÇ ´ë¼Ò¹®ÀÚ ±¸ºÐ¿¡ µû¶ó ¸ðµâ °æ·Î ¿ª½Ã ´ë¼Ò¹®ÀÚ¸¦ ±¸ºÐÇÑ´Ù. ¸ðµâ¿¡°Ô ÁÖ¾îÁö´Â ÀÎÀÚ(argument)µéÀÇ ´ë¼Ò¹®ÀÚ ±¸ºÐÀº ¸ðµâÀÌ Á¤Çѹٿ¡ µû¸¥´Ù.
¾Æ·¡ ¼³¸íµÈ °Íµé¿Ü¿¡, ½Ã½ºÅÛ °ü¸®ÀÚÀÇ ÆíÀǸ¦ À§ÇØ µÎ°³ÀÇ Æ¯º°ÇÑ ¹®ÀÚ°¡ Á¦°øµÈ´Ù: '#'À¸·Î ½ÃÀ۵Ǵ ¹®ÀåÀº ÁÖ¼®À̰í ÁÙÀÇ ³¡±îÁö À¯È¿ÇÏ´Ù. ¸ðµâÀÇ ¼³Á¤Çà¿¡¼ ÁÙ ³¡¿¡ '\'¸¦ »ç¿ëÇÏ¸é ´ÙÀ½ÁÙµµ ¾Õ°ú °°Àº ÇϳªÀÇ ¹®ÀåÀ¸·Î 󸮵ȴÙ.
/etc/pam.confÆÄÀÏÀÇ ÀϹÝÀûÀÎ ¼³Á¤ ¹®ÀåÀº ¾Æ·¡ÀÇ ÇüÅÂÀÌ´Ù:
service-name module-type control-flag module-path arguments |
¾Æ·¡¿¡ ÀÌ °¢°¢ÀÇ ´Ü¾îµéÀÇ Àǹ̸¦ ¼³¸íÇÑ´Ù. Linux-PAMÀ» ¼³Á¤ÇÏ´Â µÎ¹øÂ° ¹æ¹ý(ÃÖ±Ù¿¡ Àû¿ëµÈ °ÍÀÌ´Ù.)Àº /etc/pam.d/µð·ºÅ丮³»ÀÇ ÆÄÀϵéÀ» »ç¿ëÇÏ´Â °ÍÀÌ´Ù. À§ÀÇ ´Ü¾îµéÀÇ Àǹ̸¦ ¼³¸íÇÑ ´ÙÀ½¿¡ ÀÌ ¹æ¹ý¿¡ ´ëÇØ ¼³¸íÇϰڴÙ.
ÀÌ ¼³Á¤¹®Àå°ú °ü·ÃÇÑ ¼ºñ½ºÀÇ À̸§ÀÌ´Ù. ÁÖ·Î ÇØ´ç ÀÀ¿ëÇÁ·Î±×·¥ÀÇ ÀϹÝÀûÀÎ À̸§À» »ç¿ëÇÑ´Ù. ¿¹¸¦ µé¸é, 'ftpd', 'rlogind', 'su' µîÀÌ´Ù.
µðÆúÆ® ÀÎÁõ ¹æ¹ýÀ» Á¤ÀÇÇϱâ À§ÇØ Á¤ÀÇµÈ Æ¯º°ÇÑ ¼ºñ½º À̸§ÀÌ ÀÖ´Ù. 'OTHER'¶ó´Â °ÍÀÌ À̰ÍÀε¥, ´ë¼Ò¹®ÀÚ ±¸º°¾øÀÌ ¾µ ¼ö ÀÖ´Ù. ¸¸¾à ¾î¶² ¼ºñ½ºÀÇ ÀÎÁõ ¸ðµâ ¼³Á¤ÀÌ ÀÌ¹Ì µÇ¾î ÀÖÀ¸¸é 'OTHER'Ç׸ñÀº ¹«½ÃµÈ´Ù.
³×°¡ÁöÀÇ(ÇöÀç) ¸ðµâ ŸÀÔÁß ÇϳªÀÌ´Ù. ³×°¡Áö´Â ´ÙÀ½°ú °°´Ù:
auth: ÀÌ ¸ðµâŸÀÔÀº »ç¿ëÀÚ ÀÎÁõÀÇ µÎ°¡Áö ¸éÀ» Á¦°øÇÑ´Ù. ù°´Â, ÀÀ¿ëÇÁ·Î±×·¥ÀÌ »ç¿ëÀÚ¿¡°Ô ÆÐ½º¿öµå¸¦ ¹°¾îº¸°Å³ª ´Ù¸¥ È®ÀÎ ¹æ¹ýÀ» »ç¿ëÇϵµ·Ï ÇØ¼ ±× »ç¿ëÀÚ°¡ ÀÚ½ÅÀÌ ÁÖÀåÇÏ´Â »ç¶÷ÀÌ ¸Â´ÂÁö È®ÀÎÇÏ´Â °ÍÀÌ´Ù. µÎ¹øÂ°´Â, ±×·ì ¸â¹ö½±À» Áְųª (¾Õ¼ À̾߱âÇÑ /etc/groupsÆÄÀÏ¿¡ ÀÖ´Â ³»¿ëÀ» ÅëÇØ¼) credential(½ÅÀÓ)¼Ó¼ºÀ» ÅëÇØ ´Ù¸¥ ±ÇÇÑÀ» ÁÖ´Â °ÍÀÌ´Ù.
account: ÀÌ ¸ðµâÀº ÀÎÁõÀÌ ¾Æ´Ñ °èÁ¤°ü¸®¸¦ ¼öÇàÇÑ´Ù. À̰ÍÀº º¸Åë ½Ã°£/³¯Â¥³ª ÇöÀçÀÇ ½Ã½ºÅÛ ÀÚ¿ø »óȲ(ÃÖ´ë »ç¿ëÀÚ¼ö)À̳ª »ç¿ëÀÚÀÇ À§Ä¡('root'´Â Äֿܼ¡¼¸¸ ·Î±×ÀÎÀÌ °¡´ÉÇÏ´Ù)µî¿¡ µû¶ó ¼ºñ½º¿¡ ´ëÇÑ Á¢±ÙÀ» Çã°¡Çϰųª Á¦ÇÑÇÏ´Â °ÍÀÌ´Ù.
session: ÁÖ·Î, ÀÌ ¸ðµâÀº ¼ºñ½º¸¦ »ç¿ëÇϱâ Á÷Àü/Á÷ÈÄ¿¡ ÇÊ¿äÇÑ ÀÛ¾÷°ú °ü·ÃÀÌ ÀÖ´Ù. ÀÌ·¯ÇÑ °ÍµéÀº »ç¿ëÀÚ¿Í ±³È¯ÇÒ ¾î¶² µ¥ÀÌÅ͵éÀÇ opening/closing°ú °ü·ÃÇÑ Á¤º¸µéÀÇ ±â·Ï, µð·ºÅ丮ÀÇ ¸¶¿îÆ® µîÀÌ ÇØ´çµÈ´Ù.
password: ÀÌ ¸¶Áö¸· ¸ðµâŸÀÔÀº »ç¿ëÀÚ¿Í ¿¬°üµÈ ÀÎÁõÅäÅ« (ÆÐ½º¿öµå)µéÀ» °»½ÅÇÒ ¶§ ÇÊ¿äÇÏ´Ù. º¸Åë, challenge/response ¹æ½Ä¿¡ ±â¹ÝÇÑ ÀÎÁõ¸ðµâ Á¾·ùº°·Î °¢°¢ ÇϳªÀÇ password¸ðµâ¾¿ÀÌ Á¸ÀçÇÑ´Ù.
control-flagÀº °ü·ÃµÇ´Â ¸ðµâÀÇ ¼º°ø/½ÇÆÐ °á°ú¿¡ µû¶ó ¾î¶»°Ô PAM¶óÀ̺귯¸®°¡ ¹ÝÀÀÇÒÁö¸¦ ÁöÁ¤ÇÑ´Ù. ¸ðµâµéÀÌ ½×¿©(°°Àº ŸÀÔÀÇ ¸ðµâµéÀÌ ¼ø¼´ë·Î ¼öÇàµÈ´Ù) Àֱ⠶§¹®¿¡ control-flag´Â °¢ ¸ðµâÀÇ »ó´ëÀûÀÎ Á߿䵵¸¦ °áÁ¤ÇÑ´Ù. ÀÀ¿ëÇÁ·Î±×·¥Àº /etc/pam.conf¿¡ ¿°ÅµÈ ¸ðµâ °¢°¢ÀÇ ¼º°ø/½ÇÆÐ¿¡ ´ëÇØ ¾Ë ¼ö ¾ø´Ù. ´ë½Å¿¡, Linux-PAM¶óÀ̺귯¸®·ÎºÎÅÍ ¿ä¾àµÈ ¼º°ø/½ÇÆÐ¿¡ ´ëÇÑ °á°ú¸¦ ¹Þ°ÔµÈ´Ù. ¸ðµâµéÀÇ ¼öÇà ¼ø¼´Â /etc/pam.confÆÄÀÏ¿¡ ¿°ÅµÈ ¼ø¼´ë·Î ¾Õ¿¡ ³ª¿Â°ÍÀÌ µÚ¿¡°Íº¸´Ù ¸ÕÀú ¼öÇàµÈ´Ù. Linux-PAM v0.60ºÎÅÍ, ÀÌ control-flagÀº µÎ°¡Áö ¹®¹ýÁß Çϳª·Î Á¤ÀÇÇÒ ¼ö ÀÖ´Ù.
º¸´Ù ´Ü¼øÇÑ(óÀ½ºÎÅÍ ÀÖ´ø) ¹®¹ýÀº ƯÁ¤ ¸ðµâº°·Î ÀüüÀûÀÎ ¼º°ø/½ÇÆÐ¿¡ ´ëÇØ ÁÖ´Â ¿µÇâÀ» ÇϳªÀÇ ´Ü¾î·Î Áö½ÃÇÏ´Â °ÍÀÌ´Ù. À̰Ϳ¡´Â ³×°¡ÁöÀÇ ´Ü¾î°¡ ÀÖ´Ù: required, requisite, sufficient, optional.
Linux-PAM ¶óÀ̺귯¸®´Â ÀÌ ´Ü¾îµéÀ» ¾Æ·¡ ¼³¸í°ú °°ÀÌ ÇØ¼®ÇÑ´Ù:
required: À̰ÍÀº ÇØ´ç module_typeÀÌ ÀüüÀûÀ¸·Î ¼º°øÇϱâ À§Çؼ´Â ÀÌ ¸ðµâÀÇ ¼º°øÀÌ ÇÊ¿äÇÏ´Ù´Â °ÍÀ» ¸»ÇÑ´Ù. ³ª¸ÓÁö ¸ðµâ(°°Àº module-typeÀÇ)ÀÌ ¸ðµÎ ´Ù ¼öÇàµÇ±â Àü±îÁö »ç¿ëÀÚ°¡ ÀÌ ¸ðµâÀÌ ½ÇÆÐÇß´ÂÁö È®½ÇÈ÷ ¾Ë ¼ö ¾ø´Ù.
requisite: required¿Í ºñ½ÁÇϳª, ½ÇÆÐÇÑ °æ¿ì Á¦¾î°¡ ¹Ù·Î ÀÀ¿ëÇÁ·Î±×·¥¿¡°Ô ³Ñ¾î°£´Ù. °á°ú°ªÀº óÀ½ÀÇ ½ÇÆÐÇÑ required³ª requisite¸ðµâÀÇ °á°ú°ªÀÌ´Ù. ÀÌ Ç÷¡±×´Â »ç¿ëÀÚ°¡ ¾ÈÀüÇÏÁö ¾ÊÀº ¸Åü(medium)¿¡¼ ÆÐ½º¿öµå¸¦ ÀÔ·ÂÇÒ °æ¿ì¿¡ ´ëºñÇØ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ÀÌ·¯ÇÑ ÇൿÀº Å©·¡Ä¿¿¡°Ô ½Ã½ºÅÛÀÇ À¯È¿ÇÑ °èÁ¤À» ¾Ë·ÁÁÙ ¼ö ÀÖ´Ù. ÀÌ °¡´É¼ºÀº ¹Î°¨ÇÑ ÆÐ½º¿öµå¸¦ Àû´ëÀûÀΠȯ°æ¿¡ ³ëÃâ½ÃŰ´Â °Í¿¡ ´ëÇÑ »ç¼ÒÇÏÁö ¾ÊÀº ¿°·Á¿Í ºñ±³Çؼ °ËÅäÇØ¾ß ÇÑ´Ù.
sufficient: ÀÌ ¸ðµâÀÇ ¼º°øÀº Linux-PAM¶óÀ̺귯¸®¿¡°Ô ÀÌ module-typeÀÌ ¼º°øÇß´Ù°í ÆÇ´ÜÇÒ¸¸Å ÃæºÐÇÏ°Ô ¸¸Á·½º·´´Ù´Â °ÍÀÌ´Ù. ÀÌÀüÀÇ required¸ðµâÀÌ ½ÇÆÐÇÏÁö ¾Ê¾Ò´Ù¸é ´õÀÌ»ó ÀÌ typeÀÇ ³ª¸ÓÁö ¸ðµâµéÀº ¼öÇàµÇÁö ¾Ê´Â´Ù. (À̰æ¿ì¿¡ µÚµû¸£´Â required¸ðµâÀÌ ¼öÇàµÇÁö ¾Ê´Â°Í¿¡ À¯ÀÇÇ϶ó) ÀÌ ¸ðµâÀÇ ½ÇÆÐ´Â ÀÌ module-typeÀÇ ¼º°ø¿©ºÎ ÆÇ´Ü¿¡ Ä¡¸íÀûÀÌÁö´Â ¾ÊÀº°ÍÀ¸·Î °£ÁֵȴÙ.
optional: À̸§ÀÌ ÀǹÌÇϵíÀÌ, ÀÌ control-flag´Â ¸ðµâÀÌ ¼ºñ½º¿¡ ´ëÇÑ ÀÀ¿ëÇÁ·Î±×·¥ÀÇ ¼º°ø/½ÇÆÐ¿¡ Áß¿äÇÏÁö´Â ¾Ê´Ù´Â °ÍÀÌ´Ù. º¸Åë, Linux-PAMÀº ¸ðµâµéÀÇ ¼º°ø/½ÇÆÐ ÆÇ´Ü½Ã¿¡ ÀÌ·± ¸ðµâÀº ¹«½ÃÇÑ´Ù. ±×·¯³ª, ÀÌÀü/ÀÌÈÄÀÇ ¸ðµâµéÀÌ ¸íÈ®ÇÑ ¼º°ø/½ÇÆÐ°¡ ¾ø´Ù¸é ÀÌ ¸ðµâÀÌ ÀÀ¿ëÇÁ·Î±×·¥¿¡°Ô ÁÖ´Â °á°ú¸¦ °áÁ¤Áþ´Â´Ù. ÈÄÀÚÀÇ °æ¿ìÀÇ ¿¹·Î, ´Ù¸¥ ¸ðµâµéÀÌ PAM_IGNORE°°Àº °ÍÀ» ¸®ÅÏÇÒ °æ¿ìÀÌ´Ù.
Á»´õ Á¤±³ÇÑ(»õ·Î¿î) ¹®¹ýÀº ´õ¿í ¸íÈ®ÇÏ°í ½Ã½ºÅÛ °ü¸®ÀÚ°¡ »ç¿ëÀÚ¸¦ ¾î¶»°Ô ÀÎÁõÇÒÁö¿¡ ÀÖ¾î ´õ ¸¹Àº Á¦¾î¹æ¹ýÀ» Á¦°øÇÑ´Ù. ÀÌ control-flag´Â ´ë°ýÈ£([])¾È¿¡ value=actionµéÀÌ ³ª¿µÇ¾î ÀÖ´Â ÇüÅÂÀÌ´Ù:
[value1=action1 value2=action2 ...] |
valueI´Â ´ÙÀ½ÀÇ ¸®Åϰªµé Áß ÇϳªÀÌ´Ù: success; open_err; symbol_err; service_err; system_err; buf_err; perm_denied; auth_err; cred_insufficient; authinfo_unavail; user_unknown; maxtries; new_authtok_reqd; acct_expired; session_err; cred_unavail; cred_expired; cred_err; no_module_data; conv_err; authtok_err; authtok_recover_err; authtok_lock_busy; authtok_disable_aging; try_again; ignore; abort; authtok_expired; module_unknown; bad_item; default. ¸¶Áö¸·(default)°ÍÀº ¸íÈ®È÷ Á¤ÀǵÇÁö¾ÊÀº ¸®Åϰªµé¿¡ ´ëÇÑ actionÀ» Á¤Çϱâ À§ÇØ »ç¿ëµÈ´Ù.
actionI´Â ¾çÀÇ Á¤¼ö³ª ´ÙÀ½ÀÇ ÅäÅ«µé Áß ÇϳªÀÌ´Ù: ignore; ok; done; bad; die; reset. ¾çÀÇ Á¤¼ö J°¡ actionÀ¸·Î Á¤ÇØÁö¸é °°Àº typeÀÇ ¸ðµâµéÁß ´ÙÀ½ÀÇ J°³ ¸ðµâµéÀ» °Ç³Ê¶Ù°ÔÇÏ´Â °ÍÀÌ´Ù. ÀÌ ¹æ¹ýÀ¸·Î °ü¸®ÀÚ´Â ¿©·¯°³ÀÇ ¼·Î ´Ù¸¥ ½ÇÇà°úÁ¤À» °®´Â Á¤±³ÇÑ ¸ðµâ¸ñ·ÏÀ» ÀûÀýÈ÷ ¸¸µé ¼ö ÀÖ°Ô µÈ´Ù. ¾î´À °æ·Î°¡ µÉÁö´Â °¢ ¸ðµâÀÇ ¹ÝÀÀ¿¡ ÀÇÇØ °áÁ¤µÈ´Ù.
ignore - ¸ðµâÀÇ °á°ú°ªÀÌ ÀÀ¿ëÇÁ·Î±×·¥ÀÌ °®°ÔµÉ °á°ú°ª¿¡ ¿µÇâÀ» ÁÖÁö ¾Ê´Â´Ù.
bad - À̰ÍÀº °á°ú°ªÀÌ ¸ðµâ ½ÇÆÐÀÇ Ç¥½Ã·Î »ý°¢ÇØ¾ß ÇÑ´Ù. À̸ðµâÀÌ ½ÇÆÐÇÑ Ã¹¹øÂ° ¸ðµâÀ̸é, ÀÌ »óŰªÀº Àüü ¸ðµâÀÇ °á°ú·Î »ç¿ëµÉ °ÍÀÌ´Ù.
die - bad¿Í °°Áö¸¸ ¸ðµâ ¼öÇàÀÌ ÁßÁöµÇ°í, PAMÀÌ ÀÀ¿ëÇÁ·Î±×·¥À¸·Î ¹Ù·Î ¸®ÅÏÇÑ´Ù´Â °ÍÀÌ ´Ù¸£´Ù.
ok - À̰ÍÀº PAM¿¡°Ô °ü¸®ÀÚ°¡ ÀÌ °á°ú°ªÀÌ ¸ðµâ ÀüüÀÇ °á°ú »óÅ·Π¹Ù·Î »ç¿ëµÇ±æ ¹Ù¶õ´Ù°í ¾Ë·ÁÁÖ´Â °ÍÀÌ´Ù. Áï, ¸ðµâ¸ñ·ÏÀÇ ¼öÇà°úÁ¤¿¡¼ ¾Õ±îÁöÀÇ »óŰ¡ PAM_SUCCESSÀ̸é ÀÌ ¸ðµâÀÇ °á°ú°ªÀº ¾Õ±îÁöÀÇ »óŰªÀ» µ¤¾î¾´´Ù. ¹Ý¸é ¾Õ±îÁöÀÇ »óŰ¡ ½ÇÆÐ¶ó¸é ÀÌ 'ok'°ªÀº »óŸ¦ µ¤¾î¾²Áö ¾ÊÀ» °ÍÀÌ´Ù.
done - ok¿Í °°Áö¸¸ ¸ðµâ ¼öÇàÀÌ ÁßÁöµÇ°í PAMÀÌ ÀÀ¿ëÇÁ·Î±×·¥¿¡°Ô ¹Ù·Î ¸®ÅÏÇÑ´Ù´Â °ÍÀÌ ´Ù¸£´Ù.
reset - ¸ðµâµéÀÇ °á°ú»óÅ ±â·ÏÀ» Áö¿ì°í, ´ÙÀ½ ¸ðµâºÎÅÍ »õ·Î ½ÃÀÛÇÑ´Ù.
»õ·Î¿î ¹®¹ýÀÇ ´É·ÂÀ» ü°¨Çϱâ À§ÇØ, À̰ÍÀ¸·Î ¹«¾ùÀ» ÇÒ ¼ö ÀÖ´ÂÁö º¸¿©ÁÖ°Ú´Ù. Linux-PAM-0.63ºÎÅÍ client plug-in agents¶ó´Â °ÍÀÌ ¼Ò°³µÇ¾ú´Ù. À̰ÍÀº PAMÀÌ client/serverÇÁ·Î±×·¥µéÀÌ °íÀ¯ÇÏ°Ô °¡Áö°í ÀÖ´Â Àü¼Û ±Ô¾àÀ» »ç¿ëÇØ¼ ¼·Î´Ù¸¥ ±â°è°£ÀÇ ÀÎÁõÀ» Áö¿øÇÏ´Â °ÍÀ» °¡´ÉÇÏ°Ô ÇØ ÁØ´Ù. ``[... value=action ...]'' Á¦¾î ¹®¹ýÀ¸·Î ÀÀ¿ëÇÁ·Î±×·¥ÀÌ À¯¼øÇÑ Å¬¶óÀÌ¾ðÆ® ÇÁ·Î±×·¥¿¡°Ô´Â ¹ÙÀ̳ʸ® ÇÁ·ÒÇÁÆ®¸¦ Áö¿øÇÏÁö¸¸ µ¿½Ã¿¡ ¿ì¾ÆÇϰԵµ ¿À·¡µÈ ±¸½ÄÀÇ ÀÀ¿ëÇÁ·Î±×·¥¿¡°Ô´Â ´Ù¸¥ ÀÎÁõ¸ðµå¸¦ ¼±ÅÃÇϵµ·Ï ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. À¯¿¬ÇÏÁö ¾ÊÀº°¡?
µ¿ÀûÀ¸·Î ·ÎµåµÉ ¿ÀºêÁ§Æ® ÆÄÀÏ(¸ðµâ ÀÚü)ÀÇ °æ·Î¸íÀÌ´Ù. module pathÀÇ Ã¹ ¹®ÀÚ°¡ '/'¶ó¸é, Àüü°æ·Î¸¦ ÀǹÌÇÑ´Ù. ±×·¸Áö ¾ÊÀº°æ¿ì¿¡´Â default module path(/usr/lib/security)¸¦ ºÙ¿©¼ ÇØ¼®µÈ´Ù. (±×·¸Áö¸¸ 2Àå ³»¿ëÀ» Âü°íÇ϶ó).
args´Â ¸ðµâÀÌ ºÒ·ÁÁú¶§ ³Ñ°ÜÁÖ´Â ÅäÅ« ¸®½ºÆ®ÀÌ´Ù. ÀüÇüÀûÀÎ Linux shell¸í·É¿¡ ÁÖ´Â ÀÎÀÚµé°ú ºñ½ÁÇÏ´Ù. º¸Åë, À¯È¿ÇÑ ÀÎÀÚ´Â ¿É¼ÇÀÌ°í Æ¯Á¤ ¸ðµâ¿¡¸¸ ÇØ´çµÈ´Ù. ¹«È¿ÇÑ ÀÎÀÚµéÀº ¸ðµâ¿¡ ÀÇÇØ ¹«½ÃµÇÁö¸¸, ¹«È¿ÇÑ ÀÎÀÚµéÀ» º¸°ÔµÇ¸é ¸ðµâÀº syslog(3)¿¡ ¿¡·¯¸¦ º¸³»µµ·Ï ¿ä±¸¹Þ´Â´Ù. ÀϹÝÀû generic¿É¼ÇÀÇ ¸ñ·ÏÀº ´ÙÀ½Àý(4.3)¿¡¼ º¼ ¼ö ÀÖ´Ù.
¼³Á¤ ÆÄÀÏÀÇ ¾î¶² ÁÙÀÌ¶óµµ Á¦´ë·Î ÀÛ¼ºµÇ¾îÀÖÁö ¾ÊÀ» °æ¿ì ÀϹÝÀûÀ¸·Î ÀÎÁõ ÀýÂ÷°¡ ½ÇÆÐÇÏ°Ô µÈ´Ù. ÇØ´ç ¿¡·¯´Â syslog(3)¸¦ ÅëÇØ ½Ã½ºÅÛ logÆÄÀÏ¿¡ ±â·ÏµÈ´Ù.
ÇϳªÀÇ ¼³Á¤ ÆÄÀϺ¸´Ù ´õ À¯¿¬¼ºÀ» °®±â À§ÇØ 0.56¹öÀü ºÎÅÍ /etc/pam.d/ µð·ºÅ丮ÀÇ ÆÄÀϵé·Î libpamÀ» ¼³Á¤Çϴ°ÍÀÌ °¡´ÉÇØÁ³´Ù. À̰æ¿ì¿¡ ±× µð·ºÅ丮ÀÇ ÆÄÀÏÀº ÆÄÀÏÀ̸§°ú °°Àº À̸§(¼Ò¹®ÀÚ)À» °®´Â ¼ºñ½º¿¡ ´ëÇÑ ¼³Á¤À» °®°Ô µÈ´Ù: ¼ºñ½º °¢°¢¿¡ ´ëÇÑ ¼³Á¤ ÆÄÀÏÀÎ °ÍÀÌ´Ù.
Linux-PAMÀº µÎ°¡Áö ¸ðµå·Î ÄÄÆÄÀÏ ÇÒ ¼ö ÀÖ´Ù. ÃßõÇÏ´Â ÂÊÀº /etc/pam.d/³ª /etc/pam.confµÑ Áß Çϳª¸¸ »ç¿ëÇÏ´Â °ÍÀÌ´Ù. ÇÏÁö¸¸ µÑ´Ù °°ÀÌ ÇÒ ¼ö´Â ¾ø´Ù. Áï, /etc/pam.d/µð·ºÅ丮°¡ ÀÖ´Ù¸é, libpamÀº ±× µð·ºÅ丮¿¡ ÀÖ´Â ÆÄÀϵ鸸À» »ç¿ëÇÑ´Ù. ±×·¯³ª /etc/pam.d/ µð·ºÅ丮°¡ ¾ø´Â °æ¿ì¿¡´Â /etc/pam.conf¸¦ »ç¿ëÇÑ´Ù. ´Ù¸¥ ÂÊÀº(ÇöÀç RedHat 4.2À̻󿡼 Áö¿øµÇ°í ÀÖ´Ù) /etc/pam.d/¿Í /etc/pam.conf¸¦ ¼ø¼´ë·Î ¸ðµÎ »ç¿ëÇÏ´Â °ÍÀÌ´Ù. ÀÌ ¶§´Â /etc/pam.confÀÇ ³»¿ëº¸´Ù /etc/pam.d/ÀÇ ³»¿ëÀÌ ¿ì¼±ÀûÀ¸·Î »ç¿ëµÈ´Ù.
/etc/pam.d/ÀÇ ÆÄÀÏÀÇ ¹®¹ýÀº /etc/pam.confÀÇ ¹®¹ý°ú ºñ½ÁÇÏ´Ù. °¢ ¹®ÀåÀº ´ÙÀ½°ú °°Àº ÇüÅÂÀÌ´Ù:
module-type control-flag module-path arguments |
¼ºñ½º À̸§(service-name)ÀÌ ¾ø´Ù´Â°Í Çϳª¸¸ ´Ù¸£´Ù. ¼ºñ½º À̸§(service-name)Àº ¹°·Ð ¼³Á¤ÆÄÀÏÀÇ À̸§ÀÌ´Ù. ¿¹¸¦ µé¾î, /etc/pam.d/loginÀº login¼ºñ½º¿¡ ´ëÇÑ ¼³Á¤À» °¡Áö°í ÀÖ´Ù.
ÀÌ ¼³Á¤ ¹æ¹ýÀº ´ÜÀÏ ÆÄÀÏ·Î ÇÏ´Â °Í¿¡ ºñÇØ ¿©·¯ ÀåÁ¡À» °®´Â´Ù. ¾î´À ¹æ¹ýÀ» Àû¿ëÇÒÁö ¼±ÅÃÇϴµ¥ µµ¿òÀ» ÁÖ±â À§ÇØ ¿©±â¿¡ ±× ÀåÁ¡À» ³ª¿ÇÑ´Ù:
À߸ø ¼³Á¤ÇÒ °¡´É¼ºÀ» ÁÙ¿©ÁØ´Ù. ¼³Á¤ÆÄÀÏÀ» ¼ÕÀ¸·Î ¼öÁ¤ÇÒ ¶§, Çʵ尡 Çϳª Àû±â ¶§¹®¿¡ ±×¸¸Å ½Ç¼öµµ Àû´Ù.
À¯Áö°¡ ½±´Ù. ÇÑ ÀÀ¿ëÇÁ·Î±×·¥ ¼³Á¤À» ´Ù½ÃÇÒ ¶§, ½Ã½ºÅÛÀÇ ´Ù¸¥ ÀÀ¿ëÇÁ·Î±×·¥À» ¹æÇØÇÒ À§ÇèÀÌ ¾ø´Ù.
¿©·¯ ¼·Î ´Ù¸¥ ¼ºñ½ºÀÇ ¼³Á¤ ÆÄÀÏÀ» ÇϳªÀÇ ÆÄÀÏ¿¡ ½Éº¼¸¯(symbolic) ¸µÅ©Çϴ°ÍÀÌ °¡´ÉÇÏ´Ù. À̰ÍÀº ´Ù¸¥ ÀÀ¿ëÇÁ·Î±×·¥°£ÀÇ º¸¾ÈÁ¤Ã¥À» µ¿ÀÏÇÏ°Ô À¯ÁöÇϱ⠽±°Ô ÇØÁØ´Ù. (°ø°£À» Àý¾àÇϱâ À§ÇØ, Çϵå(hard)¸µÅ© ÇÏ´Â °Íµµ °¡´ÉÇÏ´Ù. ÇÏÁö¸¸, ÇÏµå ¸µÅ©µÈ ÆÄÀÏÀ» ¼öÁ¤ÇÏ´Â °ÍÀº ¸µÅ©¸¦ ²÷À» ¼ö Àֱ⠶§¹®¿¡ Á¶½ÉÇØ¾ßÇÑ´Ù.)
¼³Á¤ ÆÄÀÏ ºÐ¼®(parsing)ÀÌ ºü¸¦ ¼ö ÀÖ´Ù. ¼ºñ½º°¡ ÇØ´ç ¸ðµâÀ» ÇÊ¿ä·Î ÇÒ ¶§, °ü·ÃµÈ ÆÄÀϸ¸ ÀÐ¾î¼ ºÐ¼®ÇÏ¸é µÈ´Ù.
°¢°¢ÀÇ Linux-PAM¼³Á¤ ÆÄÀϵéÀ» ÆÄÀϽýºÅÛÀÇ ÆÄÀÏ º¸È£¹æ¹ýÀ» »ç¿ëÇØ¼ Àб⠱ÇÇÑÀ» Á¦ÇÑÇÒ ¼ö ÀÖ´Ù.
ÆÐŰÁö °ü¸®°¡ ½¬¿öÁø´Ù. »õ·Î¿î ÀÀ¿ëÇÁ·Î±×·¥ÀÌ ¼³Ä¡µÉ ¶§¸¶´Ù, /etc/pam.d/xxxxxx ÆÄÀÏÀ» °°ÀÌ ¼³Ä¡Çϱ⸸ ÇÏ¸é µÈ´Ù.
´ÙÀ½Àº ¾î¶°ÇÑ ¸ðµâÀ̵ç ÀνÄÇÒ ¼ö ÀÖ´Â °¡´É¼ºÀÌ Å« ¿É¼Ç ÀÎÀÚµéÀÌ´Ù. ÀÎÀÚµé(À̰͵鵵 Æ÷ÇÔÇØ¼)Àº ´ë°Ô ¼±ÅÃÀû(optional)ÀÌ´Ù.
syslog(3) È£ÃâÀ» »ç¿ëÇØ¼ ½Ã½ºÅÛ ·Î±× ÆÄÀÏ¿¡ µð¹ö±× Á¤º¸¸¦ ³²±âµµ·Ï ÇÑ´Ù.
¸ðµâÀÌ ÀÀ¿ëÇÁ·Î±×·¥¿¡°Ô °æ°í(warning) ¸Þ½ÃÁö¸¦ º¸³»Áö ¾Êµµ·Ï ÇÑ´Ù.
¸ðµâÀÌ »ç¿ëÀÚ¿¡°Ô ÆÐ½º¿öµå¸¦ ¿ä±¸ÇÏÁö ¾Êµµ·Ï ÇÑ´Ù. ´ë½Å¿¡, ÀÌÀü¿¡ ÀԷ¹޾Ҵø ÆÐ½º¿öµå(¸ÕÀú ¼öÇàµÈ auth¸ðµâ ·ÎºÎÅÍ)¸¦ ¹Þ¾Æ¼ »ç¿ëÇØ¾ß ÇÑ´Ù. ÆÐ½º¿öµå°¡ ¾ø´Ù¸é, »ç¿ëÀÚ´Â ÀÎÁõÀ» ¹ÞÁö ¸øÇÏ°Ô µÉ °ÍÀÌ´Ù.(ÀÌ ¿É¼ÇÀº auth¿Í password ¸ðµâµé¸¸ Àû¿ëµÈ´Ù.)
¸ðµâÀº ÀÌÀü¿¡ ÀԷ¹ÞÀº ÆÐ½º¿öµå(¸ÕÀú ¼öÇàµÈ auth ¸ðµâ·ÎºÎÅÍ)·Î ÀÎÁõÀ» ½ÃµµÇÑ´Ù. ¸¸ÀÏ ÆÐ½º¿öµå°¡ ¾ø´Ù¸é, »ç¿ëÀÚ¿¡°Ô ÆÐ½º¿öµå¸¦ ¹°¾îº»´Ù.(ÀÌ ¿É¼ÇÀº auth¸ðµâ¸¸ Àû¿ëµÈ´Ù.)
ÀÌ ÀÎÀÚ´Â ÇöÀç ¹èÆ÷µÇ°í ÀÖ´Â Linux-PAM¿¡ ÀÖ´Â ¾î¶² ¸ðµâµµ Áö¿øÇÏÁö ¾Ê´Â´Ù. ÀÌ´Â ¹Ì±¹ ¾ÏÈ£È ¼öÃâ Á¦ÇѰú °ü·ÃÇÏ¿© »ý±æ ¼ö ÀÖ´Â ¹®Á¦ ¶§¹®ÀÌ´Ù. ¹Ì±¹³»¿¡¼´Â °³¹ßÀÚµéÀÌ ¹°·Ð ÀÚÀ¯·Ó°Ô ÀÌ ±â´ÉÀ» ±¸ÇöÇÒ ¼ö ÀÖ´Ù. (´Ù¸¥ ³ª¶ó¿¡¼µµ ¸¶Âù°¡ÁöÀÌ´Ù.). ȣȯ¼ºÀÇ ÀÌÀ¯·Î DCE-RFC 86.0 (bibliography ÀåÀ» º¸¶ó) ¿¡¼ Á¦¾ÈµÈµ¥·Î À̰ÍÀÇ »ç¿ëÀ» ±â¼úÇÑ´Ù.
use_mapped_passÀÎÀÚ´Â ¾ÏȣȵÇÁö ¾ÊÀº ÀÎÁõÅäÅ«À» ¿ä±¸ÇÏ´Â ¾ÕÀÇ ¸ðµâ·ÎºÎÅÍ ÀÎÁõ ÅäÅ«À» ¹ÞÀºÈÄ ´Ù½Ã À̰ÍÀ» »ç¿ëÇØ ¾ÏÈ£/º¹È£ ۸¦ »ý¼ºÇÏ¿© ÀÌ ¸ðµâ¿¡°Ô ÇÊ¿äÇÑ ÀÎÁõÅäÅ«À» ¾ÈÀüÇÏ°Ô ÀúÀåÇϰí ÀÐÀ» ¼ö ÀÖ°Ô ÇÑ´Ù. ÀÌ·± ¹æ¹ýÀ¸·Î, »ç¿ëÀÚ´Â ÇѹøÀÇ ÀÎÁõ ÅäÅ« ÀԷ¸¸À¸·Î ¿©·¯°³ÀÇ ¸ðµâ¿¡ ÀÇÇÑ ÀÎÁõ °úÁ¤À» Á¶¿ëÈ÷ Åë°úÇÒ ¼ö ÀÖ´Ù. ¾ÈÀüÇÏ°Ô Çϱâ À§ÇØ ¹ÏÀ»¸¸ÇÑ Æ°Æ°ÇÑ ¾Ïȣȸ¦ ¿ä±¸ÇÏÁö¸¸ ÆíÇÑ ±â´ÉÀÓÀº ºÐ¸íÇÏ´Ù. ÀÌ ÀÎÀÚ´Â auth¿Í password¸ðµâ¿¡¸¸ Àû¿ëµÈ´Ù.
º¸Åë »ç¿ëÀÚ °èÁ¤¿¡ °üÇÑ Á¤º¸¸¦ ´©¼³ÇÏ´Â °ÍÀº ¸ðµâÀÌ Ã¤ÅÃÇÒ¸¸ÇÑ ¾ÈÀüÇÑ º¸¾ÈÁ¤Ã¥À̶ó ÇÒ ¼ö ¾ø´Ù. ¶§¶§·Î, »ç¿ëÀÚ À̸§À̳ª Ȩ µð·ºÅ丮³ª »ç¿ëÇÒ ½©¿¡ ´ëÇÑ Á¤º¸µéÀº »ç¿ëÀÚ °èÁ¤À» °ø°ÝÇϴµ¥ »ç¿ëµÉ ¼ö ÀÖ´Ù. ±×·¯³ª ¾î¶² »óȲ¿¡¼± ÀÌ·± Á¾·ùÀÇ Á¤º¸°¡ À§Çè¿ä¼Ò°¡ µÉ °Í °°Áö´Â ¾Ê´Ù: º¸¾ÈÀÌ À¯ÁöµÈ ȯ°æ¿¡¼ ÆÐ½º¿öµå¸¦ ¹°¾îº¼ ¶§, »ç¿ëÀÚÀÇ ½ÇÁ¦ À̸§À» Ç¥½ÃÇÏ´Â °ÍÀº Ä£±ÙÇÑ ´À³¦À» ÁØ´Ù°í º¼ ¼öµµ ÀÖÀ» °ÍÀÌ´Ù. expose_accountÀÎÀÚ´Â °ü¸®ÀÚ¿¡ ÀÇÇØ ÀûÀýÇÑ °Í °°Àº °èÁ¤ Á¤º¸¿¡ ´ëÇØ ´ú ¾ö°ÝÇÏ°Ô ±¸ºÐÇϵµ·Ï Çϴ ǥÁØ ÀÎÀÚÀÌ´Ù.
ÀÌ Àå¿¡¼´Â Linux-PAM¼³Á¤ ÆÄÀÏ¿¡¼ º¼ ¼ö ÀÖ´Â ³»¿ë¿¡ ´ëÇÑ ¿¹Á¦ ¸î°³¸¦ ¼³¸íÇÑ´Ù. ½Ã½ºÅÛÀ» óÀ½À¸·Î ¼³Á¤ÇÒ ¶§, À̰͵éÀ» ±¸ÇöÇÏ´Â °Íº¸´Ù ´õ ½É°¢ÇÑ ÁþÀ» ÇÒÁöµµ ¸ð¸¥´Ù.
½Ã½ºÅÛÀÌ ¾ÈÀüÇØ¾ßÇÑ´Ù°í »ý°¢µÇ¸é, 'OTHER' Ç׸ñ¿¡ ´ëÇØ¼ ¾ÈÀüÇÑ ¼³Á¤À» ÇØ¾ß ÁÁÀ» °ÍÀÌ´Ù. ´ÙÀ½Àº ½ÉÇÏ°Ô ºÒ½ÅÇϵµ·Ï ¼³Á¤µÇ¾î ÀÖ´Â °ÍÀÌ´Ù(óÀ½ ½ÃÀÛÇϱ⿡ ³ª»Û °ÍÀº ¾Æ´Ï´Ù!):
# # default; deny access # OTHER auth required /usr/lib/security/pam_deny.so OTHER account required /usr/lib/security/pam_deny.so OTHER password required /usr/lib/security/pam_deny.so OTHER session required /usr/lib/security/pam_deny.so |
±Ùº»ÀûÀ¸·Î ¾ÈÀüÇÑ ¹Ý¸é, À߸ø ¼³Á¤µÈ ½Ã½ºÅÛ¿¡°Ô´Â ´ë´ÜÈ÷ ÁÁ´Ù°í ¸»ÇÒ ¼ö ¾ø´Ù. ¿¹¸¦µé¾î, ³ª¸ÓÁö ÆÄÀϵéÀÌ À߸ø ¾º¿©Áö¸é ¸ðµç »ç¿ëÀÚµéÀ» ¸·¾Æ¹ö¸± °¡´É¼ºÀÌ ÀְԵȴÙ.
pam_deny¸ðµâ(³ªÁß¿¡ ¼³¸íµÈ´Ù)Àº ¼³Á¤Çϱ⿡ ÁÁÁö ¾Ê´Ù. ¿¹¸¦ µé¾î, ¼öÇàµÉ¶§ ·Î±×¸¦ ÀüÇô ³²±âÁö ¾Ê±â¶§¹®¿¡, »ç¿ëÀÚ°¡ ¼ºñ½º ÇÁ·Î±×·¥À» »ç¿ëÇϴµ¥ ½ÇÆÐ¸¦ ÇßÀ»¶§ °ü¸®ÀÚ¿¡°Ô ¾Ë¸®Áö ¾Ê´Â´Ù¸é °ü¸®ÀÚ´Â ½Ã½ºÅÛÀÇ ¼³Á¤ ½Ç¼ö¿¡ ´ëÇÑ »ç½ÇÀ» ¸ð¸¥Ã¤·Î ¿À·§µ¿¾È Áö³¾°Í ÀÌ´Ù.
À§ÀÇ ¿¹Á¦¿Í °°Àº ¼³Á¤¾Õ¿¡ ´ÙÀ½À» Ãß°¡ÇÏ¸é °ü¸®ÀÚ¿¡°Ô ÀûÀýÇÑ °æ°í ¸Þ½ÃÁö¸¦ ÁÙ °ÍÀÌ´Ù.
# # default; wake up! This application is not configured # OTHER auth required /usr/lib/security/pam_warn.so OTHER password required /usr/lib/security/pam_warn.so |
µÎÁÙÀÇ 'OTHER auth'°¡ °°Àº typeÀÇ ¿©·¯¸ðµâ ÀûÃþ»ç¿ëÀÇ ¿¹ÀÌ´Ù.
/etc/pam.d/¼³Á¤À» »ç¿ëÇÏ´Â ½Ã½ºÅÛ¿¡¼´Â ¾Æ·¡¿Í °°Àº ÆÄÀÏÀÌ À§¿¡¼ ¾ê±âÇÑ µðÆúÆ® ¼³Á¤ÀÌ µÈ´Ù:
# # default configuration: /etc/pam.d/other # auth required /usr/lib/security/pam_warn.so auth required /usr/lib/security/pam_deny.so account required /usr/lib/security/pam_deny.so password required /usr/lib/security/pam_warn.so password required /usr/lib/security/pam_deny.so session required /usr/lib/security/pam_deny.so |
ÀÌ°Ô /etc/pam.d/ÇüÅÂÀÇ ¼³Á¤ ¹æ¹ýÀÇ ¿¹·Î º¸¿©ÁÖ´Â À¯ÀÏÇÑ ¿¹ÀÌ´Ù. ³ª¸ÓÁö ¿¹µé¿¡¼ ÀÌ ¼³Á¤ ¹æ¹ýÀ¸·Î º¯È¯ÇÏ´Â ¹æ¹ýÀº ¸íÈ®ÇÒ °ÍÀÌ´Ù.
´ú ¹Î°¨ÇÑ ÄÄÇ»ÅÍ, °ü¸®ÀÚ°¡ Linux-PAMÀÇ ¸¹Àº ±â´ÉµéÀ» ¹«½ÃÇÑä·Î µÎ°í ½ÍÀº °æ¿ì´Â ´ÙÀ½ÀÇ ÁÙµéÀÇ ¿¹ (/etc/pam.conf¿¡¼)°¡ ÀüÅëÀûÀ¸·Î Ä£¼÷ÇÑ linux ¼³Á¤À» ¸ð¹æÇÑ ¼³Á¤ÀÌ µÉ ¼ö ÀÖ´Ù.
# # default; standard UNIX access # OTHER auth required /usr/lib/security/pam_unix_auth.so OTHER account required /usr/lib/security/pam_unix_acct.so OTHER password required /usr/lib/security/pam_unix_passwd.so OTHER session required /usr/lib/security/pam_unix_session.so |
[¿ªÁÖ: Áö±Ý ¹öÁ¯¿¡¼´Â pam_unix_auth, pam_unix_acct, pam_unix_passwd, pam_unix_sessionÀÌ pam_unix.so·Î ÅëÇյǾú°í, Á»´õ ¹ßÀüÇÑ ÇüÅ·Πpam_pwdb.so°¡ Á¸ÀçÇÑ´Ù.] ÀÌ ³»¿ëÀÌ ÀϹÝÀûÀ¸·Î ´ëºÎºÐÀÇ ÀÀ¿ëÇÁ·Î±×·¥¿¡ ´ëÇØ Ãʱ⼳Á¤À¸·Î »ç¿ëµÉ ¼ö ÀÖ´Ù. ºÒÇàÇϰԵµ, ´ëºÎºÐÀÌ ¸ðµÎ¶ó´Â °ÍÀº ¾Æ´Ï´Ù. ftpd°°Àº °æ¿ì´Â anonymous-ftp¸¦ °¡´ÉÇÏ°Ô Çϱâ À§ÇØ Ãß°¡ÀûÀÎ ¼³Á¤ÀÌ ÇÊ¿äÇÏ´Ù.
anonymous-ftp¸¦ °¡´ÉÇÏ°Ô Çϱâ À§ÇØ ´ÙÀ½ÀÇ ÁÙÀÌ µðÆúÆ®(OTHER) ¼³Á¤À» ´ëÃ¼ÇØ¼ »ç¿ëÇÒ ¼ö ÀÖ´Ù. (*°æ°í* 1996/12/28ÀÌÈÄ, ¾î¶°ÇÑ ftpd¿Íµµ ÀÌ ¼³Á¤ÀÌ Á¦´ë·Î µ¿ÀÛÇÏÁö ¾Ê¾Ò´Ù. °á°úÀûÀ¸·Î ÀÌ ¼³¸íÀº ¹Ù²î°Å³ª ÀÀ¿ëÇÁ·Î±×·¥ÀÌ °íÃÄÁú °ÍÀÌ´Ù.)
# # ftpd; add ftp-specifics. These lines enable anonymous ftp over # standard UNIX access (the listfile entry blocks access to # users listed in /etc/ftpusers) # ftpd auth sufficient /usr/lib/security/pam_ftp.so ftpd auth required /usr/lib/security/pam_unix_auth.so use_first_pass ftpd auth required /usr/lib/security/pam_listfile.so \ onerr=succeed item=user sense=deny file=/etc/ftpusers |
/etc/pam.conf¿¡ ÇØ´ç ¼ºñ½º(¿©±â¼´Â ftpd)ÀÇ ¼³Á¤ÆÄÀÏÀÌ ÀÖÀ¸¸é µðÆúÆ® ¼³Á¤ÀÌ ¹«½ÃµÇ±â ¶§¹®¿¡ µÎ¹øÂ° ÁÙÀÌ ÇÊ¿äÇÏ´Ù. ´Ù½Ã Çѹø ÀÌ ¿¹Á¦´Â authentication¸ðµâ¿¡ ÀÖ¾î¼ °°Àº typeÀÇ ¿©·¯ ¸ðµâÀ» ÀûÃþÇØ¼ °°ÀÌ »ç¿ëµÉ ¼ö ÀÖÀ½À» º¸¿©ÁØ´Ù. sufficient control-flagÀ» »ç¿ëÇßÀ½À» ÁÖ¸ñÇ϶ó. À̰ÍÀº ÀÌ ¸ðµâÀÌ »ç¿ëÀÚ¸¦ ÀÎÁõÇϸé ÀÌÈÄÀÇ auth¸ðµâÀº ¹«½ÃÇ϶ó´Â °ÍÀÌ´Ù. ¶ÇÇÑ 'use_first_pass' module-argument¸¦ »ç¿ëÇßÀ½À» ÁÖ¸ñÇ϶ó. À̰ÍÀº UNIX ÀÎÁõ ¸ðµâÀÌ »ç¿ëÀÚ¿¡°Ô ÆÐ½º¿öµå¸¦ ¹°¾îº¸Áö ¾Ê°í ¾Õ¼ ½ÇÇàµÈ ftp¸ðµâ¿¡ ÀÇÇØ ¾òÀº ÆÐ½º¿öµå¸¸À» »ç¿ëÇϵµ·Ï ¼³Á¤ÇÑ´Ù.