· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
Docbook Sgml/PAM_admin-TRANS

The Linux-PAM System Administrators' Guide

The Linux-PAM System Administrators' Guide

MorganAndrew G.

PAM team(¾ÈÈ¿¼º, Á¤°æ½Ä, ÇãÁØ¿µ)

ÀÌ ¹®¼­´Â ½Ã½ºÅÛ°ü¸®ÀÚ°¡ Linux-PAM ¶óÀ̺귯¸®¿¡ ´ëÇØ¼­ ¾Ë¾Æ¾ß ÇÒ °ÍµéÀ» ´Ù·ç°í ÀÖ´Ù. ¿©±â¼­´Â PAM ¼³Á¤ÆÄÀÏÀÇ ¿Ã¹Ù¸¥ Çü½Ä°ú º¸¾È»óÀ¸·Î ¾ÈÀüÇÑ ½Ã½ºÅÛÀ» À¯ÁöÇϱâ À§ÇÑ Àü·«À» À̾߱âÇϰí ÀÖ´Ù.

DRAFT v0.75 2001/03/18

차례
1. ¼Ò°³(Introduction)
2. ÀÌ ¹®¼­¿¡ ´ëÇÑ ¾à°£ÀÇ ÁÖÇØ(Some comments on the text)
3. °³¿ä
3.1. ½ÃÀÛÇϱâ
4. Linux-PAM ¼³Á¤ ÆÄÀÏ
4.1. ¼³Á¤ ÆÄÀÏ ¹®¹ý(Configuration file syntax)
4.2. µð·ºÅ丮¿¡ ¼³Á¤ÆÄÀÏÀ» ±â·ÏÇÒ ¶§(Directory based configuration)
4.3. ÀϹÝÀûÀÎ ¿É¼Ç ÀÎÀÚµé(generic optional arguments)
4.4. ¼³Á¤ÆÄÀÏ ³»¿ëÀÇ ¿¹(Example configuration file entries)
4.4.1. µðÆúÆ® Á¤Ã¥(Default policy)
5. Linux-PAMÀÇ º¸¾È À̽´(Security issues of Linux-PAM)
5.1. ¹º°¡°¡ À߸ø µÇ°í ÀÖ´Ù¸é(If something goes wrong)
5.2. ¾àÇÑ 'other'¼³Á¤ÇÏÁö ¾Ê±â(Avoid having a weak 'other' configuration)
6. »ç¿ë°¡´ÉÇÑ ¸ðµâµé¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ¼³¸í(A reference guide for available modules)
6.1. The access module
6.1.1. °³¿ä
6.1.2. ¸ðµâÀÇ Àü¹ÝÀûÀÎ ¼³¸í
6.1.3. °èÁ¤°ü¸® ±¸¼º¿ä¼Ò
6.2. Chroot
6.2.1. °³¿ä
6.2.2. ¸ðµâÀÇ Àü¹ÝÀûÀÎ ¼³¸í
6.2.3. °èÁ¤°ü¸® ±¸¼º¿ä¼Ò:
6.2.4. ÀÎÁõ°ü¸® ±¸¼º¿ä¼Ò:
6.2.5. ¼¼¼Ç°ü¸® ±¸¼º¿ä¼Ò:
6.3. Cracklib pluggable password strength-checker
6.3.1. °³¿ä
6.3.2. ¸ðµâÀÇ Àü¹ÝÀûÀÎ ¼³¸í
6.3.3. ÆÐ½º¿öµå°ü¸® ±¸¼º¿ä¼Ò
6.4. Àá±Ý ¸ðµâ(The locking-out module)
6.4.1. °³¿ä
6.4.2. ¸ðµâÀÇ Àü¹ÝÀûÀÎ ¼³¸í
6.4.3. °èÁ¤°ü¸® ±¸¼º¿ä¼Ò
6.4.4. ÀÎÁõ°ü¸® ±¸¼º¿ä¼Ò
6.4.5. ÆÐ½º¿öµå°ü¸® ±¸¼º¿ä¼Ò
6.4.6. ¼¼¼Ç°ü¸® ±¸¼º¿ä¼Ò
6.5. ȯ°æ º¯¼ö ¼³Á¤/ÇØÁ¦(Set/unset environment variables)
6.5.1. °³¿ä
6.5.2. ¸ðµâÀÇ Àü¹ÝÀûÀÎ ¼³¸í
6.5.3. ÀÎÁõ°ü¸® ±¸¼º¿ä¼Ò
6.6. The filter module
6.6.1. °³¿ä
6.6.2. ¸ðµâÀÇ Àü¹ÝÀûÀÎ ¼³¸í
6.6.3. °èÁ¤°ü¸® + ÀÎÁõ°ü¸® + ÆÐ½º¿öµå°ü¸® + ¼¼¼Ç°ü¸® ±¸¼º¿ä¼Ò
6.7. Anonymous access module
6.7.1. °³¿ä
6.7.2. ¸ðµâÀÇ Àü¹ÝÀûÀÎ ¼³¸í
6.7.3. ÀÎÁõ°ü¸® ±¸¼º¿ä¼Ò
6.8. The group access module
6.8.1. °³¿ä
6.8.2. ¸ðµâÀÇ Àü¹ÝÀûÀÎ ¼³¸í
6.8.3. ÀÎÁõ°ü¸® ±¸¼º¿ä¼Ò
6.9. Add issue file to user prompt
6.9.1. °³¿ä
6.9.2. ¸ðµâÀÇ Àü¹ÝÀûÀÎ ¼³¸í
6.9.3. ÀÎÁõ°ü¸® ±¸¼º¿ä¼Ò
6.10. The Kerberos 4 module
6.10.1. °³¿ä
6.10.2. ¸ðµâÀÇ Àü¹ÝÀûÀÎ ¼³¸í
6.10.3. ¼¼¼Ç°ü¸® ±¸¼º¿ä¼Ò
6.10.4. ÆÐ½º¿öµå°ü¸® ±¸¼º¿ä¼Ò
6.10.5. ÀÎÁõ°ü¸® ±¸¼º¿ä¼Ò
6.11. The last login module
6.11.1. °³¿ä
6.11.2. ¸ðµâÀÇ Àü¹ÝÀûÀÎ ¼³¸í
6.11.3. ¼¼¼Ç°ü¸® ±¸¼º¿ä¼Ò
6.12. The resource limits module
6.12.1. °³¿ä
6.12.2. ¸ðµâÀÇ Àü¹ÝÀûÀÎ ¼³¸í
6.12.3. ¼¼¼Ç°ü¸® ±¸¼º¿ä¼Ò
6.13. The list-file module
6.13.1. °³¿ä
6.13.2. ¸ðµâÀÇ Àü¹ÝÀûÀÎ ¼³¸í
6.13.3. ÀÎÁõ°ü¸® ±¸¼º¿ä¼Ò
6.14. The Mail module
6.14.1. °³¿ä
6.14.2. ¸ðµâÀÇ Àü¹ÝÀûÀÎ ¼³¸í
6.14.3. ¼¼¼Ç°ü¸® ±¸¼º¿ä¼Ò
6.14.4. ÀÎÁõ°ü¸® ±¸¼º¿ä¼Ò
6.15. ù ·Î±×Àνà Ȩ µð·ºÅ丮 ¸¸µé±â(Create home directories on initial login)
6.15.1. °³¿ä
6.15.2. ¸ðµâÀÇ Àü¹ÝÀûÀÎ ¼³¸í
6.15.3. ¼¼¼Ç°ü¸® ±¸¼º¿ä¼Ò
6.16. ¿À´ÃÀÇ ¸Þ½ÃÁö Ãâ·Â(Output the motd file)
6.16.1. °³¿ä
6.16.2. ¸ðµâÀÇ Àü¹ÝÀûÀÎ ¼³¸í
6.16.3. ¼¼¼Ç°ü¸® ±¸¼º¿ä¼Ò
6.17. The no-login module
6.17.1. °³¿ä
6.17.2. ¸ðµâÀÇ Àü¹ÝÀûÀÎ ¼³¸í
6.17.3. ÀÎÁõ°ü¸® ±¸¼º¿ä¼Ò
6.18. ¹«Á¶°Ç ½Å·Ú ¸ðµâ(The promiscuous module)
6.18.1. °³¿ä
6.18.2. °³¿ä
6.18.3. °èÁ¤°ü¸® + ÀÎÁõ°ü¸® + ÆÐ½º¿öµå°ü¸® + ¼¼¼Ç°ü¸® ±¸¼º¿ä¼Ò
6.19. The Password-Database module
6.19.1. °³¿ä
6.19.2. ¸ðµâÀÇ Àü¹ÝÀûÀÎ ¼³¸í
6.19.3. °èÁ¤°ü¸® ±¸¼º¿ä¼Ò
6.19.4. ÀÎÁõ°ü¸® ±¸¼º¿ä¼Ò
6.19.5. ÆÐ½º¿öµå°ü¸® ±¸¼º¿ä¼Ò
6.19.6. ¼¼¼Ç°ü¸® ±¸¼º¿ä¼Ò
6.20. The RADIUS session module
6.20.1. °³¿ä
6.20.2. ¸ðµâÀÇ Àü¹ÝÀûÀÎ ¼³¸í
6.20.3. ¼¼¼Ç°ü¸® ±¸¼º¿ä¼Ò
6.21. The rhosts module
6.21.1. °³¿ä
6.21.2. ¸ðµâÀÇ Àü¹ÝÀûÀÎ ¼³¸í
6.21.3. ÀÎÁõ°ü¸® ±¸¼º¿ä¼Ò
6.22. The root access module
6.22.1. °³¿ä
6.22.2. ¸ðµâÀÇ Àü¹ÝÀûÀÎ ¼³¸í
6.22.3. ÀÎÁõ°ü¸® ºÎºÐ
6.23. The securetty module
6.23.1. °³¿ä
6.23.2. ¸ðµâÀÇ Àü¹ÝÀûÀÎ ¼³¸í
6.23.3. ÀÎÁõ°ü¸® ±¸¼º¿ä¼Ò
6.24. The login counter(tallying) module
6.24.1. °³¿ä
6.24.2. ¸ðµâÀÇ Àü¹ÝÀûÀÎ ¼³¸í
6.24.3. µÎ ±¸¼º¿ä¼Ò¿¡¼­ ¸ðµÎ »ç¿ëµÇ´Â ÀϹÝÀûÀÎ ¿É¼Ç
6.24.4. ÀÎÁõ°ü¸® ±¸¼º¿ä¼Ò
6.24.5. °èÁ¤°ü¸® ±¸¼º¿ä¼Ò
6.25. Time control
6.25.1. °³¿ä
6.25.2. ¸ðµâÀÇ Àü¹ÝÀûÀÎ ¼³¸í
6.25.3. °èÁ¤°ü¸® ±¸¼º¿ä¼Ò
6.26. The Unix Password module
6.26.1. °³¿ä
6.26.2. ¸ðµâÀÇ Àü¹ÝÀûÀÎ ¼³¸í
6.26.3. °èÁ¤°ü¸® ±¸¼º¿ä¼Ò
6.26.4. ÀÎÁõ°ü¸® ±¸¼º¿ä¼Ò
6.26.5. ÆÐ½º¿öµå°ü¸® ±¸¼º¿ä¼Ò
6.26.6. ¼¼¼Ç°ü¸® ±¸¼º¿ä¼Ò
6.27. The userdb module
6.27.1. °³¿ä
6.27.2. ¸ðµâÀÇ Àü¹ÝÀûÀÎ ¼³¸í
6.27.3. ÀÎÁõ°ü¸® ±¸¼º¿ä¼Ò
6.28. Warning logger module
6.28.1. °³¿ä
6.28.2. ¸ðµâÀÇ Àü¹ÝÀûÀÎ ¼³¸í
6.28.3. ÀÎÁõ°ü¸®+ÆÐ½º¿öµå°ü¸® ±¸¼º¿ä¼Ò
6.29. ÈÙ ±×·ì ¸ðµâ(The wheel module)
6.29.1. °³¿ä
6.29.2. ¸ðµâÀÇ Àü¹ÝÀûÀÎ ¼³¸í
6.29.3. ÀÎÁõ°ü¸® ±¸¼º¿ä¼Ò
7. ÆÄÀϵé(Files)
8. °ü·Ã Âü°í(See Also)
9. ÁÖÀÇ, Âü°í»çÇ×(Notes)
10. ÀúÀÚ/°¨»çÀλç(Author/acknowledgments)
11. ¹ö±×/Å»ÀÚ(Bugs/omissions)
12. ÀÌ ¹®¼­¿¡ ´ëÇÑ ÀúÀÛ±Ç(Copyright information for this document)

1. ¼Ò°³(Introduction)

Linux-PAM(Linux¿ë ÂøÅ»Çü ÀÎÁõ ¸ðµâ)Àº ½Ã½ºÅÛ °ü¸®ÀÚ°¡ ÀÀ¿ëÇÁ·Î±×·¥µéÀÌ »ç¿ëÀÚ¸¦ ÀÎÁõÇÏ´Â ¹æ¹ýÀ» ¼±ÅÃÇÒ¼ö ÀÖµµ·Ï ÇØÁÖ´Â °øÀ¯ ¶óÀ̺귯¸® ¹­À½ÀÌ´Ù.

Áï, PAMÀ» »ç¿ëÇÏ´Â ÀÀ¿ëÇÁ·Î±×·¥À» ÀçÄÄÆÄÀÏ(ÀçÀÛ¼º)ÇÏÁö ¾Ê°í, ÀÎÁõ ¹æ¹ýÀ» º¯°æÇÒ ¼ö ÀÖ´Ù´Â °ÍÀÌ´Ù. Á¤¸»·Î, ´©±º°¡ ÀÀ¿ëÇÁ·Î±×·¥ ÀÚü¸¦ ¼Õ´ëÁö ¾Ê°í ÀÎÁõ½Ã½ºÅÛÀ» ¸ù¶¥ ¾÷±×·¹À̵åÇÒ ¼ö ÀÖÀ»Áöµµ ¸ð¸¥´Ù.

ÀüÅëÀûÀ¸·Î »ç¿ëÀÚ ÀÎÁõÀ» ÇÊ¿ä·Î ÇÏ´Â ÀÀ¿ëÇÁ·Î±×·¥Àº ƯÁ¤ ÀÎÁõ ¹æ¹ýÀ» »ç¿ëÇϱâ À§Çؼ­´Â ÄÄÆÄÀÏÀ» ÇØ¾ß¸¸ Çß¾ú´Ù. ¿¹¸¦ µé¾î, ÀüÅëÀûÀÎ UN*X ½Ã½ºÅÛÀÇ °æ¿ì¿¡, »ç¿ëÀÚ¿¡ ´ëÇÑ ½Å¿øÈ®ÀÎÀ» ¿Ã¹Ù¸¥ ÆÐ½º¿öµå¸¦ ÀÔ·ÂÇÏ°Ô ÇÏ¿© È®ÀÎÇÏ¿´´Ù. ÀÌ ÆÐ½º¿öµåÀÇ ¾Õ¿¡ "salt"¶ó´Â µÎ ±ÛÀÚ¸¦ ºÙ¿© ¾Ïȣȭ(crypt(3))µÈ´Ù. »ç¿ëÀÚ´Â ÀÌ ¾ÏȣȭµÈ ÆÐ½º¿öµå°¡ ½Ã½ºÅÛ ÆÐ½º¿öµå µ¥ÀÌÅͺ£À̽º (/etc/passwd)ÀÇ ÇØ´ç »ç¿ëÀÚÀÇ µ¥ÀÌÅÍÀÇ µÎ¹øÂ° Çʵå¿Í ÀÏÄ¡ÇÒ °æ¿ì ÀÎÁõÀ» ¹Þ°Ô µÈ´Ù. ÀÌ·¯ÇÑ ½Ã½ºÅ۵鿡¼­, ¸¸¾à ÀüºÎ°¡ ¾Æ´Ï¶ó¸é ´ëºÎºÐÀÇ ±ÇÇѵéÀº ÀÌ·¯ÇÑ ÇϳªÀÇ ÀÎÁõ ¹æ½Ä¸¸À¸·Î ºÎ¿©¹Þ°Ô µÈ´Ù. ±ÇÇÑÀº »ç¿ëÀÚÀÇ ID(uid)¿Í ¿©·¯ ±×·ìÀÇ ¸â¹ö½±ÀÇ ÇüÅ·Π¹Þ°Ô µÈ´Ù. ¼­ºñ½º¿Í ÀÀ¿ëÇÁ·Î±×·¥µéÀº »ç¿ëÀÚÀÇ UID¿Í ±×·ì ID¿¡ µû¶ó »ç¿ë¿©ºÎ°¡ °áÁ¤µÈ´Ù. ÀüÅëÀûÀ¸·Î ±×·ì ¸â¹ö½±Àº /etc/groupÆÄÀÏÀÇ ³»¿ë¿¡ µû¶ó ºÎ¿©¹Þ´Â´Ù.

¾ÈŸ±õ°Ôµµ ÄÄÇ»ÅÍÀÇ ¼Óµµ°¡ Çâ»óµÇ°í ³×Æ®¿öÅ©¿¡ ºÐ»êÇØ¼­ ¿¬»êÀ» ÇÏ´Â ±â¹ýÀÌ ³Î¸® »ç¿ëµÇ¸é¼­, °ú°Å¿¡ ÇѶ§ ¾ÈÀüÇÏ°Ô ¿©°ÜÁ³´ø ÀÌ¿Í °°Àº ÀÎÁõ ¹æ¹ýÀº ¾àÁ¡ÀÌ ³ëÃâµÇ¾ú´Ù. ÀÌ·¯ÇÑ Çö½Ç¿¡¼­ ÇѰ¡´Ú Èñ¸ÁÀ¸·Î »õ·Î¿î ÀÎÁõ ¹æ¹ýÀÌ ²ÙÁØÈ÷ °è¹ßµÇ°í ÀÖ´Ù.

Linux-PAM ÇÁ·ÎÁ§Æ®ÀÇ ¸ñÀûÀº ±ÇÇÑÀ» ºÎ¿©ÇÏ´Â ¼ÒÇÁÆ®¿þ¾îÀÇ °³¹ß°ú ¾ÈÀüÇϰí ÀûÀýÇÑ ÀÎÁõ¾ÈÀÇ °³¹ßÀ» ºÐ¸®ÇÏ·Á´Âµ¥¿¡ ÀÖ´Ù. ÀÌ´Â ÀÀ¿ëÇÁ·Î±×·¥ÀÌ »ç¿ëÀÚ ÀÎÁõÀ» ó¸®Çϱâ À§ÇØ »ç¿ëµÉ ÇÔ¼öÀÇ ¶óÀ̺귯¸®¸¦ Á¦°øÇÔÀ¸·Î½á °¡´ÉÇÏ´Ù. PAM¶óÀ̺귯¸®´Â /etc/pam.conf(¶Ç´Â /etc/pam.d/¿¡ ÀÖ´Â ¿©·¯ ÆÄÀϵé)¿¡¼­ °¢ ½Ã½ºÅÛ¿¡ ¸Â°Ô ¼³Á¤À» ÇÏ¿©, °¢ ½Ã½ºÅÛ¿¡¼­ »ç¿ë°¡´ÉÇÑ ÀÎÁõ ¸ðµâÀ» ÅëÇØ »ç¿ëÀÚÀÇ ÀÎÁõ ¿ä±¸¸¦ ó¸®ÇÑ´Ù. ¸ðµâ ÀÚü´Â ÀϹÝÀûÀ¸·Î /usr/lib/security¿¡ À§Ä¡ÇØ ÀÖ°í, µ¿ÀûÀ¸·Î ·Îµå°¡´ÉÇÑ ¿ÀºêÁ§Æ® ÆÄÀÏ (see dlopen(3))ÀÇ ÇüŸ¦ °®´Â´Ù.


2. ÀÌ ¹®¼­¿¡ ´ëÇÑ ¾à°£ÀÇ ÁÖÇØ(Some comments on the text)

ÀÌ ¹®¼­ ³ª¸ÓÁö¸¦ °è¼Ó Àбâ Àü¿¡, ÀÌ ±Û¿¡¼­ ƯÁ¤ ÆÄÀϵéÀÌ ÁöÁ¤µÈ ƯÁ¤ µð·ºÅ丮¿¡ À§Ä¡ÇØ ÀÖ´Ù°í °¡Á¤Çϰí ÀÖÀ½À» ÁÖÁöÇØÁֱ⠹ٶõ´Ù. ÀÌ ÆÄÀϵéÀÇ À§Ä¡¿¡ ´ëÇØ ¿ì¸®°¡ ¼±ÅÃÇÑ °ü·Ê´Â ÇØ´ç RFC(RFC-86.0, see bibliography)¿¡¼­ ÁöÁ¤µÈ ¹Ù¸¦ µû¶ú´Ù. ¸¸¾à ´ç½ÅÀÌ PAMÀ» Áö¿øÇÏ´Â Linux¹èÆ÷ÆÇ(¶Ç´Â ´Ù¸¥ OS)À» »ç¿ëÇÏÁö¸¸ ÀÌ ÆÄÀϵéÀ» ´Ù¸¥ °÷¿¡ ¼³Ä¡Çϵµ·Ï ¼±ÅÃÇß´Ù¸é(Red HatÀÌ ÀÌ·¯ÇÑ ¹èÆ÷ÆÇÁß Çϳª´Ù.) ÀÌ ¹®¼­¿¡¼­ ¿¹Á¦¸¦ ¹Ù·Î º¹»çÇÒ °æ¿ì ÁÖÀÇÇÏ±æ ¹Ù¶õ´Ù.

¾ÕÀÇ ¿¹¸¦ µé¸é¼­ ºÐ¸íÈ÷ ¹àÇô³õ¾ÒµíÀÌ ÀÌ ±Û¿¡¼­´Â PAM µ¿Àû ¿ÀºêÁ§Æ® ÆÄÀÏ (¸ðµâ)µéÀÌ /usr/lib/security µð·ºÅ丮¿¡ ÀÖ´Ù°í °¡Á¤ÇÑ´Ù. ÇÏÁö¸¸ Red Hat Linux´Â LinuxÆÄÀÏ ½Ã½ºÅÛ Ç¥ÁØ(FSSTND)°úÀÇ ÇÕÀÇÇÏ¿¡ ÀÌ ÆÄÀϵéÀ» /lib/security¿¡ µÎ¾ú´Ù. ÀÌ ¹®¼­ÀÇ ¿¹Á¦¸¦ »ç¿ëÇÒ ¶§, ÁÖÀÇÇØ¼­ ÀûÀýÈ÷ º¯¿ëÇϱ⠹ٶõ´Ù.


3. °³¿ä

ÃʽÉÀÚ¸¦ À§ÇØ, ¿¹Á¦¸¦ ¸ÕÀú »ìÆìº¸°Ú´Ù. »ç¿ëÀÚ¿¡°Ô ¾î¶² ¼­ºñ½º¸¦ Á¦°øÇØÁÖ´Â ÀÀ¿ëÇÁ·Î±×·¥À» »ý°¢Çغ¸ÀÚ; 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 ÇÔ¼ö¸¦ ÅëÇØ ±³È¯µÈ´Ù.


3.1. ½ÃÀÛÇϱâ

[¾Æ·¡ ±ÛÀº 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 ÆÄÀϳ»ÀÇ ¸ðµâ ¼³Á¤À» ÅëÇØ ¾î¶»°Ô ¸ðµâÀ» ½×À» °ÍÀÎÁö¸¦
°áÁ¤ÇÏ´Â ´õ Èï¹ÌÀÖ´Â ÀÏÀ» ÇÒ ¼ö ÀְԵȴÙ.

4. Linux-PAM ¼³Á¤ ÆÄÀÏ

Linux-PAMÀº ½Ã½ºÅÛ °ü¸®ÀÚ¿¡°Ô ½Ã½ºÅÛ¿¡ ÀÖ´Â ±ÇÇÑÀ» ºÎ¿©ÇÏ´Â ÀÀ¿ëÇÁ·Î±×·¥µéÀ» ¼³Á¤Çϴµ¥ À־ ¸¹Àº À¯¿¬¼ºÀ» Á¦°øÇØÁÖ±â À§ÇØ µðÀÚÀεǾú´Ù. Linux-PAM¿¡ÀÇÇØ Á¶Á¤µÇ´Â ½Ã½ºÅÛ º¸¾È¿¡ °ü·ÃµÈ ¼³Á¤µéÀº /etc/pam.confÆÄÀÏÀ̳ª /etc/pam.d/ µð·ºÅ丮³»ÀÇ ÆÄÀϵé Áß Çϳª¿¡ µé¾îÀÖ´Ù. ÀÌ Àå¿¡¼­´Â ÀÌ ÆÄÀϵéÀÌ ÂüÁ¶ÇÏ´Â ³»¿ë¿¡ °üÇÑ ¿Ã¹Ù¸¥ ¹®¹ý°ú ¿É¼Ç¿¡ ´ëÇØ ¼³¸íÇÒ °ÍÀÌ´Ù.


4.1. ¼³Á¤ ÆÄÀÏ ¹®¹ý(Configuration file syntax)

ÀÌ ÆÄÀÏ¿¡¼­ Linux-PAM°íÀ¯ÀÇ ´Ü¾î(ÅäÅ«)µéÀº ´ë¼Ò¹®ÀÚ ±¸ºÐÀÌ ¾ø´Ù´Â°ÍÀ» À¯³äÇϱ⠹ٶõ´Ù. ±×·¯³ª, ¸ðµâ °æ·Î(path)´Â ÆÄÀÏ À̸§À» °¡¸£Å°´Â °ÍÀ̰í ÀüÇüÀûÀÎ Linux ÆÄÀÏ ½Ã½ºÅÛÀÇ ´ë¼Ò¹®ÀÚ ±¸ºÐ¿¡ µû¶ó ¸ðµâ °æ·Î ¿ª½Ã ´ë¼Ò¹®ÀÚ¸¦ ±¸ºÐÇÑ´Ù. ¸ðµâ¿¡°Ô ÁÖ¾îÁö´Â ÀÎÀÚ(argument)µéÀÇ ´ë¼Ò¹®ÀÚ ±¸ºÐÀº ¸ðµâÀÌ Á¤Çѹٿ¡ µû¸¥´Ù.

¾Æ·¡ ¼³¸íµÈ °Íµé¿Ü¿¡, ½Ã½ºÅÛ °ü¸®ÀÚÀÇ ÆíÀǸ¦ À§ÇØ µÎ°³ÀÇ Æ¯º°ÇÑ ¹®ÀÚ°¡ Á¦°øµÈ´Ù: '#'À¸·Î ½ÃÀ۵Ǵ ¹®ÀåÀº ÁÖ¼®À̰í ÁÙÀÇ ³¡±îÁö À¯È¿ÇÏ´Ù. ¸ðµâÀÇ ¼³Á¤Çà¿¡¼­ ÁÙ ³¡¿¡ '\'¸¦ »ç¿ëÇÏ¸é ´ÙÀ½ÁÙµµ ¾Õ°ú °°Àº ÇϳªÀÇ ¹®ÀåÀ¸·Î 󸮵ȴÙ.

/etc/pam.confÆÄÀÏÀÇ ÀϹÝÀûÀÎ ¼³Á¤ ¹®ÀåÀº ¾Æ·¡ÀÇ ÇüÅÂÀÌ´Ù:

service-name   module-type   control-flag   module-path   arguments

¾Æ·¡¿¡ ÀÌ °¢°¢ÀÇ ´Ü¾îµéÀÇ Àǹ̸¦ ¼³¸íÇÑ´Ù. Linux-PAMÀ» ¼³Á¤ÇÏ´Â µÎ¹øÂ° ¹æ¹ý(ÃÖ±Ù¿¡ Àû¿ëµÈ °ÍÀÌ´Ù.)Àº /etc/pam.d/µð·ºÅ丮³»ÀÇ ÆÄÀϵéÀ» »ç¿ëÇÏ´Â °ÍÀÌ´Ù. À§ÀÇ ´Ü¾îµéÀÇ Àǹ̸¦ ¼³¸íÇÑ ´ÙÀ½¿¡ ÀÌ ¹æ¹ý¿¡ ´ëÇØ ¼³¸íÇϰڴÙ.

service-name

ÀÌ ¼³Á¤¹®Àå°ú °ü·ÃÇÑ ¼­ºñ½ºÀÇ À̸§ÀÌ´Ù. ÁÖ·Î ÇØ´ç ÀÀ¿ëÇÁ·Î±×·¥ÀÇ ÀϹÝÀûÀÎ À̸§À» »ç¿ëÇÑ´Ù. ¿¹¸¦ µé¸é, 'ftpd', 'rlogind', 'su' µîÀÌ´Ù.

µðÆúÆ® ÀÎÁõ ¹æ¹ýÀ» Á¤ÀÇÇϱâ À§ÇØ Á¤ÀÇµÈ Æ¯º°ÇÑ ¼­ºñ½º À̸§ÀÌ ÀÖ´Ù. 'OTHER'¶ó´Â °ÍÀÌ À̰ÍÀε¥, ´ë¼Ò¹®ÀÚ ±¸º°¾øÀÌ ¾µ ¼ö ÀÖ´Ù. ¸¸¾à ¾î¶² ¼­ºñ½ºÀÇ ÀÎÁõ ¸ðµâ ¼³Á¤ÀÌ ÀÌ¹Ì µÇ¾î ÀÖÀ¸¸é 'OTHER'Ç׸ñÀº ¹«½ÃµÈ´Ù.

module-type

³×°¡ÁöÀÇ(ÇöÀç) ¸ðµâ ŸÀÔÁß ÇϳªÀÌ´Ù. ³×°¡Áö´Â ´ÙÀ½°ú °°´Ù:

  • auth: ÀÌ ¸ðµâŸÀÔÀº »ç¿ëÀÚ ÀÎÁõÀÇ µÎ°¡Áö ¸éÀ» Á¦°øÇÑ´Ù. ù°´Â, ÀÀ¿ëÇÁ·Î±×·¥ÀÌ »ç¿ëÀÚ¿¡°Ô ÆÐ½º¿öµå¸¦ ¹°¾îº¸°Å³ª ´Ù¸¥ È®ÀÎ ¹æ¹ýÀ» »ç¿ëÇϵµ·Ï ÇØ¼­ ±× »ç¿ëÀÚ°¡ ÀÚ½ÅÀÌ ÁÖÀåÇÏ´Â »ç¶÷ÀÌ ¸Â´ÂÁö È®ÀÎÇÏ´Â °ÍÀÌ´Ù. µÎ¹øÂ°´Â, ±×·ì ¸â¹ö½±À» Áְųª (¾Õ¼­ À̾߱âÇÑ /etc/groupsÆÄÀÏ¿¡ ÀÖ´Â ³»¿ëÀ» ÅëÇØ¼­) credential(½ÅÀÓ)¼Ó¼ºÀ» ÅëÇØ ´Ù¸¥ ±ÇÇÑÀ» ÁÖ´Â °ÍÀÌ´Ù.

  • account: ÀÌ ¸ðµâÀº ÀÎÁõÀÌ ¾Æ´Ñ °èÁ¤°ü¸®¸¦ ¼öÇàÇÑ´Ù. À̰ÍÀº º¸Åë ½Ã°£/³¯Â¥³ª ÇöÀçÀÇ ½Ã½ºÅÛ ÀÚ¿ø »óȲ(ÃÖ´ë »ç¿ëÀÚ¼ö)À̳ª »ç¿ëÀÚÀÇ À§Ä¡('root'´Â Äֿܼ¡¼­¸¸ ·Î±×ÀÎÀÌ °¡´ÉÇÏ´Ù)µî¿¡ µû¶ó ¼­ºñ½º¿¡ ´ëÇÑ Á¢±ÙÀ» Çã°¡Çϰųª Á¦ÇÑÇÏ´Â °ÍÀÌ´Ù.

  • session: ÁÖ·Î, ÀÌ ¸ðµâÀº ¼­ºñ½º¸¦ »ç¿ëÇϱâ Á÷Àü/Á÷ÈÄ¿¡ ÇÊ¿äÇÑ ÀÛ¾÷°ú °ü·ÃÀÌ ÀÖ´Ù. ÀÌ·¯ÇÑ °ÍµéÀº »ç¿ëÀÚ¿Í ±³È¯ÇÒ ¾î¶² µ¥ÀÌÅ͵éÀÇ opening/closing°ú °ü·ÃÇÑ Á¤º¸µéÀÇ ±â·Ï, µð·ºÅ丮ÀÇ ¸¶¿îÆ® µîÀÌ ÇØ´çµÈ´Ù.

  • password: ÀÌ ¸¶Áö¸· ¸ðµâŸÀÔÀº »ç¿ëÀÚ¿Í ¿¬°üµÈ ÀÎÁõÅäÅ« (ÆÐ½º¿öµå)µéÀ» °»½ÅÇÒ ¶§ ÇÊ¿äÇÏ´Ù. º¸Åë, challenge/response ¹æ½Ä¿¡ ±â¹ÝÇÑ ÀÎÁõ¸ðµâ Á¾·ùº°·Î °¢°¢ ÇϳªÀÇ password¸ðµâ¾¿ÀÌ Á¸ÀçÇÑ´Ù.

control-flag

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

µ¿ÀûÀ¸·Î ·ÎµåµÉ ¿ÀºêÁ§Æ® ÆÄÀÏ(¸ðµâ ÀÚü)ÀÇ °æ·Î¸íÀÌ´Ù. module pathÀÇ Ã¹ ¹®ÀÚ°¡ '/'¶ó¸é, Àüü°æ·Î¸¦ ÀǹÌÇÑ´Ù. ±×·¸Áö ¾ÊÀº°æ¿ì¿¡´Â default module path(/usr/lib/security)¸¦ ºÙ¿©¼­ ÇØ¼®µÈ´Ù. (±×·¸Áö¸¸ 2Àå ³»¿ëÀ» Âü°íÇ϶ó).

args

args´Â ¸ðµâÀÌ ºÒ·ÁÁú¶§ ³Ñ°ÜÁÖ´Â ÅäÅ« ¸®½ºÆ®ÀÌ´Ù. ÀüÇüÀûÀÎ Linux shell¸í·É¿¡ ÁÖ´Â ÀÎÀÚµé°ú ºñ½ÁÇÏ´Ù. º¸Åë, À¯È¿ÇÑ ÀÎÀÚ´Â ¿É¼ÇÀÌ°í Æ¯Á¤ ¸ðµâ¿¡¸¸ ÇØ´çµÈ´Ù. ¹«È¿ÇÑ ÀÎÀÚµéÀº ¸ðµâ¿¡ ÀÇÇØ ¹«½ÃµÇÁö¸¸, ¹«È¿ÇÑ ÀÎÀÚµéÀ» º¸°ÔµÇ¸é ¸ðµâÀº syslog(3)¿¡ ¿¡·¯¸¦ º¸³»µµ·Ï ¿ä±¸¹Þ´Â´Ù. ÀϹÝÀû generic¿É¼ÇÀÇ ¸ñ·ÏÀº ´ÙÀ½Àý(4.3)¿¡¼­ º¼ ¼ö ÀÖ´Ù.

¼³Á¤ ÆÄÀÏÀÇ ¾î¶² ÁÙÀÌ¶óµµ Á¦´ë·Î ÀÛ¼ºµÇ¾îÀÖÁö ¾ÊÀ» °æ¿ì ÀϹÝÀûÀ¸·Î ÀÎÁõ ÀýÂ÷°¡ ½ÇÆÐÇÏ°Ô µÈ´Ù. ÇØ´ç ¿¡·¯´Â syslog(3)¸¦ ÅëÇØ ½Ã½ºÅÛ logÆÄÀÏ¿¡ ±â·ÏµÈ´Ù.


4.2. µð·ºÅ丮¿¡ ¼³Á¤ÆÄÀÏÀ» ±â·ÏÇÒ ¶§(Directory based configuration)

ÇϳªÀÇ ¼³Á¤ ÆÄÀϺ¸´Ù ´õ À¯¿¬¼ºÀ» °®±â À§ÇØ 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 ÆÄÀÏÀ» °°ÀÌ ¼³Ä¡Çϱ⸸ ÇÏ¸é µÈ´Ù.


4.3. ÀϹÝÀûÀÎ ¿É¼Ç ÀÎÀÚµé(generic optional arguments)

´ÙÀ½Àº ¾î¶°ÇÑ ¸ðµâÀ̵ç ÀνÄÇÒ ¼ö ÀÖ´Â °¡´É¼ºÀÌ Å« ¿É¼Ç ÀÎÀÚµéÀÌ´Ù. ÀÎÀÚµé(À̰͵鵵 Æ÷ÇÔÇØ¼­)Àº ´ë°Ô ¼±ÅÃÀû(optional)ÀÌ´Ù.

debug

syslog(3) È£ÃâÀ» »ç¿ëÇØ¼­ ½Ã½ºÅÛ ·Î±× ÆÄÀÏ¿¡ µð¹ö±× Á¤º¸¸¦ ³²±âµµ·Ï ÇÑ´Ù.

no_warn

¸ðµâÀÌ ÀÀ¿ëÇÁ·Î±×·¥¿¡°Ô °æ°í(warning) ¸Þ½ÃÁö¸¦ º¸³»Áö ¾Êµµ·Ï ÇÑ´Ù.

use_first_pass

¸ðµâÀÌ »ç¿ëÀÚ¿¡°Ô ÆÐ½º¿öµå¸¦ ¿ä±¸ÇÏÁö ¾Êµµ·Ï ÇÑ´Ù. ´ë½Å¿¡, ÀÌÀü¿¡ ÀԷ¹޾Ҵø ÆÐ½º¿öµå(¸ÕÀú ¼öÇàµÈ auth¸ðµâ ·ÎºÎÅÍ)¸¦ ¹Þ¾Æ¼­ »ç¿ëÇØ¾ß ÇÑ´Ù. ÆÐ½º¿öµå°¡ ¾ø´Ù¸é, »ç¿ëÀÚ´Â ÀÎÁõÀ» ¹ÞÁö ¸øÇÏ°Ô µÉ °ÍÀÌ´Ù.(ÀÌ ¿É¼ÇÀº auth¿Í password ¸ðµâµé¸¸ Àû¿ëµÈ´Ù.)

try_first_pass

¸ðµâÀº ÀÌÀü¿¡ ÀԷ¹ÞÀº ÆÐ½º¿öµå(¸ÕÀú ¼öÇàµÈ auth ¸ðµâ·ÎºÎÅÍ)·Î ÀÎÁõÀ» ½ÃµµÇÑ´Ù. ¸¸ÀÏ ÆÐ½º¿öµå°¡ ¾ø´Ù¸é, »ç¿ëÀÚ¿¡°Ô ÆÐ½º¿öµå¸¦ ¹°¾îº»´Ù.(ÀÌ ¿É¼ÇÀº auth¸ðµâ¸¸ Àû¿ëµÈ´Ù.)

use_mapped_pass

ÀÌ ÀÎÀÚ´Â ÇöÀç ¹èÆ÷µÇ°í ÀÖ´Â Linux-PAM¿¡ ÀÖ´Â ¾î¶² ¸ðµâµµ Áö¿øÇÏÁö ¾Ê´Â´Ù. ÀÌ´Â ¹Ì±¹ ¾Ïȣȭ ¼öÃâ Á¦ÇѰú °ü·ÃÇÏ¿© »ý±æ ¼ö ÀÖ´Â ¹®Á¦ ¶§¹®ÀÌ´Ù. ¹Ì±¹³»¿¡¼­´Â °³¹ßÀÚµéÀÌ ¹°·Ð ÀÚÀ¯·Ó°Ô ÀÌ ±â´ÉÀ» ±¸ÇöÇÒ ¼ö ÀÖ´Ù. (´Ù¸¥ ³ª¶ó¿¡¼­µµ ¸¶Âù°¡ÁöÀÌ´Ù.). ȣȯ¼ºÀÇ ÀÌÀ¯·Î DCE-RFC 86.0 (bibliography ÀåÀ» º¸¶ó) ¿¡¼­ Á¦¾ÈµÈµ¥·Î À̰ÍÀÇ »ç¿ëÀ» ±â¼úÇÑ´Ù.

use_mapped_passÀÎÀÚ´Â ¾ÏȣȭµÇÁö ¾ÊÀº ÀÎÁõÅäÅ«À» ¿ä±¸ÇÏ´Â ¾ÕÀÇ ¸ðµâ·ÎºÎÅÍ ÀÎÁõ ÅäÅ«À» ¹ÞÀºÈÄ ´Ù½Ã À̰ÍÀ» »ç¿ëÇØ ¾ÏÈ£/º¹È£ ۸¦ »ý¼ºÇÏ¿© ÀÌ ¸ðµâ¿¡°Ô ÇÊ¿äÇÑ ÀÎÁõÅäÅ«À» ¾ÈÀüÇÏ°Ô ÀúÀåÇϰí ÀÐÀ» ¼ö ÀÖ°Ô ÇÑ´Ù. ÀÌ·± ¹æ¹ýÀ¸·Î, »ç¿ëÀÚ´Â ÇѹøÀÇ ÀÎÁõ ÅäÅ« ÀԷ¸¸À¸·Î ¿©·¯°³ÀÇ ¸ðµâ¿¡ ÀÇÇÑ ÀÎÁõ °úÁ¤À» Á¶¿ëÈ÷ Åë°úÇÒ ¼ö ÀÖ´Ù. ¾ÈÀüÇÏ°Ô Çϱâ À§ÇØ ¹ÏÀ»¸¸ÇÑ Æ°Æ°ÇÑ ¾Ïȣȭ¸¦ ¿ä±¸ÇÏÁö¸¸ ÆíÇÑ ±â´ÉÀÓÀº ºÐ¸íÇÏ´Ù. ÀÌ ÀÎÀÚ´Â auth¿Í password¸ðµâ¿¡¸¸ Àû¿ëµÈ´Ù.

expose_account

º¸Åë »ç¿ëÀÚ °èÁ¤¿¡ °üÇÑ Á¤º¸¸¦ ´©¼³ÇÏ´Â °ÍÀº ¸ðµâÀÌ Ã¤ÅÃÇÒ¸¸ÇÑ ¾ÈÀüÇÑ º¸¾ÈÁ¤Ã¥À̶ó ÇÒ ¼ö ¾ø´Ù. ¶§¶§·Î, »ç¿ëÀÚ À̸§À̳ª Ȩ µð·ºÅ丮³ª »ç¿ëÇÒ ½©¿¡ ´ëÇÑ Á¤º¸µéÀº »ç¿ëÀÚ °èÁ¤À» °ø°ÝÇϴµ¥ »ç¿ëµÉ ¼ö ÀÖ´Ù. ±×·¯³ª ¾î¶² »óȲ¿¡¼± ÀÌ·± Á¾·ùÀÇ Á¤º¸°¡ À§Çè¿ä¼Ò°¡ µÉ °Í °°Áö´Â ¾Ê´Ù: º¸¾ÈÀÌ À¯ÁöµÈ ȯ°æ¿¡¼­ ÆÐ½º¿öµå¸¦ ¹°¾îº¼ ¶§, »ç¿ëÀÚÀÇ ½ÇÁ¦ À̸§À» Ç¥½ÃÇÏ´Â °ÍÀº Ä£±ÙÇÑ ´À³¦À» ÁØ´Ù°í º¼ ¼öµµ ÀÖÀ» °ÍÀÌ´Ù. expose_accountÀÎÀÚ´Â °ü¸®ÀÚ¿¡ ÀÇÇØ ÀûÀýÇÑ °Í °°Àº °èÁ¤ Á¤º¸¿¡ ´ëÇØ ´ú ¾ö°ÝÇÏ°Ô ±¸ºÐÇϵµ·Ï Çϴ ǥÁØ ÀÎÀÚÀÌ´Ù.


4.4. ¼³Á¤ÆÄÀÏ ³»¿ëÀÇ ¿¹(Example configuration file entries)

ÀÌ Àå¿¡¼­´Â Linux-PAM¼³Á¤ ÆÄÀÏ¿¡¼­ º¼ ¼ö ÀÖ´Â ³»¿ë¿¡ ´ëÇÑ ¿¹Á¦ ¸î°³¸¦ ¼³¸íÇÑ´Ù. ½Ã½ºÅÛÀ» óÀ½À¸·Î ¼³Á¤ÇÒ ¶§, À̰͵éÀ» ±¸ÇöÇÏ´Â °Íº¸´Ù ´õ ½É°¢ÇÑ ÁþÀ» ÇÒÁöµµ ¸ð¸¥´Ù.


4.4.1. µðÆúÆ® Á¤Ã¥(Default policy)

½Ã½ºÅÛÀÌ ¾ÈÀüÇØ¾ßÇÑ´Ù°í »ý°¢µÇ¸é, '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¸ðµâ¿¡ ÀÇÇØ ¾òÀº ÆÐ½º¿öµå¸¸À» »ç¿ëÇϵµ·Ï ¼³Á¤ÇÑ´Ù.


5. Linux-PAMÀÇ º¸¾È À̽´(Security issues of Linux-PAM)

ÀÌ Àå¿¡¼­´Â Linux-PAMÀ» º¸¾È°¨°¢À» °®°í »ç¿ëÇÏ´Â ÁÁÀº »ç·Ê¿¡ ´ëÇØ ³íÀÇÇÒ °ÍÀÌ´Ù. ³»¿ëÀÌ ºÎÁ·Çѵ¥... Á¦¾ÈÀº ȯ¿µÇÑ´Ù!


5.1. ¹º°¡°¡ À߸ø µÇ°í ÀÖ´Ù¸é(If something goes wrong)

Linux-PAMÀº ½Ã½ºÅÛÀÇ º¸¾ÈÀ» º¯°æ½ÃŰ´Â ½É°¢ÇÑ ÀáÀç·ÂÀ» °®°í ÀÖ´Ù. ´ç½ÅÀº ¾Æ¹«·± º¸¾Èµµ ÇÏÁö ¾Ê°Ô ÇÒ ¼öµµ ÀÖ°í, ¿Ïº®º¸¾È (¾Æ¹«µµ Á¢±ÙÇÒ ¼ö ¾ø°Ô)À» ÇÒ ¼öµµ ÀÖ´Ù. º¸ÅëÀº Linux-PAMÀÌ ÈÄÀÚÀÇ °æ¿ì ¿¡·¯¸¦ ³½´Ù. ¼³Á¤¿¡·¯´Â ½Ã½ºÅÛÀ» ºÎºÐÀûÀ¸·Î ¶Ç´Â ¿ÏÀüÈ÷ Á¢±ÙÀ» ¸·¾Æ¹ö¸± ¼ö ÀÖ´Ù.

°¡Àå Linux-PAMÀ» ¼³Á¤ÇÒ ¶§ ºÎ´ÚÄ¡°Ô µÇ´Â °¡Àå ±â°¡ ¸·Èù »óȲÀº ¼³Á¤ÆÄÀÏ(/etc/pam.d/* ³ª /etc/pam.conf)À» Áö¿ì´Â °ÍÀÌ´Ù. ÀÌ·¸°Ô µÇ¸é ´ç½ÅÀÇ ½Ã½ºÅÛÀº ´ç½ÅÀڽŵµ ¾µ ¼ö ¾ø°Ô ¿ÏÀüÈ÷ Àá°Ü¹ö¸°´Ù!

À̸¦ º¹±¸Çϱâ À§ÇÑ ÃÖ¼±ÀÇ ¹æ¹ýÀº ½Ã½ºÅÛÀ» ÀçºÎÆÃÇÑ ÈÄ ½Ì±Û À¯Àú ¸ðµå·Î µé¾î°¡¼­ ¹®Á¦¸¦ °íÄ¡´Â °ÍÀÌ´Ù. ´ÙÀ½Àº ÀÌ ¹®Á¦¿¡ ´ëÇØ David Wood°¡ ´äÇÑ email¿¡¼­ ±ÍÁßÇÑ ³»¿ëÀ» ÀοëÇÑ °ÍÀÌ´Ù.

> ³»°¡ µµ´ëü Áö±Ý ¹«¾ùÀ» ÇѰ̴ϱî?

¾Ë¾Ò½À´Ï´Ù. ÁøÁ¤Çϼ¼¿ä. ´ç½ÅÀÌ ¿ì¼± PAMÀ» »ç¿ëÇÏ´Â »ç¿ëÀÚÀÇ Àý¹Ý °¡·®¿¡°Ô 
ÀÌ ÀÏÀÌ »ý±ä´Ù´Â °ÍÀ» ¾Æ¼Å¾ß ÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. 
¿©±â¿¡¼­µµ Çѹøµµ¾Æ´Ï°í µÎ¹øµµ ¾Æ´Ï°í ¼¼¹øÀ̳ª ÀϾ½À´Ï´Ù. 
°á±¹, ¸Å¹ø ÇØ°áÃ¥Àº Ç×»ó °°¾Ò½À´Ï´Ù.
ù°·Î, ´ç½ÅÀÌ LILO¸¦ µô·¹À̸¦ °®µµ·Ï ¼³Á¤Ç߱⸦ ¹Ù¶ø´Ï´Ù. °¡´ÉÇÏ´Ù¸é, ¸®ºÎÆÃÀ»
Çϰí shift³ª tabÀ» Ä£ ÈÄ ¾Æ·¡¿Í °°ÀÌ Ä¡½Ê½Ã¿À:
	LILO boot: linux single
('linux'¸¦ '´ç½ÅÀÌ ¾²´Â linux À̹ÌÁö À̸§'À¸·Î ¹Ù²Ù¼¼¿ä).
À̰ÍÀº ´ç½ÅÀÌ ·Î±×ÀÎ ¾øÀÌ ½Ã½ºÅÛ¿¡ µé¾î°¡°Ô ÇØÁÙ °ÍÀÔ´Ï´Ù. Äֿܼ¡¼­
linux¸Ó½Å¿¡ ħÀÔÇÏ´Â °ÍÀÌ ¾ó¸¶³ª ½¬¿îÁö ±Ã±ÝÇØÇÏÁö ¾Ê¾Ò½À´Ï±î?
ÀÌÁ¦ ´ç½Åµµ ¾Ð´Ï´Ù.

À̰ÍÀ» ÇÒ ¼ö ¾ø´Ù¸é, bootkernel Ç÷ÎÇÇ¿Í slackwareÀÇ rescue.gz°°Àº
rootµð½ºÅ©¸¦ ±¸ÇϽʽÿÀ. (RedHatÀÇ ¼³Ä¡ µð½ºÅ©¸¦ ÀÌ ¸ðµå·Îµµ »ç¿ë°¡´ÉÇÕ´Ï´Ù.)

µÎ °æ¿ì ¸ðµÎ, root ÇÁ·ÒÇÁÆ®¸¦ ´Ù½Ã º¼ ¼ö ÀÖÀ»°Ì´Ï´Ù.

µÎ¹øÂ°·Î, ´ç½ÅÀÌ pam ¼³Ä¡¸¦ ¿ÏÀüÈ÷ ¸Á°¡¶ß¸®Áö ¾Ê¾Ò´Ù°í °¡Á¤ÇϰڽÀ´Ï´Ù. Áï,
¼³Á¤ÆÄÀϸ¸ ¾ø¾Ý°ÍÀ¸·Î ¾Ë°Ú½À´Ï´Ù. 
¿©±â¿¡ ¾î¶»°Ô ´ç½ÅÀÇ ¼³Á¤ÆÄÀÏÀ» ´Ù½Ã ¸ÚÀÖ°Ô ¸¸µå´ÂÁö º¸¿©µå¸®°Ú½À´Ï´Ù:
  cd /etc
  mv pam.conf pam.conf.orig
  mv pam.d pam.d.orig
  mkdir pam.d
  cd pam.d
±×¸®°í vi¸¦ »ç¿ëÇØ¼­ "other"¶ó´Â ÆÄÀÏÀ» ÀÌ µð·ºÅ丮¿¡ ¸¸µå½Ê½Ã¿À. ÀÌ ÆÄÀÏ¿¡
¾Æ·¡ÀÇ ³×ÁÙÀ» Æ÷ÇÔÇϵµ·Ï ÇϽʽÿÀ:
  auth		required	pam_unix_auth.so
  account	required	pam_unix_acct.so
  password	required	pam_unix_passwd.so
  session	required	pam_unix_session.so

ÀÌÁ¦ ´ç½ÅÀº ´ç½ÅÀÌ »ç¿ëÇÏ´ø´ë·Î µ¿ÀÛÇÏ´Â °¡Àå ´Ü¼øÇÑ PAM¼³Á¤ ÆÄÀÏÀ» °®°Ô
µÇ¾ú½À´Ï´Ù. ¸ðµç°Ô ¸¶¹ýó·³ ´Ù½Ã µ¿ÀÛÇÒ °ÍÀÔ´Ï´Ù. ALT-F2¸¦ ´©¸£°í, ´Ù¸¥ ¹öÃò¾ó
Äֿܼ¡¼­ ·Î±×ÀÎ ÇØº¸½Ê½Ã¿À. ¸¸ÀÏ Á¦´ë·Î µÇÁö ¾Ê´Â´Ù¸é, ´ç½ÅÀº ´õ Å« ¹®Á¦¸¦
°¡Áö°í Àְųª, ¼³Á¤ÆÄÀÏ¿¡ ¿ÀÀÚ°¡ ÀÖÀ» °Ì´Ï´Ù. ÀÌ ½Ã½ºÅÛÀÇ ÀÌ»óÇÑÀÏÀÌ
¼³Á¤ÆÄÀÏ¿¡ ¿ÀŸ°¡ ÀÖ´Â °ÍÀ̶ó¸é Äֿܼ¡¼­´Â ¿¡·¯ ¸Þ½ÃÁö¸¦ º¼¼ö ¾ø°í,
logÆÄÀÏ¿¡¼­ º¼ ¼ö ÀÖ½À´Ï´Ù. Çѹø º¸¼¼¿ä.
('tail /var/log/messages'¶ó°í ÇØº¸¼¼¿ä)

ÀÌÁ¦ºÎÅÍ ¿¹Àüó·³ µ¹¾Æ°¡¼­ ½ÇÁ¦ ¼³Á¤ÆÄÀÏÀ» °¡Á®¿É½Ã´Ù. ¸Á°¡¶ß·Áµµ »ó°ü¾ø´Â
½Ã½ºÅÛ¿¡¼­ ½ÃÇèÀ» °ÅÄ£ÈÄ¿¡ °¡Á®¿À´Â °ÍÀÌ ÁÁ°ÚÁö¿ä. :/

¾à°£ÀÇ Áö½Ã»çÇ×(RedHat¿¡¼­´Â ¸ðµÎ Àß µÉ°Ì´Ï´Ù.):
    ÃֽŠpam, pamconfig, pwdb¸¦ redhatÀÇ current µð·ºÅ丮¿¡¼­ ÀνºÅçÇϼ¼¿ä.
	rpm -Uvh [¾Æ¸¶ --forceµµ] pam-* pamconfig-* pwdb-*

    ±×¸®°í, ÃÖ½ÅÀÇ libc, util-linux, wuftp, NetKitÀ» ¼³Ä¡/À缳ġÇß´ÂÁö
È®ÀÎÇϼ¼¿ä. xlock°°Àº X ÀÀ¿ëÇÁ·Î±×·¥¿¡ ¿µÇâÀ» ÁÖ´Â »õ ¹öÁ¯ÀÇ ¼³Ä¡¸¦ ½ÃµµÇÏ´Ù°¡
´çÇÏ´Â ÅðÂ¥´Â ¾ÆÁ÷±îÁö´Â ¾ø¾ú½À´Ï´Ù.


5.2. ¾àÇÑ 'other'¼³Á¤ÇÏÁö ¾Ê±â(Avoid having a weak 'other' configuration)

¾àÇÏ°Ô µðÆúÆ®(OTHER)¼³Á¤À» µÎ´Â °ÍÀº ÁÁÁö ¾Ê´Ù. PAMÀ» Áö¿øÇÏ´Â ÀÀ¿ëÇÁ·Î±×·¥µé¿¡ ´ëÇØ ÀÌ µðÆúÆ® ¼³Á¤ÀÌ Àû¿ëµÇ°í ¸¸¾à ÀÌ ¼³Á¤ÀÌ ¾àÇÏ´Ù¸é, ½Ã½ºÅÛÀÌ °ø°Ý¹Þ±â ½±´Ù.

¿©±â¿¡ 'other'¼³Á¤ÆÄÀÏ¿¡ ´ëÇÑ ¿¹°¡ ÀÖ´Ù. pam_deny ¸ðµâÀº Ç×»ó Á¢±ÙÀ» ºÒÇãÇϰí pam_warn ¸ðµâÀº syslog ¸Þ½ÃÁö¸¦ auth.notice¿¡°Ô º¸³¾ °ÍÀÌ´Ù:

#
# The PAM configuration file for the `other' service 
# 
auth      required   pam_deny.so 
auth      required   pam_warn.so 
account   required   pam_deny.so 
account   required   pam_warn.so 
password  required   pam_deny.so 
password  required   pam_warn.so 
session   required   pam_deny.so 
session   required   pam_warn.so

6. »ç¿ë°¡´ÉÇÑ ¸ðµâµé¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ¼³¸í(A reference guide for available modules)

ÀÌÀå¿¡¼­´Â Linux-PAM¿¡¼­ »ç¿ë°¡´ÉÇÑ ¿©·¯ ¸ðµâµé¿¡ ´ëÇÑ ¼³¸íÀ» Çϰí ÀÖ´Ù. ´ëºÎºÐ ÀÌ ¸ðµâµéÀº ¹«·á·Î »ç¿ëÇÒ ¼ö ÀÖ´Ù. ±×·¸Áö ¾ÊÀº °æ¿ì´Â Ç¥½Ã¸¦ ÇØ³õÀ» °ÍÀÌ´Ù.

¿¹Á¦µéÀ» º¹»çÇÒ ¶§¿¡´Â 2Àå¿¡¼­ ¾ð±ÞÇÑ ³»¿ëÀ» ²À Àаí ÁÖÀÇÇϱ⠹ٶõ´Ù.


6.1. The access module

6.1.1. °³¿ä

¸ðµâ À̸§:

pam_access

ÀúÀÚ:

Alexei Nogin <alexei@nogin.dnttm.ru>

À¯Áöº¸¼ö:

ÀúÀÚ

Á¦°øµÇ´Â °ü¸® ±×·ì:

account

¾ÏÈ£ÇÐÀû ¹Î°¨¼º:

º¸¾È µî±Þ:

ÄÄÆÄÀϽà ¸Þ½ÃÁö:

½Ã½ºÅÛ ÀÇÁ¸¼º:

¼³Á¤ ÆÄÀÏÀ» ¿ä±¸ÇÑ´Ù. µðÆúÆ®´Â /etc/security/access.confÀÌÁö¸¸, ¹Ù²Ü ¼ö ÀÖÀ½.

³×Æ®¿öÅ© ÀνÄ:

PAM_TTY°¡ ÁöÁ¤µÇ¾î ÀÖ´Ù¸é, PAM_TTY¸¦ ÅëÇØ¼­ ¾ò°í, ±×·¸Áö ¾Ê´Ù¸é ttyname()À¸·Î stdinÆÄÀÏ ¼³¸íÀÚ(descriptor)ÀÇ tty À̸§À» ¾ò´Â ½Ãµµ¸¦ÇÑ´Ù. Ç¥ÁØ gethostname(), yp_get_default_domain(), gethostbyname()È£Ãâ. netgroupÁö¿øÀ» À§ÇÑ NIS°¡ »ç¿ë.


6.1.2. ¸ðµâÀÇ Àü¹ÝÀûÀÎ ¼³¸í

logdaemonÇüÅÂÀÇ login Á¢±Ù Á¦¾î¸¦ Á¦°øÇÑ´Ù.


6.1.3. °èÁ¤°ü¸® ±¸¼º¿ä¼Ò

ÀνÄÇÏ´Â ÀÎÀÚµé:

accessfile=/path/to/file.conf

¼³¸í:

ÀÌ ¸ðµâÀº login name, È£½ºÆ®(¶Ç´Â µµ¸ÞÀÎ) À̸§, ÀÎÅÍ³Ý ÁÖ¼Ò(¶Ç´Â ³×Æ®¿öÅ© ¹øÈ£), ¶Ç´Â ³×Æ®¿öÅ©°¡ ¾Æ´Ñ loginÀϰæ¿ì Å͹̳ΠÀ̸§À» ¹ÙÅÁÀ¸·Î logdaemonÇüÅÂÀÇ loginÁ¢±Ù Á¦¾î¸¦ Á¦°øÇÑ´Ù. Áø´ÜÀº syslog(3)¸¦ ÅëÇØ º¸°íµÈ´Ù. Wietse Venema°¡ Á¦ÀÛÇÑ logdaemon-5.6ÀÇ login_access.c¸¦ A. NoginÀÌ ¸î°¡Áö ¼öÁ¤ÇØ »ç¿ëÇÏ¿´´Ù.

ÀÌ ¸ðµâÀÇ µ¿ÀÛÀº ´ÙÀ½ÀÇ ÀÎÀÚ·Î Á¦¾îÇÒ ¼ö ÀÖ´Ù:

  • * accessfile=/path/to/file.conf - µðÆúÆ® ´ë½Å »ç¿ëÇÒ access¼³Á¤ ÆÄÀÏÀ» °¡¸£Å²´Ù. À̰ÍÀº ¼­·Î ´Ù¸¥ ¼­ºñ½ºµéÀÌ °¢ÀÚÀÇ accessÆÄÀÏÀ» »ç¿ëÇÒ ¶§ À¯¿ëÇÏ´Ù.

¿¹Á¦/ÃßõÇÏ´Â »ç¿ë¹ý:

¸î¸î °èÁ¤Àº µ¿ÀÛÇÏÁö¸¸ ÀüºÎ login ÇÏ°Ô ÇÒ Çʿ䰡 ¾ø´Â NIS¼­¹ö³ª ¸ÞÀÏ ¼­¹ö°°Àº °ü¸®¿ë ±â°è¿¡ ÀÌ ¸ðµâÀ» »ç¿ëÇÒ °ÍÀ» ±ÇÀåÇÑ´Ù.

/etc/pam.d ÇüÅÂÀÇ ¼³Á¤ÀÇ °æ¿ì¿¡, ¸ðµâÀÌ /lib/security¿¡ ÀÖ´Ù¸é, /etc/pam.d/login, /etc/pam.d/rlogin, /etc/pam.d/rsh ±×¸®°í /etc/pam.d/ftp¿¡ ´ÙÀ½ÀÇ ÁÙÀ» ¿ì¼± Ãß°¡ÇÑ´Ù:

  account	required	/lib/security/pam_access.so

½Ã½ºÅÛÀÌ .rhostsÆÄÀÏÀ» ¹«½ÃÇÏÁö ¾Ê´Â´Ù¸é ÀÌ ¸ðµâÀÇ »ç¿ëÀÌ È¿°ú°¡ ¾ø´Ù´Â °ÍÀ» ÁÖ¸ñÇ϶ó. pam_rhosts_auth¹®¼­¸¦ º¸¶ó.

¿¹Á¦ access.conf¼³Á¤ ÆÄÀÏÀº ¹èÆ÷ÆÇ¿¡ Æ÷ÇԵǾî ÀÖ´Ù.


6.2. Chroot

6.2.1. °³¿ä

¸ðµâ À̸§:

pam_chroot

ÀúÀÚ:

Bruce Campbell <brucec@humbug.org.au>

À¯Áöº¸¼ö:

ÀúÀÚ; proposed on 20/11/96 - email for status

Á¦°øµÇ´Â °ü¸® ±×·ì:

account; session; authentication

¾ÏÈ£ÇÐÀû ¹Î°¨¼º:

º¸¾È µî±Þ:

ÄÄÆÄÀϽà ¸Þ½ÃÁö:

±â·ÏµÇÁö ¾Ê¾ÒÀ½

½Ã½ºÅÛ ÀÇÁ¸¼º:

³×Æ®¿öÅ© ÀνÄ:

localhost·Î °¡Á¤ÇÔ


6.2.2. ¸ðµâÀÇ Àü¹ÝÀûÀÎ ¼³¸í

ÀÌ ¸ðµâÀº ÀÏ¹Ý »ç¿ëÀڵ鿡°Ô ÆÄÀϽýºÅÛÀÇ ·çÆ®¸¦ ¼ÓÀ̱â À§ÇÑ ¸ñÀûÀ¸·Î ¸¸µé¾îÁ³´Ù.(¿¹¸¦µé¾î, »ç¿ëÀÚÀÇ '/'´Â ½ÇÁ¦·Î´Â /some/where/elseÀÌ´Ù.)

¿©·¯ ºÐ·ùÀÇ »ç¿ëÀÚµéÀÌ ½Ã½ºÅÛÀ» »ç¿ëÇϰí, ´ç½ÅÀÌ º¸¾È¿¡ °üÇØ ¾à°£ ½Å°æÀ» ¸¹ÀÌ ¾´´Ù¸é À¯¿ëÇÒ °ÍÀÌ´Ù. ½Ã½ºÅÛ¿¡¼­ »ç¿ëÀÚµéÀÌ º¼¼ö ÀÖ´Â °ÍÀ» Á¦ÇÑÇÏ°í ½ÇÇà½Ãų ¼ö ÀÖ´Â ÇÁ·Î±×·¥À» Á¦ÇÑÇϴµ¥ »ç¿ëÇÒ ¼ö ÀÖ´Ù.


6.2.3. °èÁ¤°ü¸® ±¸¼º¿ä¼Ò:

³»¿ëÀÌ ¾ÆÁ÷ ¾øÀ½.


6.2.4. ÀÎÁõ°ü¸® ±¸¼º¿ä¼Ò:

³»¿ëÀÌ ¾ÆÁ÷ ¾øÀ½.


6.2.5. ¼¼¼Ç°ü¸® ±¸¼º¿ä¼Ò:

³»¿ëÀÌ ¾ÆÁ÷ ¾øÀ½.

ÀνÄÇÏ´Â ÀÎÀÚµé:

PAM ¹öÁ¯¿¡ ¸Â´Â ÀÎÀÚµé°ú ·Î±× ¼öÁØÀº ÀÛ¾÷ÁßÀÌ´Ù.

¼³¸í:

¿¹Á¦/ÃßõÇÏ´Â »ç¿ë¹ý:

Àû´çÇÑ ÇÁ·Î±×·¥µéÀÇ ¸®½ºÆ®¸¦ Á¦°øÇ϶ó - 'cat', 'ls', 'rm', 'cp', 'ed'°°Àº °Íµé.

³Ê¹« ½ÉÇÏ°Ô ÇÏÁö¸¶¶ó.(¿¹¸¦µé¾î °¢ »ç¿ëÀÚ¸¶´Ù º°µµÀÇ È¯°æÀ» ±¸¼ºÇÒ ¼ö ÀÖÁö¸¸ ¸¸¾à ±×·¸°Ô ÇÑ´Ù¸é µð½ºÅ© ³¶ºñ°¡ ½ÉÇÒ°ÍÀÌ´Ù.)


6.3. Cracklib pluggable password strength-checker

6.3.1. °³¿ä

¸ðµâ À̸§:

pam_cracklib

ÀúÀÚ:

Cristian Gafton <gafton@redhat.com>

À¯Áöº¸¼ö:

ÀúÀÚ

Á¦°øµÇ´Â °ü¸® ±×·ì:

password

¾ÏÈ£ÇÐÀû ¹Î°¨¼º:

º¸¾È µî±Þ:

ÄÄÆÄÀϽà ¸Þ½ÃÁö:

½Ã½ºÅÛ ÀÇÁ¸¼º:

libcrack ½Ã½ºÅÛ ¶óÀ̺귯¸®¿Í ½Ã½ºÅÛ »çÀü:/usr/lib/cracklib_dict.

³×Æ®¿öÅ© ÀνÄ:


6.3.2. ¸ðµâÀÇ Àü¹ÝÀûÀÎ ¼³¸í

ÀÌ ¸ðµâÀº passwordÀÇ Æ°Æ°ÇÑ Á¤µµ¸¦ °Ë»çÇϵµ·Ï Çϱâ À§ÇØ ÀÀ¿ëÅ©·Î±×·¥ÀÇ ÆÐ½º¿öµå ½ºÅÿ¡ µî·ÏÇØ¼­ »ç¿ëµÈ´Ù.

ÀÌ ¸ðµâÀº ´ÙÀ½°ú °°ÀÌ µ¿ÀÛÇÑ´Ù: ¿ì¼± ÆÐ½º¿öµåÀÇ Æ°Æ°ÇÔÀ» °Ë»çÇϱâ À§ÇØ Cracklib ·çƾÀ» È£ÃâÇÑ´Ù. ÆÐ½º¿öµå°¡ crackµÇÁö ¾ÊÀ¸¸é ´ÙÀ½ÀÇ Ãß°¡ÀûÀÎ °Ë»ç¸¦ ÇÑ´Ù:

  • ȸ¹® - »õ ÆÐ½º¿öµå°¡ ¿¹Àü ÆÐ½º¿öµåÀÇ È¸¹®(palindrome) - ¿ªÁÖ: ¾ÕÀ¸·Î ÀÐÀ¸³ª µÚ·Î ÀÐÀ¸³ª °°Àº ±ÛÀÚ - ÀÌ ¾Æ´Ñ°¡?

  • ´ë¼Ò¹®ÀÚ º¯°æ¸¸ ÇÑ °ÍÀΰ¡? - »õ ÆÐ½º¿öµå°¡ ¿¹Àü ÆÐ½º¿öµå¿¡¼­ ´ë¼Ò¹®ÀÚ º¯°æ¸¸ µÈ°Ô ¾Æ´Ñ°¡?

  • À¯»ç¼º - »õ ÆÐ½º¿öµå°¡ ¿¹Àü ÆÐ½º¿öµå¿Í ¾ó¸¶³ª ¸¹ÀÌ ºñ½ÁÇѰ¡? À̰ÍÀº 'difok' ÀÎÀÚ¿¡ ÀÇÇØ ÁÖ·Î Á¶ÀýµÈ´Ù. 'difok'´Â »õ ÆÐ½º¿öµå°¡ ¿¹Àü ÆÐ½º¿öµå¿Í ¾ó¸¶³ª ¸¹Àº ´Ù¸¥ ¹®ÀÚµéÀ» °¡Áö°í ÀÖ¾î¾ß Çϴ°¡¸¦ ³ªÅ¸³½´Ù. À̰ÍÀÇ µðÆúÆ®°ªÀº 10À̰ųª »õ ÆÐ½º¿öµåÀÇ Å©±âÀÇ 1/2Áß ÀÛÀº °ªÀÌ´Ù. ±æ°í º¹ÀâÇÑ ÆÐ½º¿öµå·Î º¯°æÇؾ߸¸ ÇÏ´Â °ÍÀ» ÇÇÇϱâ À§ÇØ 'difignore'°¡ ÀÖ´Ù. À̰ÍÀº »õ ÆÐ½º¿öµå ±æÀÌÀÇ ÃÖ¼Ò°ªÀ» Á¤Çؼ­, ±æÀ̰¡ ±× ÀÌ»óÀ̸é 'difok'¸¦ ¹«½ÃÇÑ´Ù. difignoreÀÇ µðÆúÆ®°ªÀº 23ÀÌ´Ù.

  • ´Ü¼øÇÔ - »õ ÆÐ½º¿öµå°¡ ³Ê¹« ªÁö ¾ÊÀº°¡? À̰ÍÀº ´ÙÀ½ 5°³ÀÇ ÀÎÀÚ·Î Á¶ÀýµÈ´Ù. 'minlen', 'dcredit', 'ucredit', 'lcredit', 'ocredit'ÀÌ´Ù. ÀÌ ÀÎÀڵ鿡 ´ëÇÑ ±âº»°ª°ú µ¿ÀÛ¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ¼³¸íÀº ÀÎÀÚ¿¡ ´ëÇÑ ¼³¸íÀÌ ÀÖ´Â ¶õÀ» º¸¶ó.

  • µ¹·Á½è´Â°¡? - »õ ÆÐ½º¿öµå°¡ ¿¹Àü ÆÐ½º¿öµå¸¦ µ¹·Á¾²±â¸¸ ÇÑ °ÍÀÌ ¾Æ´Ñ°¡?

  • ÀÌ¹Ì »ç¿ëµÈ ÆÐ½º¿öµå - »õ ÆÐ½º¿öµå°¡ °ú°Å¿¡ »ç¿ëµÇ¾ú´Â°¡? ¿¹Àü ÆÐ½º¿öµå´Â /etc/security/opasswd¿¡ ÀúÀåµÈ´Ù.

ÀÌ ¸ðµâÀº ÀÎÀÚ ¾øÀÌ »ç¿ëµÇ¸é Ç¥ÁØ À¯´Ð½º ÆÐ½º¿öµå ¾Ïȣȭ ¹æ½ÄÀ» »ç¿ëÇÑ´Ù. md5¾Ïȣȭ¸¦ »ç¿ëÇϸé, ÆÐ½º¿öµå´Â 8ÀÚ ÀÌ»óÀ̾ µÇ°í, ÀÌ ¸ðµâÀÇ µðÆúÆ® ¼³Á¤Àº »ç¿ëÀÚ°¡ ¸¸Á·½º·¯¿î »õ ÆÐ½º¿öµå¸¦ ¼±ÅÃÇϴµ¥ ¾î·Æ°Ô ¸¸µé ¼ö ÀÖ´Ù. ¸í¹éÈ÷, »õ ÆÐ½º¿öµå°¡ ¿¹Àü ÆÐ½º¿öµåÀÇ 1/2ÀÌ»óÀÇ ¹®ÀÚµéÀ» Æ÷ÇÔÇÏÁö ¾Êµµ·Ï ÇÏ´Â °ÍÀº »ç¼ÒÇÏÁö ¾ÊÀº Á¦¾àÀÌ µÇ¾ú´Ù. ¿¹¸¦ µé¾î, ¿¹Àü ÆÐ½º¿öµå°¡ 'the quick brown fox jumped over the lazy dogs'ÀÌ¸é ¹Ù²Ù±â°¡ ¾î·Æ´Ù. °Ô´Ù°¡ µðÆúÆ®¼³Á¤ÀÌ 5ÀÚÀÇ ÂªÀº ±æÀÌÀÇ ÆÐ½º¿öµå¸¦ Çã¿ëÇÑ´Ù. md5½Ã½ºÅÛ¿¡ ´ëÇØ¼­, »õ ÆÐ½º¿öµåÀÇ ÃÖ¼Ò ±æÀ̸¦ ´Ã¸®´Â °ÍÀº ÁÁÀº »ý°¢ÀÌ´Ù. ÀÌ·¸°Ô ÇÏ¸é ¼­·Î´Ù¸¥ Á¾·ùÀÇ ¹®ÀÚµéÀ» »ç¿ëÇØ¼­ ÆÐ½º¿öµå¸¦ ¸¸µé°ÔÇÏ´Â °ÍÀ» Àå·ÁÇϰí, µ¿½Ã¿¡ ¿¹Àü ÆÐ½º¿öµå¿¡ ÀÖ´Â ¹®ÀÚµé ´ëºÎºÐÀ» ±×´ë·Î »õ ÆÐ½º¿öµå¿¡¼­µµ ¾µ ¼ö ÀÖ°Ô ÇÏ´Â °ÍÀ» Çã¿ëÇÒ ¼ö ÀÖ´Ù.


6.3.3. ÆÐ½º¿öµå°ü¸® ±¸¼º¿ä¼Ò

ÀνÄÇÏ´Â ÀÎÀÚµé:

debug; type=XXX; retry=N; difok=N; minlen=N; dcredit=N; ucredit=N; lcredit=N; ocredit=N; use_authtok;

¼³¸í:

ÀÌ ¸ðµâÀÇ µ¿ÀÛÀº ³ª»Û ÆÐ½º¿öµå¸¦ ¾Ë¾Æ³»±â À§ÇØ »ç¿ëÀÚ¿¡°Ô ÆÐ½º¿öµå¸¦ ¹¯°í, ½Ã½ºÅÛ »çÀü°ú ¸î°¡Áö ±ÔÄ¢À¸·Î ÆÐ½º¿öµåÀÇ Æ°Æ°ÇÔÀ» °Ë»çÇÑ´Ù.

±âº» µ¿ÀÛÀº ÇϳªÀÇ ÆÐ½º¿öµå¸¦ ¹¯°í, ưưÇÔÀ» °Ë»çÇϰí, ưưÇÏ´Ù°í »ý°¢µÇ¸é ´Ù½Ã ÆÐ½º¿öµå¸¦ ¹¯´Â´Ù(ù¹øÂ°°ÍÀÌ ¿Ã¹Ù·Î ÀÔ·ÂµÈ °ÍÀÎÁö È®ÀÎÇϱâ À§Çؼ­). ¸ðµÎ Åë°úÇÏ¸é ÆÐ½º¿öµå´Â ¼³Ä¡µÈ ´ÙÀ½ ¸ðµâ·Î »õ ÀÎÁõ ÅäÅ«À¸·Î¼­ Àü´ÞµÈ´Ù.

±âº» µ¿ÀÛÀº ÀÎÀÚµéÀ» »ç¿ëÇØ¼­ ¿©·¯°¡Áö·Î °íÄ¥ ¼ö ÀÖ´Ù.

  • debug - ÀÌ ¿É¼ÇÀº ¸ðµâÀÌ µ¿ÀÛÀ» º¸¿©ÁÖ±â À§ÇØ syslog(3)¿¡ Á¤º¸¸¦ ³²±âµµ·Ï ÇÑ´Ù.(ÀÌ ¿É¼ÇÀÌ logÆÄÀÏ¿¡ ÆÐ½º¿öµå Á¤º¸¸¦ ³²±âÁö´Â ¾Ê´Â´Ù.)

  • type=XXX - ¸ðµâÀÇ µðÆúÆ® µ¿ÀÛÀº ÆÐ½º¿öµå¸¦ ¹°¾îº¼ ¶§ "New UNIX password: ", "Retype UNIX password:"¶ó°í ¹¯´Âµ¥, ÀÌ ¿É¼ÇÀ» »ç¿ëÇØ¼­ 'UNIX'¶ó´Â ¸» ´ë½Å 'XXX'·Î ¹Ù²Ü ¼ö ÀÖ´Ù.

  • retry=N - »õ ÆÐ½º¿öµå¸¦ ¹°¾îº¸´Â Ƚ¼ö·Î µðÆúÆ®´Â 1ÀÌ´Ù. ÀÌ ¿É¼ÇÀ» »ç¿ëÇØ¼­ N¸¸Å­ Ƚ¼ö¸¦ ´Ã¸± ¼ö ÀÖ´Ù.

  • difok=N - »õ ÆÐ½º¿öµå¿¡¼­ ¿¹Àü ÆÐ½º¿öµå¿¡ ÀÖÁö ¾ÊÀº ¹®ÀÚµéÀ» ¸îÀÚ³ª »ç¿ëÇØ¾ß ÇÏ´ÂÁö ³ªÅ¸³»´Â ¼ö·Î µðÆúÆ®´Â 10ÀÌ´Ù. ±×¸®°í, »õ ÆÐ½º¿öµå¿¡¼­ 1/2ÀÌ»óÀÇ ±ÛÀÚ°¡ ÀÌÀü°ú ´Ù¸£´Ù¸é »õ ÆÐ½º¿öµå´Â ¹Þ¾Æµé¿©Áø´Ù.

  • minlen=N - »õ ÆÐ½º¿öµåÀÇ ÃÖ¼Ò Å©±â¿¡ 1À» ´õÇÑ Å©±âÀÌ´Ù. »õ ÆÐ½º¿öµå¿£ »ç¿ëµÈ ¹®ÀÚ¿­ÀÇ ±æÀÌ ¿Ü¿¡ °¢ ¹®ÀÚÁ¾·ù (¼ýÀÚ, ´ë¹®ÀÚ, ¼Ò¹®ÀÚ, ±âŸ¹®ÀÚ)¸¦ »ç¿ëÇÑ °Í¿¡ ´ëÇØ¼­ °¢°¢ Å©·¹µ÷À» ÁØ´Ù. ÀÌ ÀÎÀÚÀÇ ÃʱⰪÀº 9Àε¥, °°Àº ¹®ÀÚ Á¾·ù¸¸À» »ç¿ëÇÏ´Â ¿¹Àü UNIXÆÐ½º¿öµå¿¡ Àû´çÇÏÁö¸¸ md5½Ã½ºÅÛÀÇ Ãß°¡µÈ º¸¾È´É·ÂÀ» ÃæºÐÈ÷ ¾²±â¿¡´Â Àû´çÇÏÁö ¸øÇÏ´Ù. (¿ªÁÖ: ¹®ÀÚ Á¾·ù¿¡ ´ëÇÑ Å©·¹µ÷µéÀÌ 1À̶ó°í Çϸé, ¸ðµÎ °°Àº Á¾·ù·Î¸¸ µÈ ÆÐ½º¿öµå´Â 8ÀÇ ±æÀ̸¦ °¡Á®¾ß Çϰí, µÎ°¡Áö Á¾·ù¸¦ °®´Â °æ¿ì¿¡´Â 7ÀÇ ±æÀ̸¦ °¡Á®¾ß ÇÏ´Â °ÍÀÌ´Ù.)

    CracklibÀÚü¿¡ µÎ°¡Áö ±æÀÌ Á¦ÇÑÀÌ ÀÖ´Ù´Â °ÍÀ» ¿°µÎÇØ µÎ¶ó. Cracklib¿¡´Â 4ÀÚ ÀÌ»óÀ¸·Î Çϵµ·Ï ÇϵåÄÚµùµÇ¾î ÀÖ°í minlen°ªÀ» Âü°íÇÏÁö ¾Ê°í °Ë»çÇϵµ·Ï Á¤ÀÇµÈ °ª(6)ÀÌ Àִµ¥, ¸¸ÀÏ ´õ ªÀº ÆÐ½º¿öµå¸¦ Çã¿ëÇÏ°í ½ÍÀ¸¸é ÀÌ ¸ðµâÀ» »ç¿ëÇÏÁö ¸»°Å³ª Cracklib°ú ÀÌ ¸ðµâÀ» ´Ù½Ã ÄÄÆÄÀÏÇØ¶ó.

  • dcredit=N - ¼ýÀÚ ¹®ÀÚ°¡ °¡Áú ¼ö ÀÖ´Â Å©·¹µ÷ÀÇ ÃÖ´ë°ªÀÌ´Ù. ¸¸¾à ÆÐ½º¿öµå¿¡ N°³ ÀÌÇÏÀÇ ¼ýÀÚ¸¦ »ç¿ëÇß´Ù¸é »ç¿ëµÈ ¼ýÀÚÀÇ °¹¼ö°¡ ÇöÀç Á¤ÀÇµÈ minlen°ªÀ» °è»êÇϴµ¥ Å©·¹µ÷°ªÀ¸·Î Àû¿ëµÈ´Ù. À̰ÍÀÇ ±âº»°ªÀº 1Àε¥, 1Àº minlenÀÌ 10º¸´Ù ÀÛÀ»¶§ ±ÇÀå°ªÀÌ´Ù.

  • ucredit=N - ´ë¹®ÀÚ°¡ °¡Áú ¼ö ÀÖ´Â Å©·¹µ÷ÀÇ ÃÖ´ë°ªÀÌ´Ù. ¸¸¾à ÆÐ½º¿öµå¿¡ N°³ ÀÌÇÏÀÇ ´ë¹®ÀÚ¸¦ »ç¿ëÇß´Ù¸é »ç¿ëµÈ ´ë¹®ÀÚÀÇ °¹¼ö°¡ ÇöÀç Á¤ÀÇµÈ minlen°ªÀ» °è»êÇϴµ¥ Å©·¹µ÷°ªÀ¸·Î Àû¿ëµÈ´Ù. À̰ÍÀÇ ±âº»°ªÀº 1Àε¥, 1Àº minlenÀÌ 10º¸´Ù ÀÛÀ»¶§ ±ÇÀå°ªÀÌ´Ù.

  • lcredit=N - ¼Ò¹®ÀÚ°¡ °¡Áú ¼ö ÀÖ´Â Å©·¹µ÷ÀÇ ÃÖ´ë°ªÀÌ´Ù. ¸¸¾à ÆÐ½º¿öµå¿¡ N°³ ÀÌÇÏÀÇ ¼Ò¹®ÀÚ¸¦ »ç¿ëÇß´Ù¸é »ç¿ëµÈ ¼Ò¹®ÀÚÀÇ °¹¼ö°¡ ÇöÀç Á¤ÀÇµÈ minlen°ªÀ» °è»êÇϴµ¥ Å©·¹µ÷°ªÀ¸·Î Àû¿ëµÈ´Ù. À̰ÍÀÇ ±âº»°ªÀº 1Àε¥, 1Àº minlenÀÌ 10º¸´Ù ÀÛÀ»¶§ ±ÇÀå°ªÀÌ´Ù.

  • ocredit=N - ¾Õ¼­ Á¤ÀÇµÈ ¹®ÀÚ ÀÌ¿ÜÀÇ ±âŸ ¹®ÀÚ°¡ °¡Áú ¼ö ÀÖ´Â Å©·¹µ÷ÀÇ ÃÖ´ë°ªÀÌ´Ù. (¿ªÁÖ: Áï, ±âŸ ¹®ÀÚ´Â ¼ýÀÚ, ´ë¹®ÀÚ, ¼Ò¹®ÀÚ¸¦ Á¦¿ÜÇÑ ³ª¸ÓÁö ¹®ÀÚ¸¦ °¡¸£Å²´Ù.) ¸¸¾à ÆÐ½º¿öµå¿¡ N°³ ÀÌÇÏÀÇ ±âŸ ¹®ÀÚ¸¦ »ç¿ëÇß´Ù¸é »ç¿ëµÈ ±âŸ¹®ÀÚÀÇ °¹¼ö°¡ ÇöÀç Á¤ÀÇµÈ minlen°ªÀ» °è»êÇϴµ¥ Å©·¹µ÷°ªÀ¸·Î Àû¿ëµÈ´Ù. À̰ÍÀÇ ±âº»°ªÀº 1Àε¥, 1Àº minlenÀÌ 10º¸´Ù ÀÛÀ»¶§ ±ÇÀå°ªÀÌ´Ù.

  • use_authok - ÀÌ ÀÎÀÚ´Â »ç¿ëÀÚ¿¡°Ô »õ ÆÐ½º¿öµå¸¦ ¹¯Áö¸»°í, ¾Õ¼­ ½ÇÇàµÈ password¸ðµâ¿¡¼­ ¹ÞÀº °ÍÀ» »ç¿ëÇϵµ·Ï ¸ðµâ¿¡°Ô °­Á¦ÇÑ´Ù.

¿¹Á¦/ÃßõÇÏ´Â »ç¿ë¹ý:

ÀÌ ¸ðµâ »ç¿ëÀÇ ¿¹¸¦À§ÇØ, pam_pwdbÀÇ password component¿Í ÀûÃþ±¸Á¶·Î ¼³Á¤ÇÏ´Â °ÍÀ» º¸¿©ÁØ´Ù.

#
# ÀÌ ÁÙµéÀº 2°³ÀÇ password ŸÀÔÀÇ ¸ðµâÀ» °®°í ÀÖ´Ù. ÀÌ ¿¹¿¡¼­ »ç¿ëÀÚ´Â 3¹øÀÇ
# ưưÇÑ ÆÐ½º¿öµå¸¦ ÀÔ·ÂÇÒ ±âȸ¸¦ °®´Â´Ù. 'use_authok'ÀÎÀÚ´Â pam_pwdb¸ðµâÀÌ
# ÆÐ½º¿öµå¸¦ ¹¯Áö ¾Êµµ·ÏÇϰí, ´ë½Å¿¡ pam_cracklibÀÌ Á¦°øÇÏ´Â °ÍÀ» »ç¿ëÇϵµ·Ï
# ÇÑ´Ù.
#
passwd  password required       pam_cracklib.so retry=3
passwd  password required       pam_pwdb.so use_authtok

¶ÇÇϳªÀÇ ¿¹·Î(/etc/pam.d/passwd ÇüÅ¿¡¼­) md5 ÆÐ½º¿öµå ¾Ïȣȭ¸¦ »ç¿ëÇÏ±æ ¿øÇÏ´Â °æ¿ìÀÌ´Ù.

#
# ÀÌ ÁÙµéÀº md5½Ã½ºÅÛÀÌ Àû¾îµµ 14ÀÚÀ̰í, ¼ýÀÚ2, ´Ù¸¥¹®ÀÚ2¿¡ ´ëÇÑ Å©·¹µ÷°ªÀ» 
# °®µµ·Ï Çϰí, ¿¹Àü ÆÐ½º¿öµå¿¡ Á¸ÀçÇÏÁö ¾Ê´Â ¹®ÀÚµéÀ» Àû¾îµµ 3°³ÀÌ»ó °®µµ·Ï 
# ÇÏ´Â °ÍÀÌ´Ù.
#
password  required pam_cracklib.so difok=3 minlen=15 dcredit= 2 ocredit=2
password  required pam_pwdb.so use_authtok nullok md5

6.4. Àá±Ý ¸ðµâ(The locking-out module)

6.4.1. °³¿ä

¸ðµâ À̸§:

pam_deny

ÀúÀÚ:

Andrew G. Morgan <morgan@parc.power.net>

À¯Áöº¸¼ö:

ÇöÀçÀÇ Linux-PAM À¯Áöº¸¼öÀÚ

Á¦°øµÇ´Â °ü¸® ±×·ì:

account; authentication; password; session

¾ÏÈ£ÇÐÀû ¹Î°¨¼º:

º¸¾È µî±Þ:

ÄÄÆÄÀϽà ¸Þ½ÃÁö:

¿¡·¯¸Þ½ÃÁö ¾øÀ½

½Ã½ºÅÛ ÀÇÁ¸¼º:

³×Æ®¿öÅ© ÀνÄ:


6.4.2. ¸ðµâÀÇ Àü¹ÝÀûÀÎ ¼³¸í

ÀÌ ¸ðµâÀº Á¢±ÙÀ» °ÅºÎÇϴµ¥ »ç¿ëµÈ´Ù. À̰ÍÀº PAM±¸Á¶¸¦ ÅëÇØ ÀÀ¿ëÇÁ·Î±×·¥¿¡°Ô Ç×»ó ½ÇÆÐ¸¦ ¸®ÅÏÇÑ´Ù. ¾Õ¼­(3.°³¿ä) ¸»ÇßµíÀÌ ÀÌ ¸ðµâÀº µðÆúÆ®(OTHER) ¼ÂÆÃÀ¸·Î Àû´çÇÏ´Ù.


6.4.3. °èÁ¤°ü¸® ±¸¼º¿ä¼Ò

ÀνÄÇÏ´Â ÀÎÀÚµé:

¼³¸í:

¿ÀÁ÷ ½ÇÆÐ¸¸À» ¸®ÅÏÇÑ´Ù. ½ÇÆÐtypeÀº PAM_ACCT_EXPIRED.

¿¹Á¦/ÃßõÇÏ´Â »ç¿ë¹ý:

ÀÌ ¸ðµâÀ» account ŸÀÔ¿¡ ¼³Á¤Çϸé Linux-PAMÀÇ account managementÇÔ¼öÀÎ pam_acct_mgmt()¸¦ »ç¿ëÇÏ´Â ÀÀ¿ëÇÁ·Î±×·¥µéÀ» ÅëÇØ ½Ã½ºÅÛ¿¡ Á¢±ÙÇÏ·Á´Â ¸ðµç »ç¿ëÀÚµéÀ» ¸·À» ¼ö ÀÖ´Ù.

´ÙÀ½ ¿¹´Â ·Î±×ÀÎÀ» ºÒ°¡´ÉÇÏ°Ô ¸¸µå´Â °ÍÀÌ´Ù.

#
#¸ðµç °èÁ¤À» ¸·±â À§Çؼ­ ÀÌ ÁÙÀ» Ãß°¡Ç϶ó.
#
login   account  required       pam_deny.so

6.4.4. ÀÎÁõ°ü¸® ±¸¼º¿ä¼Ò

ÀνÄÇÏ´Â ÀÎÀÚµé:

¼³¸í:

¾Æ¹«°Íµµ ÇÏÁö ¾Ê°í ½ÇÆÐ¸¦ ¸®ÅÏÇÑ´Ù. ½ÇÆÐtypeÀº pam_authenticate()°¡ ºÒ¸®´Â °æ¿ì¿¡´Â(»ç¿ëÀÚ ÀÎÁõÀ» ½ÃµµÇÏ´Â °æ¿ì) PAM_AUTH_ERRÀ̰í pam_setcred()°¡ ºÒ¸®´Â °æ¿ì¿¡´Â(»ç¿ëÀÚ¿¡°Ô ±ÇÇÑÀ» ÁÖ´Â °æ¿ì -- ½ÇÁ¦ÀÇ °æ¿ì¿¡ ÀÌ ÇÔ¼ö´Â Àý´ë ¾ÈºÒ¸±°ÍÀÌ´Ù.) PAM_CRED_UNAVAILÀÌ´Ù.

¿¹Á¦/ÃßõÇÏ´Â »ç¿ë¹ý:

º°µµÀÇ ¼³Á¤ÀÌ ¾ø´Â ÀÀ¿ëÇÁ·Î±×·¥µé¿¡ ´ëÇÑ Á¢±ÙÀ» ÀÌ pam_deny¸ðµâÀ» »ç¿ëÇØ ¸·À» ¼ö ÀÖ´Ù. ¾Æ·¡¿Í °°ÀÌ Linux-PAM ¼³Á¤ÆÄÀÏ¿¡ Ãß°¡ÇÏ¸é µÈ´Ù.

#
# OTHER ¶õ¿¡ ÀÌ ÁÙÀ» Ãß°¡Çؼ­ ±âº»ÀûÀ¸·Î ÀÀ¿ëÇÁ·Î±×·¥µéÀÇ ÀÎÁõÀÌ ¼º°øÇÏÁö
# ¸øÇϵµ·Ï ¸¸µé¾î¶ó.
#
OTHER   auth     required       pam_deny.so

6.4.5. ÆÐ½º¿öµå°ü¸® ±¸¼º¿ä¼Ò

ÀνÄÇÏ´Â ÀÎÀÚµé:

¼³¸í:

»ç¿ëÀÚ¿¡°Ô ÆÐ½º¿öµå¸¦ º¯°æÇÏÁö ¸øÇÏ°Ô ÇÑ´Ù. Ç×»ó PAM_AUTHTOK_ERR¸¦ ¸®ÅÏÇÑ´Ù.

¿¹Á¦/ÃßõÇÏ´Â »ç¿ë¹ý:

ÀÌ ¸ðµâÀº ÀÀ¿ëÇÁ·Î±×·¥ÀÌ »ç¿ëÀÚÀÇ ÆÐ½º¿öµå¸¦ º¯°æÇÏ´Â °ÍÀ» ¸·´Âµ¥ »ç¿ëÇÑ´Ù. ¿¹¸¦ µé¾î loginÀÌ ¿¾³¯ ÆÐ½º¿öµå°¡ ¸¸·áµÇ¾î »õ ÆÐ½º¿öµå¸¦ ÀÚµ¿ÀûÀ¸·Î ¹¯°Ô ÇÏ´Â °ÍÀ» ¸·À¸·Á¸é ¾Æ·¡ ³»¿ëÀ» ¼³Á¤ÆÄÀÏ¿¡ Ãß°¡ÇØ¾ß ÇÑ´Ù.

#
# ´Ù¸¥ ·Î±×ÀÎ Ç׸ñ¿¡ ÀÌ ÁÙÀ» Ãß°¡Çؼ­ ·Î±×ÀÎ ÇÁ·Î±×·¥ÀÌ »ç¿ëÀÚ ÆÐ½º¿öµå¸¦
# º¯°æÇÒ ¼ö ¾øµµ·Ï ¸·¾Æ¶ó.
#
login   password required       pam_deny.so

6.4.6. ¼¼¼Ç°ü¸® ±¸¼º¿ä¼Ò

ÀνÄÇÏ´Â ÀÎÀÚµé:

¼³¸í:

È£½ºÆ® ÄÄÇ»ÅÍ¿¡¼­ ÀÀ¿ëÇÁ·Î±×·¥ÀÌ ¼¼¼ÇÀ» ½ÃÀÛÇÏ´Â °ÍÀ» ¸·´Â´Ù.

¿¹Á¦/ÃßõÇÏ´Â »ç¿ë¹ý:

³¯Â¥°°Àº ¸Þ½ÃÁö¸¦ º¸¿©ÁÖ´Â ¼¼¼Ç ¸ðµâ(XXX -ÀÌ·± ¸ðµâÀº ´©°¡ ¸¸µé¾î¾ß ÇÑ´Ù)À» °°ÀÌ »ç¿ëÇϰí, ÀÌ ¸ðµâÀº »ç¿ëÀÚ°¡ shellÀ» ½ÃÀÛÇÏÁö ¸øÇÏ°Ô ¸·´Â´Ù. pam_motd¸ðµâÀÌ ÀÖ´Ù¸é, ¾Æ·¡ ¼³Á¤Ã³·³ ÇØ¼­ »ç¿ëÀÚ¿¡°Ô ½Ã½ºÅÛ ½Ã°£À» ¾Ë·ÁÁÖ°Ô ÇÒ ¼ö ÀÖ´Ù.

#
# »ç¿ëÀÚÀÇ ·Î±×ÀÎÀ» (Á¤ÁßÇϰÔ) °ÅºÎÇÏ´Â ¼³Á¤ ¿¹
#
login   session  required       pam_motd.so file=/etc/system_time
login   session  required       pam_deny.so

6.5. ȯ°æ º¯¼ö ¼³Á¤/ÇØÁ¦(Set/unset environment variables)

6.5.1. °³¿ä

¸ðµâ À̸§:

pam_env

ÀúÀÚ:

Dave Kinchlea <kinch@kinch.ark.com>

À¯Áöº¸¼ö:

ÀúÀÚ

Á¦°øµÇ´Â °ü¸® ±×·ì:

Authentication (setcred)

¾ÏÈ£ÇÐÀû ¹Î°¨¼º:

º¸¾È µî±Þ:

ÄÄÆÄÀϽà ¸Þ½ÃÁö:

½Ã½ºÅÛ ÀÇÁ¸¼º:

/etc/security/pam_env.conf

³×Æ®¿öÅ© ÀνÄ:


6.5.2. ¸ðµâÀÇ Àü¹ÝÀûÀÎ ¼³¸í

ÀÌ ¸ðµâÀº ȯ°æº¯¼ö¸¦ ¼³Á¤/ÇØÁ¦ÇÏ´Â °ÍÀ» °¡´ÉÇÏ°Ô ÇÑ´Ù. ÀÌÀü¿¡ ¼³Á¤ÇÑ È¯°æº¯¼ö³ª PAM_RHOST°°Àº PAM_ITEMµéÀ» »ç¿ëÇÏ¿© ȯ°æº¯¼ö¸¦ ¼³Á¤ ÇÏ´Â °ÍÀ» °¡´ÉÇÏ°Ô ÇÑ´Ù.


6.5.3. ÀÎÁõ°ü¸® ±¸¼º¿ä¼Ò

ÀνÄÇÏ´Â ÀÎÀÚµé:

debug; conffile=configuration-file-name; envfile=env-file-name; readenv=0|1

¼³¸í:

ÀÌ ¸ðµâÀº °íÁ¤ Å©±âÀÇ ½ºÆ®¸µ(À̰ÍÀÇ ³»¿ëÀº ÀÌ¹Ì ¼³Á¤µÈ ȯ°æº¯¼ö³ª PAM_ITEMÀÌ µÉ ¼ö ÀÖ´Ù.)À» »ç¿ëÇÏ´Â ÀÓÀÇÀÇ È¯°æº¯¼ö°ªÀ» ¼³Á¤/ÇØÁ¦ÇÏ°Ô ÇØÁØ´Ù. ¸ðµç °ÍÀº ¼³Á¤ÆÄÀÏ(µðÆúÆ®´Â /etc/security/pam_env.confÀε¥ conffileÀÎÀÚ·Î ¹Ù²Ü ¼ö ÀÖ´Ù.)¿¡ ÀÇÇØ Á¶Á¤µÈ´Ù. °¢ ÁÙÀº º¯¼öÀ̸§À¸·Î ½ÃÀÛÇÏ°í °¢ º¯¼ö¿¡ ´ëÇØ DEFAULT¿Í OVERRIDE µÎ°¡Áö ¿É¼ÇÀÌ °¡´ÉÇÏ´Ù. DEFAULT´Â °ü¸®ÀÚ°¡ º¯¼öÀÇ °ªÀ» ¾î¶² µðÆúÆ® °ªÀ¸·Î ÁöÁ¤ÇÏ°Ô ÇÏ´Â °ÍÀÌ´Ù. DEFAULT°¡ ¾øÀ¸¸é, ºó ½ºÆ®¸µÀ¸·Î °£ÁֵȴÙ. OVERRIDE´Â pam_env¿¡°Ô »ç¿ëµÇ´Â °ªÀÌ ÀÖ´Ù¸é ±× °ªÀ»(default°ªÀ» ¾þ¾î¾²°Ô) ³Ö°Ô ÇÏ´Â °ÍÀÌ´Ù. OVERRIDE°¡ »ç¿ëµÇÁö ¾ÊÀ¸¸é, ""·Î °£ÁÖµÇ°í º¯¼ö°ªÀ» µ¤¾î¾²Áö ¾Ê´Â´Ù.

     VARIABLE   [DEFAULT=[value]]  [OVERRIDE=[value]]

(¾Æ¸¶ Á¸ÀçÇÏÁö ¾Ê´Â)ȯ°æ º¯¼öµéÀÌ ${string}¹®¹ýÀ» »ç¿ëÇØ ¾²Àϼö ÀÖ°í, (¾Æ¸¶ Á¸ÀçÇÏÁö ¾Ê´Â)PAM_ITEMµéÀÌ &commat;{string}¹®¹ýÀ» »ç¿ëÇØ ¾µ ¼ö ÀÖ´Ù. $, &commat; ¹®ÀÚ´Â ¹é½½·¡½¬(\)¸¦ ¾Õ¿¡ ºÙ¿©¼­ ÀÏ¹Ý ¹®ÀÚ·Î »ç¿ëµÉ ¼ö ÀÖ´Ù. (¿¹¸¦ µé¾î \$) °ª¾È¿¡ Å«µû¿ÈÇ¥¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù.(ȯ°æ º¯¼ö À̸§¿¡´Â »ç¿ëÇÒ ¼ö ¾ø´Ù.) °ª¾È¿¡ °ø¹éÀÌ ÇÊ¿äÇÑ °æ¿ì¿¡´Â µû¿ÈÇ¥¸¦ °ª ÀüüÀÇ ¾ÕµÚ¿¡ ºÙ¿© »ç¿ëÇÒ ¼ö ÀÖ´Ù. À̶§¿¡ µû¿ÈÇ¥¸¦ °ª¾È¿¡ ³Ö´Â ¹æ¹ý(escaped quotes)Àº Áö¿øÇÏÁö ¾Ê´Â´Ù.

ÀÌ ¸ðµâÀº °¢°¢ÀÇ ÁÙ¿¡ KEY=VALÇüŸ¦ °®´Â ´Ü¼øÇÑ È¯°æº¯¼ö ÆÄÀÏÀ» ÀÐÀ» ¼ö ÀÖ´Ù. (µðÆúÆ® ÆÄÀÏÀº /etc/environment)ÀÌ´Ù.) envfile ÀÎÀÚ¸¦ »ç¿ëÇØ ÀÐÀ» ÆÄÀÏÀ» ¹Ù²Ü ¼öµµ ÀÖ°í, readenvÀÎÀÚ¸¦ 1À̳ª 0À¸·Î »ç¿ëÇØ ÀÌ ±â´ÉÀ» ÄѰųª(1) ²ø(0) ¼ö ÀÖ´Ù.

ÀÌ ¸ðµâÀÇ µ¿ÀÛÀº ´ÙÀ½ÀÇ ÀÎÀÚµé·Î Á¶Á¤ÇÒ ¼ö ÀÖ´Ù:

  • debug - syslog(3)¿¡ Á»´õ ¸¹Àº Á¤º¸¸¦ ±â·ÏÇϵµ·Ï ÇÑ´Ù.

  • conffile=filename - µðÆúÆ® ¼³Á¤ÆÄÀÏÀº /etc/security/pam_env.confÀε¥, ÀÌ ¿É¼ÇÀ» »ç¿ëÇØ ¼³Á¤ÆÄÀÏÀ» ¹Ù²Ü ¼ö ÀÖ´Ù. full path¸¦ ½á¾ßÇÑ´Ù.

  • envfile=filename - µðÆúÆ® ÆÄÀÏ /etc/environment´Â KEY=VALÇüÅÂÀÇ º¯¼ö¸¦ ¹Ù·Î ·ÎµåÇϴµ¥ »ç¿ëµÈ´Ù. ÀÌ ¿É¼ÇÀº µðÆúÆ® ÆÄÀÏÀ» ¹Ù²Ü ¼ö ÀÖ´Ù. full path¸¦ ½á¾ß ÇÑ´Ù.

  • readenv=0/1 - envfileÀ» Àоîµå¸®´Â °ÍÀ» ÄѰųª ²ö´Ù.(0Àº ²ô±â, 1Àº Äѱâ). µðÆúÆ®´Â 1ÀÌ´Ù.

¿¹Á¦/ÃßõÇÏ´Â »ç¿ë¹ý:

pam_env.conf¿¡ ´õ ¸¹Àº Á¤º¸¿Í ¿¹°¡ ÀÖ´Ù.


6.6. The filter module

6.6.1. °³¿ä

¸ðµâ À̸§:

pam_filter

ÀúÀÚ:

Andrew G. Morgan <morgan@parc.power.net>

À¯Áöº¸¼ö:

ÀúÀÚ

Á¦°øµÇ´Â °ü¸® ±×·ì:

account; authentication; password; session

¾ÏÈ£ÇÐÀû ¹Î°¨¼º:

¾ÆÁ÷ ¾øÀ½.

º¸¾È µî±Þ:

ÄÄÆÄÀϽà ¸Þ½ÃÁö:

¸®´ª½º ±â¹Ý ½Ã½ºÅÛ¿¡¼­´Â ¿¡·¯¸Þ½ÃÁö ¾øÀÌ ±ú²ýÇÏ°Ô ºôµåµÊ.

½Ã½ºÅÛ ÀÇÁ¸¼º:

ÀÛµ¿Çϱâ À§Çؼ­ ½Ã½ºÅÛ¿¡ filter°¡ ¼³Ä¡µÇ¾î ÀÖ¾î¾ß ÇÔ.

³×Æ®¿öÅ© ÀνÄ:


6.6.2. ¸ðµâÀÇ Àü¹ÝÀûÀÎ ¼³¸í

ÀÌ ¸ðµâÀº ttysnoop(XXX - ·¹ÆÛ·±½º ÇÊ¿ä)°ú °°Àº ÇÁ·Î±×·¥ÀÇ ´ë¾ÈÀ¸·Î Ç÷¯±×ÀÎÀ» Á¦°øÇϱâ À§ÇØ ÀÛ¼ºµÇ¾ú´Ù. ÀÌ ±â´ÉÀ» ¼öÇàÇÏ´Â ÇÊÅͰ¡ ¾ÆÁ÷ ÀÛ¼ºµÇÁö ¾Ê¾Ò±â ¶§¹®¿¡ ÇöÀç·Î¼­´Â ´ÜÁö Àå³­°¨¿¡ ºÒ°úÇÏ´Ù. ¸ðµâ°ú ÇÔ²² Á¦°øµÇ´Â À¯ÀÏÇÑ ÇÊÅÍ´Â °£´ÜÇÏ°Ô ÀÔÃâ·Â ½ºÆ®¸²¿¡¼­ ´ë¹®ÀÚ¿Í ¼Ò¹®ÀÚ°£¿¡ º¯È¯ÇÏ´Â ±â´ÉÀ» ÇÑ´Ù.(ÀÌ ÀÏÀº termcap¿¡ ±Ù°£À» µÐ ¿¡µðÅ͵鿡¼­ ´Â ¸Å¿ì ±ÍÂúÀº ÀÏÀÌ µÉ ¼ö ÀÖ´Ù.)


6.6.3. °èÁ¤°ü¸® + ÀÎÁõ°ü¸® + ÆÐ½º¿öµå°ü¸® + ¼¼¼Ç°ü¸® ±¸¼º¿ä¼Ò

ÀνÄÇÏ´Â ÀÎÀÚµé:

debug; new_term; non_term; runX

¼³¸í:

¸ðµâÀÇ °¢ ¿ä¼Ò´Â ¿øÇÏ´Â ÇÊÅ͸¦ È£ÃâÇÏ´Â ÀáÀçÀû ±â´ÉÀ» °¡Áø´Ù. ÇÊÅÍ´Â Ç×»ó »ç¿ëÀÚÀÇ ±ÇÇÑÀÌ ¾Æ´Ñ È£ÃâÇÏ´Â ÀÀ¿ëÇÁ·Î±×·¥ÀÇ ±ÇÇÑÀ» °¡Áø execv(2)·Î È£ÃâµÈ´Ù. ÀÌ ¶§¹®¿¡ ¼¼¼ÇÀ» ´ÝÀ» ¶§¸¦ Á¦¿ÜÇÏ¸é º¸Åë »ç¿ëÀÚ°¡ ÇÊÅ͸¦ killÇÒ ¼ö ¾ø´Ù.

Linux-PAM ȯ°æÆÄÀÏ¿¡¼­ Àü´ÞµÇ´Â ÀÎÀÚ¿¡ ÀÇÇØ ¸ðµâÀÇ ÇൿÀº ´ë´ÜÈ÷ ¹Ù²ð ¼ö ÀÖ´Ù.

  • debug - ÀÌ ¿É¼ÇÀº ¸ðµâÀÌ ½ÇÇàµÉ ¶§ syslog(3)¿¡ ±â·ÏµÇ´Â Á¤º¸ÀÇ ¾çÀ» ´Ã¸°´Ù.

  • new_term - ÇÊÅÍÀÇ ±âº»µ¿ÀÛÀº ÀÀ¿ëÇÁ·Î±×·¥¿¡ ¿¬°áÇϱâ À§ÇØ »ç¿ëÇϰí ÀÖ´Â Å͹̳ÎÀ» ³ªÅ¸³»´Â PAM_TTY ¾ÆÀÌÅÛÀ» ¼³Á¤ÇÏ´Â °ÍÀÌ´Ù. ÀÌ ¸Å°³º¯¼ö´Â ÇÊÅÍµÈ °¡»ó Å͹̳ηΠPAM_TTY¸¦ ¼³Á¤Çϵµ·Ï ÇÑ´Ù.

  • non_term - PAM_TTY ¾ÆÀÌÅÛÀ» ¼³Á¤ÇÏ·Á°í ½ÃµµÇÏÁö ¾Ê´Â´Ù.

  • runX - ¸ðµâÀÌ ÇÊÅ͸¦ È£ÃâÇÒ ¼ö ÀÖµµ·Ï Çϱâ À§ÇØ ¸ðµâÀÌ ¾ðÁ¦ ÇÊÅ͸¦ È£Ãâ ÇÒ °ÍÀÎÁö¸¦ ¾Ë¾Æ¾ß¸¸ ÇÑ´Ù. ÀÌ ÀÎÀÚ´Â ÇÊÅͰ¡ ¾ðÁ¦ ÀÌÀÏÀ» ÇÏ´ÂÁö ¾Ë¸®´Âµ¥ ÇÊ¿äÇÏ´Ù. µÚµû¸£´Â ÀÎÀÚ´Â °¢°¢ ½ÇÇàµÇ´Â ÇÊÅÍÀÇ Àüü °æ·Î¸í°ú ÇÊÅͰ¡ ÀνÄÇÏ´Â ¸í·É ÀÎÀÚÀÌ´Ù.

    X¿¡ ÇØ´çÇÏ´Â °ªÀº 1°ú 2ÀÌ´Ù. ÀÌ´Â ÇÊÅͰ¡ ½ÇÇàµÇ´Â Á¤È®ÇÑ ½Ã°£À» ³ªÅ¸³½´Ù. ÀÌ °³³äÀ» ÀÌÇØÇϱâ À§Çؼ­ 'Linux-PAM ¸ðµâ °³¹ßÀÚ¸¦ À§ÇÑ °¡À̵å'¸¦ Àд °ÍÀÌ À¯¿ëÇÒ °ÍÀÌ´Ù. ±âº»ÀûÀ¸·Î °¢°¢ÀÇ °ü¸®±×·ì¿¡´Â ¸ðµâÇÔ¼ö¸¦ È£ÃâÇÏ´Â µÎ°¡Áö ¹æ½ÄÀÌ ÀÖ´Ù.

    ÀÎÁõ°ü¸®¿Í ¼¼¼Ç°ü¸®ÀÇ °æ¿ì¿¡´Â ½ÇÁúÀûÀ¸·Î ºÐ¸®µÈ µÎ°¡Áö ÇÔ¼ö°¡ ÀÖ´Ù. ÀÎÁõ°ü¸®ÀÇ °æ¿ì ÀÌ ÇÔ¼öµéÀº _authenticate¿Í _setcredÀÌ´Ù. -- ¿©±â¼­ run1Àº _authenticate ÇÔ¼ö·ÎºÎÅÍ ÇÊÅ͸¦ ½ÇÇàÇÑ´Ù´Â °ÍÀ» ÀǹÌÇϰí run2´Â _setcred ÇÔ¼ö·ÎºÎÅÍ ÇÊÅ͸¦ ½ÇÇàÇÑ´Ù´Â °ÍÀ» ÀǹÌÇÑ´Ù. ¼¼¼Ç°ü¸® ¸ðµâÀÇ °æ¿ì run1Àº ÇÊÅͰ¡ _open_session ´Ü°è¿¡¼­ È£ÃâµÇ°í, run2´Â _close_session´Ü°è¿¡¼­ È£ÃâµÊÀ» ³ªÅ¸³½´Ù.

    °èÁ¤°ü¸®ÀÇ °æ¿ì run1, run2 µÑ´Ù »ç¿ëÀÌ °¡´ÉÇÏ´Ù.

    ÆÐ½º¿öµå°ü¸®ÀÇ °æ¿ì run1Àº _chauthtok°¡ ½ÇÇàµÇ´Â(PAM_PRELIM_CHECK»óÅÂ) ù¹øÂ° °æ¿ì¿¡ ½ÇÇàµÇ´Â °ÍÀ» ³ªÅ¸³»´Âµ¥ »ç¿ëµÇ°í, run2´Â µÎ¹øÂ° °æ¿ì (PAM_UPDATE_AUTHTOK »óÅÂ)¿¡ ÇÊÅͰ¡ ½ÇÇàµÇ´Â °ÍÀ» ³ªÅ¸³»´Âµ¥ »ç¿ëµÈ´Ù.

¿¹Á¦/ÃßõÇÏ´Â »ç¿ë¹ý:

±ÛÀ» ¾²°í ÀÖ´Â ÇöÀç ÀÌ ¸ðµâÀ» ½ÇÁ¦·Î »ç¿ëÇØ º¼ ¸¸ÇÑ °÷ÀÌ º°·Î ¾ø´Ù. Àç¹Ì»ï¾Æ ´ÙÀ½ÇàµéÀ» login ȯ°æÆÄÀÏ¿¡ Ãß°¡Çغ¼ ¼öµµ ÀÖ´Ù.

#
# »ç¿ëÀÚ°¡ ·Î±×ÀÎ ÇÑ ÈÄ ´ë¼Ò¹®ÀÚ¸¦ ¹Ù²Ùµµ·Ï ·Î±×ÀÎÀ» ¼³Á¤ÇÑ ¿¹
#
login   session  required       pam_filter.so \
	                        run1 /usr/sbin/pam_filter/upperLOWER

6.7. Anonymous access module

6.7.1. °³¿ä

¸ðµâ À̸§:

pam_ftp

ÀúÀÚ:

Andrew G. Morgan <morgan@parc.power.net>

À¯Áöº¸¼ö:

ÀúÀÚ

Á¦°øµÇ´Â °ü¸® ±×·ì:

authentication

¾ÏÈ£ÇÐÀû ¹Î°¨¼º:

º¸¾È µî±Þ:

ÄÄÆÄÀϽà ¸Þ½ÃÁö:

½Ã½ºÅÛ ÀÇÁ¸¼º:

³×Æ®¿öÅ© ÀνÄ:

»ç¿ëÀÚÀÇ À̸ÞÀÏ ÁÖ¼Ò¸¦ ÀԷ¹ÞÀ½, ½±°Ô ¼ÓÀÏ ¼ö ÀÖÀ½(XXX - º¸¿Ï ÀÛ¾÷ÀÌ ÇÊ¿äÇÔ)


6.7.2. ¸ðµâÀÇ Àü¹ÝÀûÀÎ ¼³¸í

ÀÌ ¸ðµâÀÇ ¸ñÀûÀº ½±°Ô »ðÀÔ°¡´ÉÇÑ À͸í ftp¸ðµå Á¢¼ÓÀ» Á¦°øÇÏ´Â °ÍÀÌ´Ù.


6.7.3. ÀÎÁõ°ü¸® ±¸¼º¿ä¼Ò

ÀνÄÇÏ´Â ÀÎÀÚµé:

debug; users=XXX,YYY,...;ignore

¼³¸í:

ÀÌ ¸ðµâÀº »ç¿ëÀÚÀ̸§°ú ºñ¹Ð¹øÈ£¸¦ °¡·Îæ´Ù. ¸¸ÀÏ À̸§ÀÌ "ftp"³ª "anonymous" À̸é, »ç¿ëÀÚÀÇ ºñ¹Ð¹øÈ£´Â '@' ±¸ºÐÀÚ·Î ºÐ¸®µÇ¾î PAM_RUSER¿Í PAM_RHOSTºÎºÐ¿¡ ¼³Á¤µÈ´Ù. À̵é pam-Ç׸ñµéÀº °¢°¢¿¡ ÇØ´çÇÏ´Â °ªÀ¸·Î ¼³Á¤µÈ´Ù. »ç¿ëÀÚÀ̸§Àº "ftp"·Î ¼³Á¤µÈ´Ù. À̰æ¿ì¿¡´Â ¸ðµâÀÌ ¼º°øÀ¸·Î ó¸®ÇÏ°í ´Ù¸¥°æ¿ì¿¡´Â ¸ðµâÀÌ ÀÔ·ÂµÈ ºñ¹Ð¹øÈ£·Î PAM_AUTHTOK ¾ÆÀÌÅÛÀ» ¼³Á¤ÇÏ°í ½ÇÆÐ·Î Ã³¸®ÇÑ´Ù.

´ÙÀ½ÀÇ Ç÷¡±×¿¡ ÀÇÇØ ¸ðµâÀÇ µ¿ÀÛÀ» °íÄ¥ ¼ö ÀÖ´Ù.

  • debug - syslog(3)·Î ´õ ¸¹Àº Á¤º¸¸¦ ±â·ÏÇÑ´Ù.

  • users=XXX,YYY,... - "ftp"³ª "anonymouse"´ë½Å "XXX,YYY,..."°ú °°ÀÌ ½°Ç¥·Î ºÐ¸®µÈ »ç¿ëÀÚ¸ñ·Ï¿¡ ÀÇÇØ ÀÍ¸í ·Î±×ÀÎÀ» Á¦°øÇÑ´Ù. ¸¸¾à »ç¿ëÀÚ°¡ ÀÌ Áß ÇϳªÀÇ À̸§À» ÀÔ·ÂÇß´Ù¸é »ç¿ëÀÚ¸íÀº ±× ¸ñ·ÏÀÇ Ã¹¹øÂ°¿¡ ³ª¿À´Â "XXX"·Î ¼³Á¤µÈ´Ù.

  • ignore - »ç¿ëÀÚÀÇ À̸ÞÀÏ ÁÖ¼Ò(ÀԷµǾú´Ù¸é)¸¦ ¹«½ÃÇÑ´Ù.

¿¹Á¦/ÃßõÇÏ´Â »ç¿ë¹ý:

ÀÌ ¸ðµâ »ç¿ëÀÇ ¿¹Á¦´Â ȯ°æ¼³Á¤ ÆÄÀÏ ºÎºÐ(4. Linux-PAM ¼³Á¤ ÆÄÀÏ)¿¡ ÀÖ´Ù. ÀÌ ¸ðµâÀº »õ·Î¿î/ÀÓ½ÃÀûÀÎ À͸í·Î±×ÀÎ °èÁ¤À» Á¦°øÇϴµ¥ »ç¿ëµÉ¼ö ÀÖ´Ù´Â °ÍÀ» Á¶½ÉÇϱ⠹ٶõ´Ù.


6.8. The group access module

6.8.1. °³¿ä

¸ðµâ À̸§:

pam_group

ÀúÀÚ:

Andrew G. Morgan <morgan@parc.power.net>

À¯Áöº¸¼ö:

ÀúÀÚ

Á¦°øµÇ´Â °ü¸® ±×·ì:

authentication

¾ÏÈ£ÇÐÀû ¹Î°¨¼º:

º¸¾È µî±Þ:

»ç¿ëÀÚ°¡ Á¢±Ù °¡´ÉÇÑ ÆÄÀϽýºÅÛÀÇ setgid »óÅ¿¡ ¹Î°¨ÇÏ´Ù.

ÄÄÆÄÀϽà ¸Þ½ÃÁö:

½Ã½ºÅÛ ÀÇÁ¸¼º:

/etc/security/group.confÆÄÀÏÀÌ ÇÊ¿äÇÏ´Ù. libpwdb°¡ Àְųª ¾ø°Å³ª ÄÄÆÄÀÏ °¡´ÉÇÏ´Ù.

³×Æ®¿öÅ© ÀνÄ:

¿Ã¹Ù¸£°Ô ¼³Á¤µÈ PAM_TTY Ç׸ñÀ» ÅëÇØ¼­¸¸ ÀνÄÇÔ


6.8.2. ¸ðµâÀÇ Àü¹ÝÀûÀÎ ¼³¸í

ÀÌ ¸ðµâÀº ÁÖ¾îÁø ¼­ºñ½º¸¦ ¿ä±¸Çϰí ÀÖ´Â »ç¿ëÀÚ¸í°ú Å͹̳ο¡ ±â¹ÝÇÑ ±×·ì¼¼ÆÃÀ» Á¦°øÇÑ´Ù. ÀÌ´Â time of dayÀÇ ±â·ÏÀ» °®´Â´Ù.


6.8.3. ÀÎÁõ°ü¸® ±¸¼º¿ä¼Ò

ÀνÄÇÏ´Â ÀÎÀÚµé:

¼³¸í:

ÀÌ ¸ðµâÀº »ç¿ëÀÚ¸¦ ÀÎÁõÇÏÁö´Â ¾Ê´Â ´ë½Å ÀÎÁõ¸ðµâÀÇ º¸Áõ¼­(credential) ¼³Á¤»óÅ¿¡ µû¶ó »ç¿ëÀÚ¿¡°Ô ±×·ì ¸â¹ö½±À» ºÎ¿©ÇÑ´Ù. ¸â¹ö½±Àº »ç¿ëÀÚ°¡ ¿ä±¸ÇÏ´Â ¼­ºñ½º¿¡ ±â¹ÝÇÑ´Ù. ±×·ì ¸â¹ö½±Àº /etc/security/group.conf ÆÄÀÏ¿¡ ÅØ½ºÆ® ÇüÅ·Π³ª¿­µÇ¾î ÀÖ´Ù.

¿¹Á¦/ÃßõÇÏ´Â »ç¿ë¹ý:

ÀÌ ¸ðµâÀÌ ¿Ã¹Ù¸£°Ô µ¿ÀÛÇϱâ À§Çؼ­´Â ¿Ã¹Ù¸£°Ô ¼³Á¤µÈ /etc/security/groups.conf ÆÄÀÏÀÌ Á¸ÀçÇØ¾ß ÇÑ´Ù. ÀÌ ÆÄÀÏÀÇ Æ÷¸ËÀº ´ÙÀ½°ú °°´Ù. ±×·ì ¸â¹ö½±Àº ¼³Á¤ÆÄÀÏ ÇàÀÇ Á¶ÇÕÀ» ¸¸Á·ÇÏ´Â ¼­ºñ½º ÀÀ¿ëÇÁ·Î±×·¥¿¡ ±â¹ÝÇÏ¿© ºÎ¿©µÈ´Ù. °¢ ÁÙ('#'À¸·Î ½ÃÀÛÇÏ´Â ÁÖ¼®¹®À» Á¦¿Ü)Àº ´ÙÀ½°ú °°Àº ¹®¹ýÀ» °®´Â´Ù.

services	;	ttys	;	users	;	times	;	groups

óÀ½ ³×°³ÀÇ Çʵå´Â pam_time ¼³Á¤ÆÄÀÏ(/etc/security/pam_time.conf)ÀÇ ¹®¹ý°ú °°´Ù. ¸¶Áö¸· ÇʵåÀÎ groups´Â ½°Ç¥(ȤÀº ºóÄ­)·Î ±¸ºÐµÈ ±×·ì ¼±ÅÃÀÇ ÅØ½ºÆ® À̸§ ¸ñ·ÏÀÌ´Ù. ¸¸ÀÏ ¼­ºñ½º¿¡ ´ëÇÑ »ç¿ëÀÚ ÀÀ¿ëÇÁ·Î±×·¥ÀÌ Ã³À½ ³×°³ÀÇ Çʵ带 ¸¸Á·ÇÑ´Ù¸é »ç¿ëÀÚ´Â ¸ñ·Ï¿¡ ³ª¿­µÈ ±×·ìÀÇ ¸â¹ö½±À» ºÎ¿©¹Þ´Â´Ù. ¾Õ¿¡¼­ ¾ð±ÞÇÑ¹Ù¿Í °°ÀÌ ÀÌ ¸ðµâÀÇ À¯¿ë¼ºÀº »ç¿ëÀÚ°¡ Á¢±Ù°¡´ÉÇÑ ÆÄÀϽýºÅÛ¿¡ ´Þ·ÁÀÖ´Ù. ±×·ìÀÇ ¸â¹ö½±À» ºÎ¿©¹ÞÀº ½ÃÁ¡¿¡¼­ »ç¿ëÀÚ´Â Á¦ÇÑµÈ ±×·ìÀÇ ¼ÒÀ¯±ÇÀ» °¡Áø setgid ¹ÙÀ̳ʸ®¸¦ ¸¸µé·Á°í ½ÃµµÇÒ ¼öµµ ÀÖ´Ù. ÈÄ¿¡ »ç¿ëÀÚ°¡ ÀÌ ±×·ì¿¡ ´ëÇÑ ¸â¹ö½±À» ºÎ¿©¹ÞÁö ¸øÇßÀ» ¶§ ±×µéÀº ¹Ì¸® ÄÄÆÄÀÏ µÈ ¹ÙÀ̳ʸ®¸¦ ÀÌ¿ëÇØ ±×·ì ¸â¹ö½±À» º¹¿øÇÏ·Á°í ÇÒ ¼ö ÀÖ´Ù. »ç¿ëÀÚ°¡ Á¢±Ù °¡´ÉÇÑ ÆÄÀÏ ½Ã½ºÅÛÀÌ ¸Å¿ì Áß¿äÇÑ ÀÌÀ¯´Â ½Ã½ºÅÛÀÌ nosuid·Î ¸¶¿îÆ® µÇ¾úÀ» ¶§ »ç¿ëÀÚ´Â ±×·± ¹ÙÀ̳ʸ® ÆÄÀÏÀ» ¸¸µé°Å³ª »ý¼ºÇÒ ¼ö ¾ø´Ù´Â °ÍÀÌ´Ù. ÀÌ ¸ðµâÀÌ º¸¾È ±â´ÉÀ» Á¦°øÇÏ±æ ¹Ù¶õ´Ù¸é »ç¿ëÀÚ°¡ ¾²±â±ÇÇÑÀ» °®´Â ¸ðµç ÆÄÀÏ ½Ã½ºÅÛÀº nosuid·Î ¸¶¿îÆ® ½ÃÄÑ¾ß ÇÑ´Ù.

pam_group ¸ðµâÀº /etc/group ÆÄÀϰú ÇÔ²² µ¿ÀÛÇÑ´Ù. »ç¿ëÀÚ°¡ ÀÌ ¸ðµâÀÇ µ¿ÀÛ¹æ½Ä¿¡ ±â¹ÝÇÏ¿© ¾î¶² ±×·ìÀ» ºÎ¿©¹ÞÀ¸¸é ±×µéÀº /etc/group ÆÄÀÏÀÇ ³»¿ë (¶Ç´Â µ¿µîÇÑ ³»¿ëÀÇ ´Ù¸¥ ÆÄÀÏ)¿¡ µ¡ºÙ¿© Ãß°¡·Î ±×·ìÀÇ ±ÇÇÑÀ» ºÎ¿©¹Þ´Â´Ù.


6.9. Add issue file to user prompt

6.9.1. °³¿ä

¸ðµâ À̸§:

pam_issue

ÀúÀÚ:

Ben Collins <bcollins@debian.org>

À¯Áöº¸¼ö:

ÀúÀÚ

Á¦°øµÇ´Â °ü¸® ±×·ì:

Authentication(pam_sm_authenticate)

¾ÏÈ£ÇÐÀû ¹Î°¨¼º:

º¸¾È µî±Þ:

ÄÄÆÄÀϽà ¸Þ½ÃÁö:

½Ã½ºÅÛ ÀÇÁ¸¼º:

³×Æ®¿öÅ© ÀνÄ:


6.9.2. ¸ðµâÀÇ Àü¹ÝÀûÀÎ ¼³¸í

ÀÌ ¸ðµâÀº »ç¿ëÀÚ¸íÀ» ÀԷ´ë±âÇϰí ÀÖÀ» ¶§ issue ÆÄÀÏ(±âº»ÀûÀ¸·Î /etc/issue ÆÄÀÏ)À» ¾Õ¿¡ Ãâ·ÂÇÑ´Ù.


6.9.3. ÀÎÁõ°ü¸® ±¸¼º¿ä¼Ò

ÀνÄÇÏ´Â ÀÎÀÚµé:

issue=issue-file-name; noesc;

¼³¸í:

ÀÌ ¸ðµâÀº »ç¿ëÀÚ¸íÀ» ÀԷ´ë±âÇϰí ÀÖÀ» ¶§ issueÆÄÀÏÀ» ¾Õ¿¡ Ãâ·ÂÇÑ´Ù. ¶ÇÇÑ ±âº»ÀûÀ¸·Î issue ÆÄÀÏ¿¡ ÀÖ´Â À̽ºÄÉÀÌÇÁ ÄÚµå(escape code)¸¦ ÆÄ½ÌÇÑ´Ù. ÀÌ À̽ºÄÉÀÌÇÁ ÄÚµå´Â ÀϹÝÀûÀÎ gettyÀÇ °Í(\x ÇüÅ·Π»ç¿ë)°ú ºñ½ÁÇÏ´Ù.

ÀνÄÇÏ´Â Å»ÃâÄÚµå

  • d - ÇöÀç ½Ã°£

  • s - ¿î¿µÃ¼Á¦ À̸§

  • l - ÇöÀç tty À̸§

  • m - ½Ã½ºÅÛ ¾ÆÅ°ÅØÃÄ(i386, sparc, powerpc, ...)

  • n - ½Ã½ºÅÛÀÇ È£½ºÆ®¸í

  • o - ½Ã½ºÅÛÀÇ µµ¸ÞÀθí

  • r - ¿î¿µÃ¼Á¦ ¸±¸®Áî ¹øÈ£(¿¹. 2.2.12)

  • t - ÇöÀç ½Ã°£

  • u - ÇöÀç ·Î±×ÀÎÇÑ »ç¿ëÀÚ ¼ýÀÚ

  • U - "user"³ª "users"°¡ µÚ¿¡ ºÙ´Â °ÍÀ» Á¦¿ÜÇϰí´Â u¿Í °°´Ù.(¿¹. "1 user" or "10 users")

  • v - ¿î¿µÃ¼Á¦ÀÇ ¹öÀü/ºôµå ³¯Â¥(¿¹. "#3 Mon Aug 23 14:38:16 EDT 1999" on Linux)

ÀÌ ¸ðµâÀÇ µ¿ÀÛÀº ´ÙÀ½°ú °°Àº Ç÷¡±×¿¡ ÀÇÇØ º¯°æµÉ ¼ö ÀÖ´Ù.

  • issue - ±âº» ÆÄÀÏÀ» »ç¿ëÇÏÁö ¾ÊÀ¸¸é ÀÌ ÆÄÀÏÀ» Ãâ·ÂÇÑ´Ù.

  • noesc - À̽ºÄÉÀÌÇÁ ÄÚµå ÆÄ½ÌÀ» ÇÏÁö ¾Ê´Â´Ù.

¿¹Á¦/ÃßõÇÏ´Â »ç¿ë¹ý:

login auth pam_issue.so issue=/etc/issue


6.10. The Kerberos 4 module

6.10.1. °³¿ä

¸ðµâ À̸§:

pam_kbr4

ÀúÀÚ:

Derrick J. Brashear <shadow@dementia.org>

À¯Áöº¸¼ö:

ÀúÀÚ

Á¦°øµÇ´Â °ü¸® ±×·ì:

authentication; password; session

¾ÏÈ£ÇÐÀû ¹Î°¨¼º:

API¸¦ »ç¿ëÇÔ

º¸¾È µî±Þ:

ÄÄÆÄÀϽà ¸Þ½ÃÁö:

½Ã½ºÅÛ ÀÇÁ¸¼º:

¶óÀ̺귯¸® - libkrb, libdes, libcom_err, libkadm; ÀÏ·ÃÀÇ Kerberos include ÆÄÀϵé

³×Æ®¿öÅ© ÀνÄ:

³×Æ®¿öÅ©¸¦ ÅëÇØ Á¢¼ÓÇÑ Kerberos Ű ¹èÆ÷ ¼¾ÅͷκÎÅÍ Kerberos ƼÄÏÀ» Áִ ƼÄÏÀ» ¹Þ´Â´Ù.


6.10.2. ¸ðµâÀÇ Àü¹ÝÀûÀÎ ¼³¸í

ÀÌ ¸ðµâÀº »ç¿ëÀÚ ºñ¹Ð¹øÈ£ÀÇ Kerberos °ËÁõÀ» Çϰí, Kerberos ƼÄÏ¹ß±Þ ¼­ºñ½º¸¦ ¹Þ±â À§Çؼ­ Kerberos ƼÄÏÀ» Áִ ƼÄÏÀ» ¹Þ°í, ·Î±×¾Æ¿ôÇÒ ¶§ »ç¿ëÀÚÀÇ Æ¼ÄÏÀ» ÆÄ±«Çϰí, Kerberos ºñ¹Ð¹øÈ£¸¦ º¯°æÇÏ´Â ÀÎÅÍÆäÀ̽º¸¦ Á¦°øÇÑ´Ù.


6.10.3. ¼¼¼Ç°ü¸® ±¸¼º¿ä¼Ò

ÀνÄÇÏ´Â ÀÎÀÚµé:

¼³¸í:

¸ðµâÀÇ ÀÌ ±¸¼º¿ä¼Ò´Â »ç¿ëÀÚÀÇ KRBTKFILE ȯ°æº¯¼ö¸¦ ¼³Á¤ÇÒ »Ó ¾Æ´Ï¶ó (ÇöÀç·Î¼­´Â ÀÌ º¯¼ö¸¦ exportÇÏ´Â ¹æ¹ýÀº ¾ø´Ù) ·Î±×¾Æ¿ô½Ã¿¡ (login¿¡ ÀÇÇØ PAM_CRED_DELETE°¡ À¯ÁöµÉ ¶§±îÁö)»ç¿ëÀÚÀÇ Æ¼ÄÏÀ» »èÁ¦ÇÑ´Ù.

¿¹Á¦/ÃßõÇÏ´Â »ç¿ë¹ý:

¿ì¸®°¡ Linux-PAM ¸ðµâ ³»ºÎ·ÎºÎÅÍ È¯°æ¼³Á¤(environment)À» º¯°æÇÒ ¼ö ÀÖÀ» ¶§±îÁö ¸ðµâÀÇ ÀÌ ±¸¼º¿ä¼Ò´Â ±×¸® À¯¿ëÇÏÁö ¸øÇÒ °ÍÀÌ´Ù.


6.10.4. ÆÐ½º¿öµå°ü¸® ±¸¼º¿ä¼Ò

ÀνÄÇÏ´Â ÀÎÀÚµé:

use_first_pass; try_first_pass

¼³¸í:

¸ðµâÀÇ ÀÌ ±¸¼º¿ä¼Ò´Â ¸ÕÀú »ç¿ëÀÚÀÇ ¿¾³¯ ÆÐ½º¿öµå¸¦ ¹Þ¾Æ ÆÐ½º¿öµå º¯°æ ¼­ºñ½ºÀÇ ¼¼¼Ç۸¦ ¹Þ´Âµ¥ »ç¿ëÇÏ°í ´ÙÀ½¿¡ »õ ÆÐ½º¿öµå¸¦ ±× ¼­ºñ½º¿¡ º¸³»¼­ »ç¿ëÀÚÀÇ Kerberos ÆÐ½º¿öµå¸¦ º¯°æÇÑ´Ù.

¿¹Á¦/ÃßõÇÏ´Â »ç¿ë¹ý:

À̰ÍÀº real Kerberos v4ÀÇ kadmindÇÏ°í¸¸ »ç¿ëÇØ¾ß ÇÑ´Ù. Ưº°ÇÑ ºÎºÐÀÌ ¸¸µé¾îÁöÁö ¾ÊÀ¸¸é AFS kaserver¿Í ÇÔ²² »ç¿ëÇÒ ¼ö ¾ø´Ù. ´õ ¸¹Àº Á¤º¸¸¦ À§Çؼ­´Â ¸ðµâ ÀÛ¼ºÀÚ¿¡°Ô ¹®ÀÇÇϱ⠹ٶõ´Ù.


6.10.5. ÀÎÁõ°ü¸® ±¸¼º¿ä¼Ò

ÀνÄÇÏ´Â ÀÎÀÚµé:

use_first_pass: try_first_pass

¼³¸í:

¸ðµâÀÇ ÀÌ ±¸¼º¿ä¼Ò´Â Kerberos ¼­¹ö¿¡ ƼÄÏ¹ß±Þ Æ¼ÄÏÀ» ¿äûÇϰųª ¼±ÅÃÀûÀ¸·Î ·ÎÄÃÄÄÇ»ÅÍÀÇ È£½ºÆ®Å°¸¦ ¾ò°í ¸¸¾à ·ÎÄÃÄÄÇ»ÅÍ¿¡ Ű ÆÄÀÏÀÌ Á¸ÀçÇÑ´Ù¸é ±×°ÍÀ» °Ë»çÇÔÀ¸·Î½á »ç¿ëÀÚÀÇ Kerberos ÆÐ½º¿öµå¸¦ °Ë»çÇÑ´Ù.

À̰ÍÀº ¶ÇÇÑ »ç¿ëÀÚ°¡ ³ªÁß¿¡ »ç¿ëÇÒ Æ¼ÄÏÆÄÀÏÀ» ¾²°í, ·Î±×¾Æ¿ôÀ» ÇÒ ¶§ ƼÄÏÆÄÀÏÀ» »èÁ¦ÇÑ´Ù. (login¿¡¼­ PAM_CRED_DELETE°¡ ºÒ¸±¶§±îÁø »èÁ¦ÇÏÁö ¾Ê´Â´Ù)

¿¹Á¦/ÃßõÇÏ´Â »ç¿ë¹ý:

ÀÌ ¸ðµâÀº MIT v4 Kerberos ۸¦ »ç¿ëÇÏ´Â real Kerberos¼­¹ö¿Í ÇÔ²² »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¸ðµâÀ̳ª ½Ã½ºÅÛ Kerberos ¶óÀ̺귯¸®´Â AFS ¹æ½ÄÀÇ Kerberos۸¦ Áö¿øÇϵµ·Ï ¼öÁ¤ÇÒ ¼ö ÀÖ´Ù. ÇöÀç·Î¼­´Â ¾ÏÈ£ÇÐÀû Á¦ÇÑÀ» ÇÇÇϱâ À§ÇØ À̰ÍÀ» Áö¿øÇÏÁö ¾Ê°í ÀÖ´Ù.


6.11. The last login module

6.11.1. °³¿ä

¸ðµâ À̸§:

pam_lastlog

ÀúÀÚ:

Andrew G. Morgan <morgan@kernel.org>

À¯Áöº¸¼ö:

ÀúÀÚ

Á¦°øµÇ´Â °ü¸® ±×·ì:

auth

¾ÏÈ£ÇÐÀû ¹Î°¨¼º:

API¸¦ »ç¿ëÇÔ

º¸¾È µî±Þ:

ÄÄÆÄÀϽà ¸Þ½ÃÁö:

½Ã½ºÅÛ ÀÇÁ¸¼º:

/var/log/lastlogÆÄÀÏ¿¡ ÀÖ´Â ³»¿ëÀ» »ç¿ëÇÑ´Ù.

³×Æ®¿öÅ© ÀνÄ:


6.11.2. ¸ðµâÀÇ Àü¹ÝÀûÀÎ ¼³¸í

ÀÌ session ¸ðµâÀº /var/log/lastlog ÆÄÀÏÀ» °ü¸®ÇÑ´Ù. pam_open_session()ÇÔ¼ö¸¦ ÅëÇØ È£ÃâµÉ ¶§ Á¢¼Ó ¿­¸² ±â·ÏÀ» Ãß°¡Çϰí pam_close_session()ÀÌ È£ÃâµÉ ¶§ ±×°ÍÀ» ¿Ï¼ºÇÑ´Ù. ÀÌ ¸ðµâÀº »ç¿ëÀÚÀÇ ¸¶Áö¸· ·Î±×Àο¡ °üÇÑ Á¤º¸¸¦ ÇÑÁٷΠǥ½ÃÇÒ ¼ö ÀÖ´Ù. ¸¸ÀÏ ÀÀ¿ëÇÁ·Î±×·¥ÀÌ ÀÌ¹Ì ÀÌ·¯ÇÑ ÀÛ¾÷À» ¼öÇàÁßÀ̶ó¸é ÀÌ ¸ðµâÀ» »ç¿ëÇÒ ÇÊ¿ä´Â ¾ø´Ù.


6.11.3. ¼¼¼Ç°ü¸® ±¸¼º¿ä¼Ò

ÀνÄÇÏ´Â ÀÎÀÚµé:

debug; nodate; noterm; nohost; silent; never

¼³¸í:

PAM ¶óÀ̺귯¸®¸¦ »ç¿ëÇÏ´Â ¾î¶² ÇÁ·Î±×·¥À» »ç¿ëÇÏ´øÁö »ç¿ëÀÚ°¡ ½Ã½ºÅÛ¿¡ ·Î±×ÀÎÇÒ ¶§ "Last login on ..." ¸Þ½ÃÁö¸¦ Á¦°øÇϴµ¥ ÀÌ ¸ðµâÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù. Ãß°¡·Î ¸ðµâÀº /var/log/lastlog ÆÄÀÏÀ» °ü¸®ÇÑ´Ù.

ÀÌ ¸ðµâÀÇ µ¿ÀÛÀº ´ÙÀ½°ú °°Àº Ç÷¡±×¿¡ ÀÇÇØ Á¦¾îÇÒ ¼ö ÀÖ´Ù.

  • debug - syslog(3)¿¡ ´õ ¸¹Àº Á¤º¸¸¦ ±â·ÏÇÑ´Ù.

  • nodate - ½Ã½ºÅÛ¿¡ ¸¶Áö¸· ·Î±×ÀÎÇÑ Á¤º¸¸¦ Ãâ·ÂÇÒ ¶§ ³¯Â¥ Á¤º¸¸¦ »ý·«ÇÑ´Ù.

  • noterm - ¸¶Áö¸·À¸·Î ·Î±×ÀÎ ½ÃµµÇÑ Å͹̳ΠÀ̸§À» Ãâ·ÂÇÏ´Â °ÍÀ» »ý·«ÇÑ´Ù.

  • nohost - ¸¶Áö¸·À¸·Î ·Î±×ÀÎ ½ÃµµÇÑ È£½ºÆ®¸íÀ» ³ªÅ¸³»´Â °ÍÀ» »ý·«ÇÑ´Ù.

  • silent - »ç¿ëÀÚÀÇ ÀÌÀü ·Î±×Àο¡ ´ëÇÑ ¾î¶°ÇÑ Á¤º¸µµ Ãâ·ÂÇÏÁö ¾Ê´Â´Ù. ´ÜÁö /var/log/lastlog ÆÄÀÏ¿¡ ±â·ÏÇϱ⸸ ÇÑ´Ù.

  • never - ¸¸ÀÏ /var/log/lastlog ÆÄÀÏ¿¡ »ç¿ëÀÚÀÇ ¿¾³¯ Á¤º¸°¡ Á¸ÀçÇÏÁö ¾ÊÀ¸¸é »ç¿ëÀÚ´Â ÀÌÀü¿¡ ·Î±×ÀÎ ÇÏÁö ¾Ê¾Ò´Ù´Â °ÍÀ» ³ªÅ¸³»°í "welcome..."¾Æ¶ó´Â ¸Þ½ÃÁö¸¦ Ãâ·ÂÇÑ´Ù.

¿¹Á¦/ÃßõÇÏ´Â »ç¿ë¹ý:

ÀÌ ¸ðµâÀº ½Ã½ºÅÛ¿¡ ·Î±×ÀÎ ÇßÀ» ¶§ »õ·Î¿î ¸ÞÀÏÀÌ ÀÖ´Ù´Â °ÍÀ» ³ªÅ¸³»´Âµ¥ »ç¿ëµÉ ¼ö ÀÖ´Ù. ´ÙÀ½Àº /etc/pam.d/XXX ÆÄÀÏÀÇ ¿¹Á¦ÀÌ´Ù.

#
# ¿ì¸®°¡ ¾ðÁ¦ ¸¶Áö¸·À¸·Î ¿©±â ÀÖ¾ú´Â°¡?
#
session		optional	pam_lastlog.so

¸î¸î ÀÀ¿ëÇÁ·Î±×·¥Àº ÀÌ ±â´ÉÀ» ÀÚüÀûÀ¸·Î ¼öÇàÇÒ ¼öµµ ÀÖ´Ù. ±×·± °æ¿ì¿¡ ÀÌ ¸ðµâÀº ÇÊ¿äÇÏÁö ¾Ê´Ù.


6.12. The resource limits module

6.12.1. °³¿ä

¸ðµâ À̸§:

pam_limits

ÀúÀÚ:

Cristian Gafton <gafton@redhat.com> ÀÌ ¸ðµâÀÇ °³¼±À» À§ÇØ Á¶¾ðÇØÁØ Elliot Lee <sopwith@redhat.com>¿¡°Ô °¨»çÇÕ´Ï´Ù.

À¯Áöº¸¼ö:

Cristan Gafton - 1996/11/20

Á¦°øµÇ´Â °ü¸® ±×·ì:

session

¾ÏÈ£ÇÐÀû ¹Î°¨¼º:

º¸¾È µî±Þ:

ÄÄÆÄÀϽà ¸Þ½ÃÁö:

½Ã½ºÅÛ ÀÇÁ¸¼º:

/etc/security/limits.conf ÆÄÀÏÀÌ ÇÊ¿äÇϰí Ä¿³ÎÀÌ ¸®¼Ò½º Á¦ÇÑÀ» Áö¿øÇؾßÇÑ´Ù. ¶ÇÇÑ libpwdb ¶óÀ̺귯¸®¸¦ »ç¿ëÇÑ´Ù.

³×Æ®¿öÅ© ÀνÄ:


6.12.2. ¸ðµâÀÇ Àü¹ÝÀûÀÎ ¼³¸í

ÀÌ ¸ðµâÀº, Linux-PAM open-sessionÀ» °¡·Îä´Â °ÍÀ» ÅëÇØ user-session¿¡¼­ ¾òÀ» ¼ö ÀÖ´Â ½Ã½ºÅÛ ÀÚ¿øÀ» Á¦ÇÑÇÑ´Ù. ÀÌ µ¿ÀÛ¿¡ ´ëÇØ¼­´Â ¾Æ·¡¿¡¼­ ¾ê±âÇÒ ¼³Á¤ÆÄÀÏÀ» ÅëÇØ ´õ ÀÚ¼¼È÷ ¼³¸íÇÒ °ÍÀÌ´Ù.


6.12.3. ¼¼¼Ç°ü¸® ±¸¼º¿ä¼Ò

ÀνÄÇÏ´Â ÀÎÀÚµé:

debug; conf=/path/to/file.conf

¼³¸í:

/etc/security/limits.conf ¼³Á¤ÆÄÀÏÀÇ ³»¿ë¿¡ µû¶ó¼­ »ç¿ëÀÚ ¼¼¼Ç¿¡¼­ ÀÚ¿øÁ¦ÇÑÀÌ ¼³Á¤µÈ´Ù. uid=0ÀÎ »ç¿ëÀÚ´Â ÀÌ·¯ÇÑ Á¦ÇÑ¿¡ ¿µÇâÀ» ¹ÞÁö ¾Ê´Â´Ù.

ÀÌ ¸ðµâÀÇ µ¿ÀÛÀº ´ÙÀ½ÀÇ ¸Å°³º¯¼öµé¿¡ ÀÇÇØ Á¦¾îÇÒ ¼ö ÀÖ´Ù.

  • debug - syslog(3)ÀÇ ±â·ÏÀ» ÀÚ¼¼ÇÏ°Ô ÇÑ´Ù.

  • conf=/path/to/file.conf - µðÆúÆ® ÆÄÀÏÀÌ ¾Æ´Ñ Á¦ÇÑ ¼³Á¤ ³»¿ëÀ» °¡Áö´Â ´Ù¸¥ ÆÄÀÏÀÇ À§Ä¡¸¦ ³ªÅ¸³½´Ù.

  • change_uid - ½ÇÁ¦ uid¸¦ Á¦ÇÑ»çÇ×ÀÌ ¼³Á¤µÈ »ç¶÷À¸·Î º¯°æÇÑ´Ù. ÇÁ·Î¼¼½º°¡ ¾ø´Â »ç¿ëÀÚ°¡ login½Ã shellÀ» Æ÷Å©ÇÏÁö ¾Ê´Â °Í°ú °°Àº ¹®Á¦°¡ ÀÖÀ» ¶§ ÀÌ ¿É¼ÇÀ» »ç¿ëÇ϶ó. ÀÌ·¸°Ô ÇÏ¸é ´©±º°¡°¡ ħÀÔÇÒ ¼öµµ ÀÖÀ½À» ÁÖÀÇÇ϶ó.

¿¹Á¦/ÃßõÇÏ´Â »ç¿ë¹ý:

ÀÌ ¸ðµâÀ» »ç¿ëÇϱâ À§Çؼ­ ½Ã½ºÅÛ °ü¸®ÀÚ´Â ¸ÕÀú root¸¸ Àб⠰¡´ÉÇÑ ÆÄÀÏÀ» ¸¸µé¾î¾ß ÇÑ´Ù. (±âº»ÀûÀ¸·Î /etc/security/limits.confÀÌ´Ù) ÀÌ ÆÄÀÏÀº ¼öÆÛÀ¯Àú°¡ Á¦ÇÑÇÏ·Á°í ÇÏ´Â »ç¿ëÀÚ¿Í ±×·ìÀÇ ÀÚ¿øÁ¦ÇÑ »çÇ×À» °®°í ÀÖ´Ù. uid=0ÀÎ °èÁ¤Àº ¾î¶°ÇÑ Á¦Çѵµ ÇÒ ¼ö ¾ø´Ù.

¼³Á¤ÆÄÀÏÀÇ °¢ ÁÙÀº ´ÙÀ½°ú °°Àº Çü½ÄÀ¸·Î »ç¿ëÀÚº° Á¦ÇÑÀ» ³ªÅ¸³½´Ù.

<domain>  <type>  <item>  <value>

À§¿¡ ³ª¿­µÈ ÇʵåµéÀº ´ÙÀ½°ú °°Àº ³»¿ëÀ» °®´Â´Ù.

<domain>

  • »ç¿ëÀÚ¸í

  • @group ÇüÅÂÀÇ ±×·ì¸í

  • ±âº»¿£Æ®¸®¸¦ À§ÇÑ ¿ÍÀϵåÄ«µå *

<type>Àº ¼¼°¡Áö °ªÀ» °¡Áú ¼ö ÀÖ´Ù.

  • hard - hard ¸®¼Ò½º Á¦ÇÑÀ» ½Ç½ÃÇÑ´Ù. ÀÌ Á¦ÇÑÀº ¼öÆÛÀ¯Àú¿¡ ÀÇÇØ ¼³Á¤µÇ°í ¸®´ª½º Ä¿³Î¿¡ ÀÇÇØ ½Ç½ÃµÈ´Ù. »ç¿ëÀÚ´Â ÀÌ·± °ªÀ» °¡Áø ½Ã½ºÅÛ ÀÚ¿ø¿¡ ´ëÇÑ ¿ä±¸·®À» ¿Ã¸± ¼ö ¾ø´Ù.

  • soft - soft ¸®¼Ò½º Á¦ÇÑÀ» ½Ç½ÃÇÑ´Ù. ÀÌ·¯ÇÑ Á¦ÇÑÀº Á¸ÀçÇÏ´Â hardÁ¦ÇÑ ¹üÀ§³»¿¡¼­ »ç¿ëÀÚ°¡ ¿Ã¸®°Å³ª ³»¸± ¼ö ÀÖ´Â Á¦ÇÑÀÌ´Ù. ÀÌ ½Äº°ÀڷΠǥ½ÃµÈ °ªÀº ÀϹÝÀûÀÎ ½Ã½ºÅÛ »ç¿ë¹ýÀÇ ±âº»°ªÀ¸·Î °£ÁÖµÉ ¼ö ÀÖ´Ù.

  • - soft, hard ¸®¼Ò½º Á¦ÇÑÀ» µ¿½Ã¿¡ °É ¶§ »ç¿ëÇÑ´Ù.

<item> ´ÙÀ½ °ªµé Áß Çϳª°¡ µÉ ¼ö ÀÖ´Ù.

  • core - coreÆÄÀÏ Å©±â¸¦ Á¦ÇÑÇÑ´Ù.(KB)

  • data - ÃÖ´ë µ¥ÀÌŸ Å©±â(KB)

  • fsize - ÃÖ´ë ÆÄÀÏÅ©±â(KB)

  • memlock - ÃÖ´ë locked-in-memory ÁÖ¼Ò°ø°£(KB)

  • nofile - ÃÖ´ë ¿­¸° ÆÄÀÏ °³¼ö

  • rss - ÃÖ´ë resident set Å©±â(KB)

  • stack - ÃÖ´ë ½ºÅà ũ±â(KB)

  • cpu - ÃÖ´ë CPU time(MIN)

  • nproc - ÃÖ´ë ÇÁ·Î»õ½º °³¼ö

  • as - ÁÖ¼Ò°ø°£ Á¦ÇÑ

  • maxlogins - ÀÌ »ç¿ëÀÚ¸¦ À§ÇÑ ·Î±×ÀÎ ÃÖ´ë °³¼ö

  • priority - »ç¿ëÀÚ ÇÁ·Î¼¼½º°¡ ½ÇÇàµÇ´Â ¿ì¼±¼øÀ§

¸¸ÀÏ "-" ŸÀÔÀ» »ç¿ëÇϸ鼭 item°ú value°ªÀ» ÁÖÁö ¾ÊÀ¸¸é ¸ðµâÀº user/group ¸â¹ö µî¿¡ ÇØ´çÇÏ´Â ¾î¶² Á¦Çѵµ ½ÃÇàÇÏÁö ¾ÊÀ½À» ÁÖÀÇÇ϶ó. »ç¿ëÀÚ ÀÎÁõÀÌ Àû¿ëµÇ´Â ù¹øÂ° ¿£Æ®¸®´Â ¼³Á¤ÆÄÀÏÀÇ ´Ù¸¥ ¸ðµç Á¦ÇÑ »çÇ×ÀÇ ¿£Æ®¸®¿¡ ¿ì¼±ÇÑ´Ù´Â °ÍÀ» ÁÖÀÇÇ϶ó. ±×·± °æ¿ì¿¡ pam_limits´Â Ç×»ó PAM_SUCCESS¸¦ ¸®ÅÏÇÑ´Ù.

ÀϹÝÀûÀ¸·Î »ç¿ëÀÚº° Á¦ÇÑÀº ±×·ìÀÇ Á¦ÇÑ¿¡ ¿ì¼±ÇÑ´Ù. ±×·¡¼­ ¸¸ÀÏ admin ±×·ì¿¡ ¾Æ¹« Á¦ÇÑÀ» µÎÁö ¾Ê°í, ÀÌ ±×·ìÀÇ ¸â¹öÁß ÇÑ¸í¿¡ ´ëÇÑ Á¦ÇÑÀ» µî·ÏÇß´Ù¸é ±× »ç¿ëÀÚ´Â ÀÌ ÁÙ¿¡ ÀÇÇØ Á¦ÇÑÀ» ¹ÞÀ» °ÍÀÌ´Ù.

¶ÇÇÑ ¸ðµç Á¦ÇѼ³Á¤ »çÇ×Àº login ´ÜÀ§·Î ¼³Á¤µÈ´Ù´Â °ÍÀ» ÁÖÀÇÇ϶ó. À̰͵éÀº ±Û·Î¹úÇÑ °Íµµ ¾Æ´Ï°í ¿µ¿øÇÑ °Íµµ ¾Æ´Ï´Ù. ´ÜÁö ¼¼¼ÇÀÌ À¯ÁöµÇ´Â µ¿¾È¸¸ Á¸ÀçÇÑ´Ù.

Á¦ÇÑ ¼³Á¤ÆÄÀÏ¿¡¼­ '#' ¹®ÀÚ·Î ½ÃÀÛÇÏ´Â ¹®ÀåÀº ÁÖ¼®¹®ÀÌ´Ù. ±× ÁÙÀÇ ³ª¸ÓÁö ºÎºÐÀº ¸ðµÎ ¹«½ÃµÈ´Ù.

pam_limits ¸ðµâÀº ¼³Á¤ÆÄÀÏ¿¡ ¹®Á¦°¡ »ý°åÀ» ¶§ syslog(3)À» ÅëÇØ ¼³Á¤¹®Á¦¸¦ º¸°íÇÑ´Ù.

´ÙÀ½Àº ¼³Á¤ÆÄÀÏÀÇ ¿¹Á¦ÀÌ´Ù.

# EXAMPLE /etc/security/limits.conf file:
# =======================================
# <domain> <type> <item> <value>
*               soft    core            0
*               hard    rss             10000
@student        hard    nproc           20
@faculty        soft    nproc           20
@faculty        hard    nproc           50
ftp             hard    nproc           0
@student        -       maxlogins       4

ÁÖÀÇ, °°Àº ÀÚ¿ø(@faculty¸¦ º¸¶ó)¿¡ soft¿Í hard Á¦ÇÑÀ» »ç¿ëÇÏ´Â °ÍÀº ÁÖ¾îÁø ¼­ºñ½º ¼¼¼Ç¿¡¼­ »ç¿ëÀÚ°¡ ¾òÀ» ¼ö ÀÖ´Â ÀÚ¿øÀÇ ±âº»°ª°ú ÃÖ´ë ·¹º§ÀÇ °ªÀ» ¼³Á¤ÇÑ´Ù.

¸®¼Ò½º Á¦ÇÑÀ» ÇÊ¿ä·Î ÇÏ´Â ¼­ºñ½º(¿¹¸¦µé¾î login)´Â /etc/pam.confÀÇ ÇØ´ç ¼­ºñ½ºÀÇ ¼³Á¤ ¸¶Áö¸·ÁÙ¿¡ ´ÙÀ½°ú °°Àº ÁÙÀ» Ãß°¡ÇÏ¸é µÈ´Ù.(º¸Åë pam_unix sessionÁÙ ´ÙÀ½¿¡)

#
# pam_limits¸¦ ÅëÇØ¼­ ·Î±×ÀÎ ¼¼¼Ç¿¡ ÀÚ¿ø Á¦ÇÑÀ» ¼³Á¤
#
login   session    required     pam_limits.so

6.13. The list-file module

6.13.1. °³¿ä

¸ðµâ À̸§:

pam_listfile

ÀúÀÚ:

Elliot Lee <sopwith@cuc.edu>

À¯Áöº¸¼ö:

Red Hat Software: Michael K. Johnson <johnsonm@redhat.com> 1996/11/18 (ÀÌ°Ô ¿¬¶ôÀÌ ¾ÈµÇ¸é Elliot Lee<sopwith@cuc.edu>·Î ¿¬¶ôÇ϶ó)

Á¦°øµÇ´Â °ü¸® ±×·ì:

authentication

¾ÏÈ£ÇÐÀû ¹Î°¨¼º:

º¸¾È µî±Þ:

ÄÄÆÄÀϽà ¸Þ½ÃÁö:

±ú²ýÇÏ°Ô ÄÄÆÄÀϵÊ.

½Ã½ºÅÛ ÀÇÁ¸¼º:

³×Æ®¿öÅ© ÀνÄ:


6.13.2. ¸ðµâÀÇ Àü¹ÝÀûÀÎ ¼³¸í

list-file ¸ðµâÀº ÀÓÀÇÀÇ ÆÄÀÏ¿¡ ´ëÇØ ¼­ºñ½º¸¦ Çã°¡Çϰųª °ÅºÎÇÏ´Â ¹æ¹ýÀ» Á¦°øÇÑ´Ù.


6.13.3. ÀÎÁõ°ü¸® ±¸¼º¿ä¼Ò

ÀνÄÇÏ´Â ÀÎÀÚµé:

onerr=succeed|fail; sense=allow|deny; file=filename; item=user|tty|rhost|ruser|group|shell apply=user|@group

¼³¸í:

¸ðµâÀº ´ÙÀ½°ú °°ÀÌ ÁöÁ¤µÈ ŸÀÔ¿¡ ÇØ´çÇÏ´Â Ç׸ñÀÇ °ªÀ» ¾ò´Â´Ù. -- user - »ç¿ëÀÚ¸í; PAM_USER tty - ¿äûµÈ Å͹̳ÎÀÇ À̸§À» ³ªÅ¸³½´Ù; PAM_TTY rhost - ¿äûÀÌ µé¾î¿Â ¿ø°Ý È£½ºÆ®ÀÇ À̸§(°¡´ÉÇϸé)À» ³ªÅ¸³½´Ù; PAM_RHOST ruser - ¿äûÀÌ µé¾î¿Â ¿ø°Ý »ç¿ëÀÚÀÇ À̸§À» ³ªÅ¸³½´Ù; PAM_RUSER -- ¶ÇÇÑ file=filename¿¡ ÇØ´çÇÏ´Â ÆÄÀÏÀ» Àо ³ªÅ¸³­ Ç׸ñÀÇ ÀνºÅϽº¸¦ ã´Â´Ù. filenameÀº ³ª¿­µÈ ¾ÆÀÌÅÛ´ç ÇÑ ÁÙÀ» Æ÷ÇÔÇÑ´Ù. ¸¸ÀÏ ¾ÆÀÌÅÛÀÌ ¹ß°ßµÉ¶§ sense=allowÀ̸é PAM_SUCCESS°¡ ¸®ÅÏµÇ°í ±ÇÇѿ䱸´Â ¼º°øÇϰí, sense=denyÀ̸é PAM_AUTH_ERR°¡ ¸®ÅÏµÇ°í ±ÇÇѿ䱸´Â ½ÇÆÐÇÑ´Ù.

¸¸ÀÏ ¿À·ù°¡ ¹ß»ýÇϰí(¿¹¸¦µé¾î filenameÀÌ Á¸ÀçÇÏÁö ¾Ê´Â´Ù°Å³ª À߸øµÈ ÀÎÀÚ¸¦ ¸¸³µÀ»¶§) onerr=succeedÀ̸é PAM_SUCCESS¸¦ ¸®ÅÏÇÏ°í ±×·¸Áö ¾ÊÀ»¶§ Áï, onerr=failÀ̸é PAM_AUTH_ERR ¶Ç´Â PAM_SERVICE_ERR(ÀûÀýÇϰÔ)ÀÌ ¸®ÅϵȴÙ.

Ãß°¡ÀûÀÎ ¸Å°³º¯¼ö·Î 'apply='´Â ƯÁ¤ »ç¿ëÀÚ(apply=»ç¿ëÀÚ¸í) ¶Ç´Â ÁÖ¾îÁø ±×·ì(apply=@±×·ì¸í)À¸·Î Àû¿ëÀ» Á¦ÇÑÇϴµ¥ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ÀÌ´Â tty, rhost, shell ¾ÆÀÌÅÛ°ú ÇÔ²² »ç¿ëµÉ ¶§¸¸ Àǹ̰¡ ÀÖ´Â Á¦ÇÑÀÌ´Ù.

¸¶Áö¸·°ÍÀ» Á¦¿ÜÇÏ¸é ¸ðµç ¸Å°³º¯¼ö´Â ÇʼöÀûÀÌ´Ù. ÀÌ ¸ðµâÀÌ ±âº»ÀûÀ¸·Î ¹«¾ùÀ» ÇØ ÁÙ °ÍÀ̶ó°í ±â´ëÇÏÁö ¸¶¶ó. ÀÌ ¸ðµâÀÇ ±âº» µ¿ÀÛÀº ¾ðÁ¦³ª º¯ÇÒ ¼ö ÀÖ´Ù.

ÀÌ ¸ðµâÀº ¾î¶² º¸Áõ¼­(credential)µµ ÁÙ ¼ö ¾ø´Ù.

¿¹Á¦/ÃßõÇÏ´Â »ç¿ë¹ý:

ÀüÅëÀûÀÎ 'ftpusers' ÀÎÁõÀº /etc/pam.conf¿¡ ¾Æ·¡ÀÇ ¿¹¸¦ »ç¿ëÇÏ¿© °¡´ÉÇÏ´Ù:

#
# /etc/ftpusers ÆÄÀÏ¿¡ Á¸ÀçÇÏ´Â »ç¿ëÀÚ´Â ftp Á¢¼ÓÀ» °ÅºÎ
#
ftp auth     required   pam_listfile.so \
    onerr=succeed item=user sense=deny file=/etc/ftpusers

/etc/ftpusersÆÄÀÏ¿¡ ÀÖ´Â »ç¿ëÀÚ´Â (Á÷°ü°ú´Â ¹Ý´ë·Î) ftp¼­ºñ½º¸¦ »ç¿ëÇÒ ¼ö ¾øÀ½À» À¯ÀÇÇ϶ó.

ƯÁ¤ »ç¿ëÀÚ¸¸ loginÀ» ÇϰÔÇÏ·Á¸é pam.conf¸¦ ¾Æ·¡¿Í °°ÀÌ Ç϶ó.

#
# /etc/loginusers ÆÄÀÏ¿¡ ÀÖ´Â »ç¿ëÀÚ¸¸ ·Î±×ÀÎÀ» Çã¿ë
#
login   auth     required   pam_listfile.so \
    onerr=fail item=user sense=allow file=/etc/loginusers

ÀÌ ¿¹Á¦°¡ Á¦´ë·Î µ¿ÀÛÇϱâ À§Çؼ­´Â, login¼­ºñ½º¸¦ Çã¿ëÇÏ·Á´Â ¸ðµç »ç¿ëÀÚ´Â /etc/loginusers¿¡ ¿­°ÅµÇ¾î ÀÖ¾î¾ß ÇÑ´Ù. ÀϺη¯ root¸¦ loginÇÏÁö ¾Ê°Ô ÇÏ´Â°Ô ¾Æ´Ï¶ó¸é, root°¡ ·Î±×ÀÎÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀ» ¿­¾î ³õ¾Ò´ÂÁö È®ÀÎÇØ¶ó. /etc/loginusers¿¡ root¸¦ ³Ö¾î ³õ´øÁö, root·Î su¸¦ ÇÒ ¼ö ÀÖ´Â »ç¿ëÀÚ¸¦ ³Ö¾î ³õ´øÁö ÇØ¼­ root°¡ loginÇÒ ¹æ¹ýÀ» ¿­¾î µÎ¾î¶ó.


6.14. The Mail module

6.14.1. °³¿ä

¸ðµâ À̸§:

pam_mail

ÀúÀÚ:

Andrew G. Morgan <morgan@linux.kernel.org>

À¯Áöº¸¼ö:

ÀúÀÚ

Á¦°øµÇ´Â °ü¸® ±×·ì:

authentication (credential) Session(open)

¾ÏÈ£ÇÐÀû ¹Î°¨¼º:

º¸¾È µî±Þ:

ÄÄÆÄÀϽà ¸Þ½ÃÁö:

±ú²ýÇÔ

½Ã½ºÅÛ ÀÇÁ¸¼º:

±âº» mail µð·ºÅ丮 /var/spool/mail/

³×Æ®¿öÅ© ÀνÄ:


6.14.2. ¸ðµâÀÇ Àü¹ÝÀûÀÎ ¼³¸í

ÀÌ ¸ðµâÀº »ç¿ëÀÚÀÇ ¸ÞÀÏ µð·ºÅ丮¸¦ º¸°í ¸ÞÀÏÀÌ µé¾î ÀÖ´ÂÁö ¾Ë·ÁÁØ´Ù.


6.14.3. ¼¼¼Ç°ü¸® ±¸¼º¿ä¼Ò

ÀνÄÇÏ´Â ÀÎÀÚµé:

debug; dir=directory-name; nopen; close; noenv; empty; hash=hashcount; standard; quiet;

¼³¸í:

ÀÌ ¸ðµâÀº »ç¿ëÀÚ¿¡°Ô "you have new mail" ¼­ºñ½º¸¦ Á¦°øÇÑ´Ù. ÀÌ´Â º¸Áõ¼­¸¦ °¡·Îä´Â ¾î¶² ÀÀ¿ëÇÁ·Î±×·¥¿¡µµ ³¢¿ö ³ÖÀ» ¼ö ÀÖ´Ù. ÀÌ´Â »ç¿ëÀÚÀÇ ¸ÞÀÏ Æú´õ¿¡ ¾î¶² »õ·Î¿î ¸ÞÀÏÀÌ ÀÖÀ½À» ³ªÅ¸³»´Â °£´ÜÇÑ ¸Þ½ÃÁö¸¦ º¸³½´Ù. ÀÌ ¸ðµâÀº Linux-PAM ȯ°æº¯¼öÀÎ MAILÀ» »ç¿ëÀÚÀÇ ¸ÞÀÏ µð·ºÅ丮·Î ¼³Á¤ÇÑ´Ù.

ÀÌ ¸ðµâÀÇ µ¿ÀÛÀº ´ÙÀ½ Ç÷¡±×µé¿¡ ÀÇÇØ º¯°æÇÒ ¼ö ÀÖ´Ù.

  • debug - syslog(3)·Î ´õ ¸¹Àº Á¤º¸¸¦ ±â·ÏÇÑ´Ù.

  • dir=pathname - ±âº»°ª ´ë½Å ÁöÁ¤µÈ pathname¿¡¼­ »ç¿ëÀÚÀÇ ¸ÞÀÏÀ» ã´Â´Ù. ¸ÞÀÏÀÇ ±âº» À§Ä¡´Â /var/spool/mailÀÌ´Ù. ÁÖÀÇÇÒ Á¡Àº ¸¸ÀÏ ÁÖ¾îÁø pathnameÀÌ '~'·Î ½ÃÀÛÇÑ´Ù¸é µð·ºÅ丮´Â »ç¿ëÀÚ È¨ µð·ºÅ丮¿¡ ÀÖ´Â ÆÄÀÏÀ» ³ªÅ¸³»´Â °ÍÀ¸·Î ÇØ¼®µÉ °ÍÀ̶ó´Â °ÍÀÌ´Ù.

  • nopen - ¸ðµâÀÌ »ç¿ëÀÚÀÇ º¸Áõ¼­¸¦ ¾ò¾úÀ» ¶§ ¾î¶² ¸ÞÀÏ¿¡ ´ëÇÑ Á¤º¸µµ Ãâ·ÂÇÏÁö ¾Êµµ·Ï ÇÑ´Ù. À̰ÍÀº MAILȯ°æº¯¼öÀÇ °ªÀ» ¾òÁö¸¸ Á¤º¸¸¦ Ç¥½ÃÇÏÁö ¾ÊÀ»¶§ À¯¿ëÇÏ´Ù.

  • close - »ç¿ëÀÚÀÇ º¸Áõ¼­°¡ Ãë¼ÒµÇ¾úÀ» ¶§ ¸ðµâÀÌ »ç¿ëÀÚ¿¡°Ô ¿Â ¸ÞÀÏÀÌ ÀÖ´ÂÁö ¾Ë·ÁÁØ´Ù.

  • noenv - MAIL ȯ°æº¯¼ö¸¦ ¼³Á¤ÇÏÁö ¾Ê´Â´Ù.

  • empty - ¸¸ÀÏ »ç¿ëÀÚÀÇ ¸ÞÀϵð·ºÅ丮°¡ ºñ¾ú´Ù¸é »ç¿ëÀÚ¿¡°Ô ±× »ç½ÇÀ» ¾Ë¸°´Ù.

  • hash=hashcount - ¸ÞÀϵð·ºÅ丮 ÇØ½¬ ±íÀÌ. ¿¹¸¦µé¾î hashcount°¡ 2¶ó´Â °ÍÀº ¸ÞÀÏÆÄÀÏÀº /var/spool/mail/u/s/user°¡ µÇµµ·Ï ¸¸µç´Ù.

  • standard - ¿¹Àü ¹æ½ÄÀÇ "You have..." ÇüÅÂÀÇ ¸Þ½ÃÁö¸¦ º¸¿©ÁØ´Ù. À̰ÍÀº »ç¿ëµÇ´Â ¸ÞÀÏ ½ºÇ®À» º¸¿©ÁÖÁö ¾Ê´Â´Ù. ¶ÇÇÑ À̰ÍÀº 'empty'¸¦ Æ÷ÇÔÇÑ´Ù.

  • quiet - »õ·Î¿î ¸ÞÀÏÀÌ ÀÖÀ» ¶§¸¸ ¾Ë·ÁÁØ´Ù.

¿¹Á¦/ÃßõÇÏ´Â »ç¿ë¹ý:

ÀÌ ¸ðµâÀº »ç¿ëÀÚ°¡ ½Ã½ºÅÛ¿¡ ·Î±×ÀÎ ÇßÀ» ¶§ »õ·Î¿î ¸ÞÀÏÀÌ ÀÖÀ½À» ³ªÅ¸³»´Â µ¥ »ç¿ëµÉ ¼ö ÀÖ´Ù. ¿©±â /etc/pam.conf ÆÄÀÏÀÇ ¿¹Á¦°¡ ÀÖ´Ù.

		#
		# »õ ¸ÞÀÏÀÌ ¿Ô´Â°¡?
		#
		login	session		optional	pam_mail.so
	

ÁÖÀÇÇÒ Á¡Àº, ¸¸ÀÏ ¸ÞÀÏ ½ºÇ®ÆÄÀÏ(/var/spool/mail/$USER ¶Ç´Â dir=parameter·Î¼­ ÁÖ¾îÁö´Â °æ·Î°¡ µÉ ¼ö ÀÖ´Ù)ÀÌ µð·ºÅ丮¶ó¸é pam_mailÀº ±×°ÍÀÌ Qmail Maildir ÇüŶó°í »ý°¢ÇÑ´Ù´Â °ÍÀÌ´Ù. ¸î¸î ÀÀ¿ëÇÁ·Î±×·¥Àº ÀÌ ±â´ÉÀ» ÀÚüÀûÀ¸·Î ¼öÇàÇÒ ¼öµµ ÀÖ´Ù. ±×·±°æ¿ì¿¡ ÀÌ ¸ðµâÀº ÇÊ¿äÇÏÁö ¾Ê´Ù´Â Á¡À» ÁÖÀÇÇ϶ó.


6.14.4. ÀÎÁõ°ü¸® ±¸¼º¿ä¼Ò

ÀÎÁõ°ü¸® ºÎºÐÀº ¸ðµç µ¿ÀÛÀÌ pam_setcred() »óÅ¿¡¼­ ÀÌ·ç¾îÁø´Ù´Â °ÍÀ» Á¦¿ÜÇϸé session ºÎºÐ°ú °°°Ô µ¿ÀÛÇÑ´Ù.


6.15. ù ·Î±×Àνà Ȩ µð·ºÅ丮 ¸¸µé±â(Create home directories on initial login)

6.15.1. °³¿ä

¸ðµâ À̸§:

pam_mkhomedir

ÀúÀÚ:

Jason Gunthorpe <jgg@ualberta.ca>

À¯Áöº¸¼ö:

Ben Collins <bcollins@debian.org>

Á¦°øµÇ´Â °ü¸® ±×·ì:

Session

¾ÏÈ£ÇÐÀû ¹Î°¨¼º:

º¸¾È µî±Þ:

ÄÄÆÄÀϽà ¸Þ½ÃÁö:

±ú²ýÇÔ

½Ã½ºÅÛ ÀÇÁ¸¼º:

³×Æ®¿öÅ© ÀνÄ:


6.15.2. ¸ðµâÀÇ Àü¹ÝÀûÀÎ ¼³¸í

ÀÎÁõµÈ »ç¿ëÀÚ¸¦ ·Î±×ÀνÃŰ´Â Áß¿¡ Ȩ µð·ºÅ丮¸¦ »ý¼ºÇÑ´Ù.


6.15.3. ¼¼¼Ç°ü¸® ±¸¼º¿ä¼Ò

ÀνÄÇÏ´Â ÀÎÀÚµé:

debug; skel=skeleton=dir; umask=octal-umask;

¼³¸í:

ÀÌ ¸ðµâÀº »ç¿ëÀÚ°¡ Áß¾Ó µ¥ÀÌŸº£À̽º(NIS, NIS+, LDAPµî)¿¡ ÀÇÇØ¼­ °ü¸®µÇ°í ¿©·¯ ½Ã½ºÅÛÀ» ÅëÇØ Á¢±ÙÇÏ´Â ºÐ»ê½Ã½ºÅÛ¿¡¼­ À¯¿ëÇÏ°Ô »ç¿ëµÈ´Ù. ÀÌ´Â »ç¿ëÀÚ°¡ óÀ½À¸·Î ¼º°øÀûÀ¸·Î ÀÎÁõµÈ ·Î±×ÀÎÀ» ÇßÀ» ¶§ »ç¿ëÀÚÀÇ ±âº» Ȩ µð·ºÅ丮¸¦ »ý¼ºÇÔÀ¸·Î½á °ü¸®ÀÚ°¡ °¢°¢ÀÇ ½Ã½ºÅÛ¿¡ Á÷Á¢ Ȩµð·ºÅ丮¸¦ »ý¼ºÇÏ´Â ¼ö°í¸¦ ´ú¾îÁØ´Ù. ±âº» ÆÄÀÏÀ» º¹»çÇϱâ À§ÇØ skeleton µð·ºÅ丮(º¸Åë /etc/skel/)°¡ »ç¿ëµÇ°í ¶ÇÇÑ »ý¼º½Ã¿¡ umask°ªµµ ¼³Á¤ÇÑ´Ù.

ÀÌ ¸ðµâÀÇ µ¿ÀÛÀº ´ÙÀ½Áß ÇϳªÀÇ Ç÷¡±×µé¿¡ ÀÇÇØ Á¦¾îµÈ´Ù.

  • skel - »õ·Î¿î Ȩ µð·ºÅ丮¿¡ º¹»çÇÒ ±âº»ÆÄÀÏÀÌ ÀÖ´Â skeleton µð·ºÅ丮

  • umask - ½©ÀÇ umask ¸í·É¾î¿¡°Ô Àü´ÞÇÒ 8Áø¼öÀÇ ¼ýÀÚ

¿¹Á¦/ÃßõÇÏ´Â »ç¿ë¹ý:
session		required	pam_mkhomedir.so skel=/etc/skel/ umask=0022

6.16. ¿À´ÃÀÇ ¸Þ½ÃÁö Ãâ·Â(Output the motd file)

6.16.1. °³¿ä

¸ðµâ À̸§:

pam_motd

ÀúÀÚ:

Ben Collins <bcollins@debian.org>

À¯Áöº¸¼ö:

ÀúÀÚ

Á¦°øµÇ´Â °ü¸® ±×·ì:

Session(open)

¾ÏÈ£ÇÐÀû ¹Î°¨¼º:

º¸¾È µî±Þ:

ÄÄÆÄÀϽà ¸Þ½ÃÁö:

½Ã½ºÅÛ ÀÇÁ¸¼º:

³×Æ®¿öÅ© ÀνÄ:


6.16.2. ¸ðµâÀÇ Àü¹ÝÀûÀÎ ¼³¸í

ÀÌ ¸ðµâÀº ¼º°øÀûÀÎ ·Î±×Àνÿ¡ motd ÆÄÀÏ(±âº»ÀûÀ¸·Î /etc/motdÆÄÀÏ)À» Ãâ·ÂÇÑ´Ù.


6.16.3. ¼¼¼Ç°ü¸® ±¸¼º¿ä¼Ò

ÀνÄÇÏ´Â ÀÎÀÚµé:

debug; motd=motd-file-name;

¼³¸í:

ÀÌ ¸ðµâÀº ¿©·¯ºÐÀÌ ¼º°øÀûÀÎ ·Î±×ÀÎ ÈÄ¿¡ ÀÓÀÇÀÇ motd(message of the day)¸¦ Ãâ·ÂÇÒ ¼ö ÀÖ°Ô ÇÑ´Ù. ±âº»ÀûÀ¸·Î /etc/motdÆÄÀÏÀÌ »ç¿ëµÇ°í ¾î¶² ÆÄÀϷεµ ¼³Á¤ÀÌ °¡´ÉÇÏ´Ù.

ÀÌ ¸ðµâÀÇ µ¿ÀÛÀº ´ÙÀ½ Ç÷¡±×µé¿¡ ÀÇÇØ Á¦¾îµÈ´Ù.

  • motd - ±âº»ÆÄÀÏÀ» »ç¿ëÇÏÁö ¾ÊÀ» ¶§ Ãâ·ÂÇÒ ÆÄÀÏ

¿¹Á¦/ÃßõÇÏ´Â »ç¿ë¹ý:

	login	session		pam_motd.so motd=/etc/motd
	


6.17. The no-login module

6.17.1. °³¿ä

¸ðµâ À̸§:

pam_nologin

ÀúÀÚ:

Michael K. Johnson <johnsonm@redhat.com> (based on code taken from a module written by Andrew G. Morgan <morgan@parc.power.net>).

À¯Áöº¸¼ö:

Michael K. Johnson <johnsonm@redhat.com>

Á¦°øµÇ´Â °ü¸® ±×·ì:

authentication

¾ÏÈ£ÇÐÀû ¹Î°¨¼º:

º¸¾È µî±Þ:

ÄÄÆÄÀϽà ¸Þ½ÃÁö:

dropping const¿¡ °üÇÑ warning 1°³

½Ã½ºÅÛ ÀÇÁ¸¼º:

³×Æ®¿öÅ© ÀνÄ:


6.17.2. ¸ðµâÀÇ Àü¹ÝÀûÀÎ ¼³¸í

Ç¥ÁØ UNIX nologin ÀÎÁõÀ» Á¦°øÇÑ´Ù.


6.17.3. ÀÎÁõ°ü¸® ±¸¼º¿ä¼Ò

ÀνÄÇÏ´Â ÀÎÀÚµé:

¼³¸í:

Ç¥ÁØ UNIX nologinÀÎÁõÀ» Á¦°øÇÑ´Ù. /etc/nologinÆÄÀÏÀÌ Á¸ÀçÇϸé, root¸¸ ·Î±×ÀÎÇÒ ¼ö ÀÖ°í; ´Ù¸¥ »ç¿ëÀÚ´Â ¿¡·¯¸Þ½ÃÁö¿Í ÇÔ²² °ÅºÎµÈ´Ù. ¸ðµç »ç¿ëÀÚµé(root¶Ç´Â ÀÏ¹Ý »ç¿ëÀÚ)Àº /etc/nologinÀÇ ³»¿ë¿¡ µé¾î°¥ ¼ö ÀÖ´Ù.

/etc/nologinÆÄÀÏÀÌ ¾ø´Ù¸é, ¸ðµâÀº Á¶¿ëÈ÷ ¼º°øÀ» ¸®ÅÏÇÑ´Ù.

¿¹Á¦/ÃßõÇÏ´Â »ç¿ë¹ý:

ÀÌ ¸ðµâÀÌ È¿°úÀûÀÌ·Á¸é, ¸ðµç login¹æ¹ýµéÀÌ À̰ÍÀ» »ç¿ëÇÏ°Ô ÇØ¾ßÇÑ´Ù. Ç¥ÁØ UNIX nologinµ¿ÀÛÀ» Á¦´ë·Î ÇÏ·Á¸é sufficient¸ðµâ ¾Õ¿¡ required·Î ÀÌ ¸ðµâÀ» ¼³Á¤ÇØ¾ß ÇÑ´Ù.


6.18. ¹«Á¶°Ç ½Å·Ú ¸ðµâ(The promiscuous module)

6.18.1. °³¿ä

¸ðµâ À̸§:

pam_permit

ÀúÀÚ:

Andrew G. Morgan, <morgan@parc.power.net>

À¯Áöº¸¼ö:

Linux-PAM À¯Áöº¸¼öÀÚ

Á¦°øµÇ´Â °ü¸® ±×·ì:

account; authentication; password; session

¾ÏÈ£ÇÐÀûÀÎ ¹Î°¨¼º:

º¸¾È µî±Þ:

¸Å¿ì ³·À½. »ç¿ë½Ã ÁÖÀÇ¿äÇÔ.

ÄÄÆÄÀϽà ¸Þ½ÃÁö:

¾øÀ½.

½Ã½ºÅÛ ÀÇÁ¸¼º:

³×Æ®¿öÅ© ÀνÄ:


6.18.2. °³¿ä

ÀÌ ¸ðµâÀº º¸¾È»óÀ¸·Î ¸Å¿ì À§ÇèÇϹǷΠ´ë´ÜÈ÷ ÁÖÀÇÇØ¼­ »ç¿ëÇØ¾ß ÇÑ´Ù. À̰ÍÀÌ ÇàÇÏ´Â ÀÏÀº ¾ðÁ¦³ª Á¢±ÙÀ» Çã¿ëÇÏ´Â °Í »ÓÀ̱⠶§¹®ÀÌ´Ù. ±× ¿ÜÀÇ ´Ù¸¥ ÀÏÀº ÀüÇô ÇÏÁö ¾Ê´Â´Ù.


6.18.3. °èÁ¤°ü¸® + ÀÎÁõ°ü¸® + ÆÐ½º¿öµå°ü¸® + ¼¼¼Ç°ü¸® ±¸¼º¿ä¼Ò

ÀνÄÇÏ´Â ÀÎÀÚµé:

¼³¸í:

¾î¶² °ü¸®±×·ì¿¡ ¼ÓÇϰǰ£¿¡ ÀÌ ¸ðµâÀÌ ÇÏ´Â µ¿ÀÛÀº ÀÛ¾÷ÀÌ ¼º°øÀûÀ̾úÀ½À» ¾Ë¸®´Â PAM_SUCCESS¸¦ µ¹·ÁÁÖ´Â ÀÏ »ÓÀÌ´Ù.

ÀÎÁõÀÇ °æ¿ì¿¡´Â »ç¿ëÀÚÀÇ À̸§À» ¾ò´Â´Ù. ¸¸¾à ÀÌ À̸§ÀÌ ¾ø´Ù¸é ¸¹Àº ÇÁ·Î±×·¥µéÀÌ ÀÛ¾÷¿¡ È¥¶õÀ» °Þ°Ô µÇ±â ¶§¹®ÀÌ´Ù.

¿¹Á¦/ÃßõÇÏ´Â »ç¿ë¹ý:

ÀÌ ¸ðµâÀº »ç¿ëÇÏ´Â °ÍÀº °ÅÀÇ ¹Ù¶÷Á÷ÇÏÁö ¾Ê´Ù. ±×·¸Áö¸¸ ÀÌ ¸ðµâÀÇ »ç¿ëÀÌ ÀûÀýÇÑ °æ¿ìµµ ÀÖ´Ù. ¿¹¸¦µé¾î ¸¸¾à ½Ã½ºÅÛ °ü¸®ÀÚ°¡ °èÁ¤°ü¸®¸¦ ²¨¹ö¸®Áö¸¸ µ¿½Ã¿¡ ·Î±×ÀÎÀ» Çã¿ëÇÏ´Â °æ¿ì ´ÙÀ½ÀÇ ¼³Á¤ÆÄÀÏ ³»¿ëÀ» ÀÌ¿ëÇÒ ¼öµµ ÀÖ´Ù.

#
# »ç¿ëÀÚ ·Î±×ÀÎÀ» °è¼ÓÇã¿ëÇÏÁö¸¸ °èÁ¤°ü¸®¸¦ ²¨¹ö¸®±â À§Çؼ­
# ´Ù¸¥ ·Î±×ÀÎ µî·Ï¿¡ ÀÌ ÁÙÀ» Ãß°¡Ç϶ó.
#
login   account  required       pam_permit.so

6.19. The Password-Database module

6.19.1. °³¿ä

¸ðµâ À̸§:

pam_pwdb

ÀúÀÚ:

Cristian Gafton <gafton@redhat.com> and Andrew G. Morgan <morgan@kernel.org>

À¯Áöº¸¼ö:

ÀúÀÚ

Á¦°øµÇ´Â °ü¸® ±×·ì:

account; authentication; password; session

¾ÏÈ£ÇÐÀû ¹Î°¨¼º:

º¸¾È µî±Þ:

ÄÄÆÄÀϽà ¸Þ½ÃÁö:

½Ã½ºÅÛ ÀÇÁ¸¼º:

¿Ã¹Ù¸£°Ô ¼³Á¤µÈ libpwdb ÇÊ¿äÇÔ

³×Æ®¿öÅ© ÀνÄ:


6.19.2. ¸ðµâÀÇ Àü¹ÝÀûÀÎ ¼³¸í

ÀÌ ¸ðµâÀº pam_unix_.. ¸ðµâÀÇ ´ëüÆÇÀÌ´Ù. ÀÌ ¸ðµâÀº http://linux.kernel.org/morgan/libpwdb/index.html¿¡ ÀÖ´Â Password Database libraryÀÇ ÀϹÝÀûÀÎ ÀÎÅÍÆäÀ̽º¸¦ µû¸¥´Ù.


6.19.3. °èÁ¤°ü¸® ±¸¼º¿ä¼Ò

ÀνÄÇÏ´Â ÀÎÀÚµé:

debug

¼³¸í:

debug ¿É¼ÇÀ» ÁÖ¸é ÀÌ ¸ðµâÀÇ ÃßÀû±â´ÉÀ» ¸ÃÀº syslog(3)¿¡ ´õ ¸¹Àº Á¤º¸¸¦ ±â·ÏÇÑ´Ù. (ÀÌ ¸ðµâ¿¡¼­ Áö¿øµÇ´Â ´Ù¸¥ ¿É¼ÇµéÀº ¿¡·¯ ¸Þ½ÃÁö¸¦ ³»º¸³»Áö ¾Ê°í Á¶¿ëÈ÷ ¹«½ÃµÈ´Ù. ±×·¸Áö¸¸ ±×¿ÜÀÇ ¿É¼ÇµéÀ» ÀÔ·ÂÇÑ °æ¿ì syslog(3)¸¦ ÅëÇØ¼­ ¿¡·¯·Î ±â·ÏµÈ´Ù.)

ÀÌ ¸ðµâÀº ´ÙÀ½ÀÇ pwdb_elementµé¿¡ ±â¹ÝÇϴµ¥ ±× pwdb_elementµéÀº ´ÙÀ½°ú °°´Ù. expire; last_change; max_change; defer_change; warn_change. ÀÌ ¸ðµâÀº »ç¿ëÀÚÀÇ °èÁ¤°ú ÆÐ½º¿öµåÀÇ »óŸ¦ È®ÀÎÇÑ´Ù. ÆÐ½º¿öµåÀÇ »óŸ¦ È®ÀÎÇÒ ¶§¿¡´Â »ç¿ëÀÚÀÇ ÆÐ½º¿öµå¸¦ ¹Ù²Ùµµ·Ï ±Ç°íÇϰųª PAM_AUTHTOKEN_REQD¸¦ µ¹·ÁÁÜÀ¸·Î½á »õ ÆÐ½º¿öµå¸¦ ÀÔ·ÂÇÒ ¶§±îÁö ¼­ºñ½º ½ÇÇàÀ» ´ÊÃß°Ô ÇÒ ¼ö ÀÖ´Ù. ¾Õ¿¡¼­ ¾ð±ÞÇÑ pwdb_elementµé¿¡ ´ëÇÑ Á¢±ÙÀº Password Database Library Guide¿¡ ±â¼úµÇ¾î ÀÖ´Ù. ¸¸¾à »ç¿ëÀÚÀÇ ±â·ÏÀÌ ÀÌ ¸ðµâµéÁß Çϳª ÀÌ»óÀ» Æ÷ÇÔÇÏÁö ¾Ê´Â´Ù¸é ÇØ´çÇÏ´Â shadow¿¡ ´ëÇÑ °Ë»ç´Â ÇÏÁö ¾Ê´Â´Ù.

¿¹Á¦:

°èÁ¤°ü¸® ¸ðµå¿¡¼­´Â ´ÙÀ½°ú °°ÀÌ ÀÌ ¸ðµâÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù.

#
# »ç¿ëÀÚÀÇ °èÁ¤°ú ÆÐ½º¿öµå°¡ ¾ÆÁ÷ À¯È¿ÇÑÁö È®ÀÎ
#
login   account  required       pam_pwdb.so


6.19.4. ÀÎÁõ°ü¸® ±¸¼º¿ä¼Ò

ÀνÄÇÏ´Â ÀÎÀÚµé:

debug; use_first_pass; try_first_pass; nullok; nodelay; likeauth

¼³¸í:

debug ¿É¼ÇÀ» ÁÖ¸é ÀÌ ¸ðµâÀÇ ÃßÀû±â´ÉÀ» ¸ÃÀº syslog(3)¿¡ ´õ ¸¹Àº Á¤º¸¸¦ ±â·ÏÇÑ´Ù.

ÀÌ ¸ðµâÀº ¸¸¾à »ç¿ëÀÚÀÇ ÆÐ½º¿öµå°¡ ºñ¾îÀÖ´Ù¸é »ç¿ëÀÚ°¡ ¼­ºñ½º¸¦ »ç¿ëÇÏ´Â °ÍÀ» °ÅºÎÇÏ´Â °ÍÀ» ±âº»À¸·Î Çϵµ·Ï ¼³Á¤µÇ¾î ÀÖ´Ù. ¸¸¾à nullok¿É¼ÇÀ» »ç¿ëÇÑ´Ù¸é ÀÌ ±âº»µ¿ÀÛÀ» ¹«½ÃÇÏ°í ÆÐ½º¿öµå°¡ ºñ¾îÀ־ »ç¿ëÀÚ°¡ ¼­ºñ½º¸¦ »ç¿ëÇÏ´Â °ÍÀÌ °¡´ÉÇÏ´Ù.

try_first_pass¿É¼ÇÀ» »ç¿ëÇÑ °æ¿ì ¿ì¼±ÀûÀ¸·Î auth-module¿¡ Á¤ÀǵǾî ÀÖ´Â ´Ù¸¥ ¸ðµâ¿¡¼­ »ç¿ëµÈ ÆÐ½º¿öµå¸¦ ¸ÕÀú ´ëÀÔÇØº¸°í ½ÇÆÐÇÑ °æ¿ì »ç¿ëÀÚ¿¡°Ô ÆÐ½º¿öµå¸¦ ÀÔ·ÂÇϵµ·Ï ¿ä±¸ÇÑ´Ù. ¸¸¾à use_first_pass¸¦ ¿É¼ÇÀ¸·Î »ç¿ëÇѰæ¿ì¿¡´Â ÀÌ·¸°Ô ±â¾ïµÈ ÆÐ½º¿öµå¸¸À» »ç¿ëÇϵµ·Ï ¼³Á¤µÇ¹Ç·Î »ç¿ëÀÚ¿¡°Ô ÆÐ½º¿öµå¸¦ ÀÔ·ÂÇϵµ·Ï ¿ä±¸ÇÏÁö ¾Ê´Â´Ù. ¸¸¾à ÀÌ °æ¿ì¿¡ ÆÐ½º¿öµå°¡ Ʋ¸®°Å³ª »ç¿ëÇÒ ¼ö ÀÖ´Â ±â¾ïµÈ ÆÐ½º¿öµå°¡ ¾Æ¹«°Íµµ ¾ø´Ù¸é ÀÎÁõ¿¡ ½ÇÆÐÇÏ°Ô µÈ´Ù.

nodelay¸¦ ¿É¼ÇÀ¸·Î »ç¿ëÇÑ °æ¿ì¿¡ ¸¸¾à ÀÎÁõÀÌ ÀüüÀûÀ¸·Î ½ÇÆÐÇÑ °æ¿ì ÀÎÁõ¸ðµâÀÌ ±â´Ù¸®Áö ¾Ê°í ¹Ù·Î ó¸®Çϵµ·Ï ÇÏ´Â °æ¿ì¿¡ ¾²ÀÏ ¼ö ÀÖ´Ù. ±âº»ÀûÀÎ ¸ðµâÀÇ µ¿ÀÛÀº ½ÇÆÐÇÑ °æ¿ì ÃÊ ´ÜÀ§·Î ¿¬±â¸¦ ¿äûÇϵµ·Ï µÇ¾î ÀÖ´Ù.

ÀÌ ¸ðµâÀÇ ´Ù¸¥ ±â´É¿¡¼­ Áö¿øµÇ´Â ³²Àº ÀÎÀÚµéÀº Á¶¿ëÈ÷ ¹«½ÃµÈ´Ù. ±×¿ÜÀÇ ÀÎÀÚµéÀº syslog(3)¿¡¼­ ¿¡·¯·Î ±â·ÏµÈ´Ù.

pwdb_chkpwdÇÁ·Î±×·¥Àº »ç¿ëÀÚÀÇ ÆÐ½º¿öµå°¡ Àб⸦ ¸·¾Æ³õÀº database¿¡ ÀúÀåÇÑ °æ¿ì »ç¿ëÀÚÀÇ ÆÐ½º¿öµå¸¦ °Ë»çÇϱâ À§Çؼ­ Á¦°øµÈ´Ù. ÀÌ ÇÁ·Î±×·¥Àº ¸Å¿ì °£´ÜÇϸç ÀÌ ÇÁ·Î±×·¥À» ½ÇÇàÇÑ »ç¿ëÀÚÀÇ ÆÐ½º¿öµå¸¸À» °Ë»çÇÑ´Ù. ÀÌ ÇÁ·Î±×·¥Àº ÀÌ ¸ðµâÀÇ ÀÎÁõ ºÎºÐ¸¸À» È£ÃâÇÏ¸ç »ç¿ëÀÚ¸¦ À§Çؼ­ Åõ¸íÇÏ°Ô ½ÇÇàµÈ´Ù. ÀÌ·± ¹æ½ÄÀ» ÅëÇØ¼­ xclock°°Àº ÀÀ¿ëÇÁ·Î±×·¥µéÀÌ setuid-root¸¦ °ÉÁö ¾Ê°íµµ ½ÇÇàµÉ ¼ö ÀÖ´Ù.

likeauth¿É¼ÇÀ» »ç¿ëÇÏ¸é ½ÅÀÓÇÏ´Â ¸ðµâ·Î È£ÃâÇÒ¶§³ª ÀÎÁõ¸ðµâ·Î È£ÃâÇÒ¶§³ª °°Àº °ªÀ» µ¹·ÁÁÖµµ·Ï ¸¸µç´Ù. ÀÌ·¸°Ô Çϵµ·Ï Çϸé libpamÀÌ ´ç½ÅÀÇ ¸¸µç ¼³Á¤ÆÄÀÏÀÇ ¼³Á¤À» ÀÎÁõ°ü¸® ±¸¼º¿ä¼Ò°¡ Á¤»óÀûÀÎ °æ·Î¸¦ µû¶ó ¼öÇà°¡´ÉÇÏ´Ù.

¿¹Á¦/ÃßõÇÏ´Â »ç¿ë¹ý:

ÀÌ ¸ðµâÀÇ ÀûÀýÇÑ ÀÛµ¿À» À§Çؼ­´Â /etc/pwdb.confÆÄÀÏÀÇ ¼³Á¤ÀÌ ¿Ã¹Ù¸£°Ô µÇ¾î ÀÖ¾î¾ß ÇÑ´Ù. ±× ÆÄÀÏ¿¡ ÁöÁ¤µÈ »ç¿ëÀÚ database´Â ÀÎÁõµÈ »ç¿ëÀÚÀÇ ±â·ÏÀ» °¡Áö°í ÀÖ´Ù.


6.19.5. ÆÐ½º¿öµå°ü¸® ±¸¼º¿ä¼Ò

ÀνÄÇÏ´Â ÀÎÀÚµé:

debug; nullok; not_set_pass; use_authtok; try_first_pass; use_first_pass; md5; bigcrypt; shadow; radius; unix

¼³¸í:

pam_pwdbÀÇ ÀÌ ¸ðµâÀº »ç¿ëÀÚÀÇ ÆÐ½º¿öµå¸¦ °»½ÅÇÏ´Â ¿ªÇÒÀ» ÇÑ´Ù. libpwdbÀÇ À¯¿¬¼º ´öºÐ¿¡ ÀÌ ¸ðµâÀº »ç¿ëÀÚÀÇ ÆÐ½º¿öµå¸¦ ´Ù¸¥ database·Î ¿Å±æ ¼ö ÀÖ°Ô ÇØ ÁØ´Ù. À̰ÍÀº ¾Æ¸¶µµ µ¿ÀûÀ¸·Î »ç¿ëÀÚÀÇ databaseÁ¢±ÙÀ» ¾ÈÀüÇÏ°Ô ÇØÁÖ´Â ¿ªÇÒÀ» ÇÒ °ÍÀÌ´Ù. (ÇöÀç ÀÌ ±â´ÉÀº ¸Å¿ì ºÒ¾ÈÁ¤ÇÏ´Ù!) - À̰ÍÀÌ shadow, radius, ±×¸®°í unix argumentµéÀÇ ¸ñÀûÀÌ´Ù.

º¸ÅëÀÇ unix databaseÀÇ °æ¿ì(¾ÏȣȭµÈ »ç¿ëÀÚ ÆÐ½º¿öµå¸¦ ÀúÀå) md5¿É¼ÇÀ» »ç¿ëÇϴµ¥ À̰ÍÀº ÀüÅëÀûÀÎ crypt(3)´ë½Å MD5 functionÀ» »ç¿ëÇØ¼­ ¾ÏȣȭÇÑ´Ù. ÀÌ ¿ÜÀÇ ¼±ÅûçÇ×À¸·Î DEC (Digital Equipment Cooperation)ÀÇ `C2' extensionÀ» »ç¿ëÇØ¼­ 8ÀÚÀÌ»óÀ» ¾ÏȣȭÇÒ ¼ö ÀÖ´Â bigcrypt¿É¼ÇÀ» ÁÙ ¼ö ÀÖ´Ù.

nullok ¸ðµâÀ» »ç¿ëÇØ¼­ »ç¿ëÀÚÀÇ ÆÐ½º¿öµå¸¦ ºó °ÍÀ¸·Î ¸¸µé ¼ö ÀÖ´Ù. ¸¸¾à nullok¿É¼ÇÀ» »ç¿ëÇÏÁö ¾ÊÀº °æ¿ì¿£ ºó ÆÐ½º¿öµå´Â °èÁ¤À» Àá±×´Â °Í°ú °°ÀÌ Ã³¸®µÈ´Ù.

use_first_pass ¿É¼ÇÀº ¾Õ¿¡¼­ »ç¿ëµÈ ÆÐ½º¿öµå ¸ðµâ¿¡¼­ ¾´ ÆÐ½º¿öµå·Î °íÁ¤½Ãų ¶§ »ç¿ëµÈ´Ù. try_first_pass¿É¼ÇÀº ¾Õ¿¡¼­ »ç¿ëµÇ¾úÀ»Áöµµ ¸ð¸£´Â ÆÐ½º¿öµå¸¦ ´Ù½Ã °øÀ¯Çؼ­ »ç¿ëÇϵµ·Ï ÁöÁ¤Çؼ­ »ç¿ëÀÚ°¡ ÆÐ½º¿öµå¸¦ ´Ù½Ã ÀÔ·ÂÇÒ Çʿ䰡 ¾øµµ·Ï ÇÒ °æ¿ì »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¸¸¾à ÀÌÀü¿¡ »ç¿ëµÈ ÆÐ½º¿öµå°¡ ¿Ã¹Ù¸£Áö ¾Ê´Ù¸é »ç¿ëÀÚ°¡ ¿Ã¹Ù¸¥ ÆÐ½º¿öµå¸¦ ÀÔ·ÂÇϵµ·Ï Çã¿ëÇÑ´Ù. use_authtok¿É¼ÇÀº ¾Õ¼­ »ç¿ëµÈ ÆÐ½º¿öµå ¸ðµâ¿¡¼­ »ç¿ëÇß´ø ÆÐ½º¿öµå¸¦ »õ ÆÐ½º¿öµå·Î ÁöÁ¤ÇÑ´Ù. (¾Õ¼­ ¼³¸íµÈ Cracklib¸ðµâ¿¡¼­ ¿¹Á¦·Î »ç¿ëµÇ¾ú´Ù.)

not_set_pass¿É¼ÇÀº ÇöÀç ¸ðµâ¿¡°Ô ¾Õ¼­ »ç¿ëµÈ ¸ðµâÀ̳ª µÚ¿¡ »ç¿ëµÉ ¸ðµâ¿¡¼­ Âü°í·Î ÇÒ ¿¾ ÆÐ½º¿öµå³ª »õ ÆÐ½º¿öµå¸¦ Âü°íÇϰųª ÀúÀåÇÏÁö ¾ÊÀ» °ÍÀÓÀ» ÁöÁ¤ÇÑ´Ù.

debug¿É¼ÇÀº ÀÌ ¸ðµâÀÇ µ¿ÀÛÀ» syslog(3)¿¡°Ô ´õ ¸¹Àº Á¤º¸¸¦ ¾Ë·ÁÁØ´Ù. ´Ù¸¥ ¿É¼ÇµéÀº syslog(3)¿¡ ÀÇÇØ¼­ ¿¡·¯·Î ±â·ÏµÉ ¼ö ÀÖ´Ù.

¿¹Á¦:

ÀÌ ¸ðµâÀÇ ÆÐ½º¿öµå Á¡°Ë ¸ðµâÀÎ pam_cracklib°úÀÇ ÀûÃþ¿¹Á¦´Â ¾Õ¼± ¸ðµâ¿¡ ´ëÇÑ ¼³¸í¿¡¼­ ÀÌ¹Ì ´Ù·ç¾îÁ³´Ù.


6.19.6. ¼¼¼Ç°ü¸® ±¸¼º¿ä¼Ò

ÀνÄÇÏ´Â ÀÎÀÚµé:

¼³¸í:

ÀÌ ¸ðµâ ±¸¼º¿ä¼Ò¿¡¼­ ÀνÄÇÏ´Â ¿É¼ÇÀº ¾Æ¹«°Íµµ ¾ø´Ù. ÀÌ ±¸¼º¿ä¼Ò´Â ´ÜÁö »ç¿ëÀÚÀ̸§°ú ¼­ºñ½ºÀÇ Á¾·ù¸¦ syslog(3)¸¦ ÅëÇØ¼­ ±â·ÏÇÒ »ÓÀÌ´Ù. »ç¿ëÀÚÀÇ ¼¼¼ÇÀÇ ½ÃÀÛ°ú ³¡¿¡ ´ëÇÑ ³»¿ëÀº ·Î±×¿¡ ±â·ÏµÈ´Ù.

¿¹Á¦/ÃßõÇÏ´Â »ç¿ë¹ý:

¼¼¼Ç ¸ðµâ¿¡ ´ëÇÑ »ç¿ëÀº ¸Å¿ì Á÷°üÀûÀÌ´Ù:

#
# pwdb - unix ¿Í ºñ½ÁÇÑ ¼¼¼Ç ½ÃÀÛ°ú Á¾·á
#
login   session  required       pam_pwdb.so


6.20. The RADIUS session module

6.20.1. °³¿ä

¸ðµâ À̸§:

pam_radius

ÀúÀÚ:

Cristian Gafton <gafton@redhat.com>

À¯Áöº¸¼ö:

ÀúÀÚ

Á¦°øµÇ´Â °ü¸® ±×·ì:

session

¾ÏÈ£ÇÐÀû ¹Î°¨¼º:

ÀÌ ¸ðµâÀº ¾ÏÈ£¸¦ ´Ù·çÁö ¾ÊÀ½.

º¸¾È µî±Þ:

ÄÄÆÄÀϽà ¸Þ½ÃÁö:

gcc ·Î ÄÄÆÄÀÏÇÒ ¶§ /usr/include/rpc/clnt.h¸¦ ÄÄÆÄÀÏÇϸ鼭 Warning 1°³ ¹ß»ýÇÔ. À̰ÍÀº ³» Ã¥ÀÓÀÌ ¾Æ´Ï´Ù!

½Ã½ºÅÛ ÀÇÁ¸¼º:

³×Æ®¿öÅ© ÀνÄ:

ÀνÄÇÔ. ³×Æ®¿öÅ© ¸ðµâÀÓ.(ÀÀ¿ëÇÁ·Î±×·¥¿¡ ¹«°üÇÔ)


6.20.2. ¸ðµâÀÇ Àü¹ÝÀûÀÎ ¼³¸í

ÀÌ ¸ðµâÀº RADIUS server·Î ÀÎÁõµÈ »ç¿ëÀڵ鿡°Ô ¼¼¼Ç ¼­ºñ½º¸¦ Á¦°øÇÒ ¸ñÀûÀ¸·Î Á¦À۵Ǿú´Ù. ÇöÀç·Î´Â °èÁ¤ ¼­¹ö·Î RADIUS¼­¹ö¸¦ »ç¿ëÇÏ´Â °Í¸¸ Áö¿øµÈ´Ù.


6.20.3. ¼¼¼Ç°ü¸® ±¸¼º¿ä¼Ò

ÀνÄÇÏ´Â ÀÎÀÚµé:

debug - syslog(3)¿¡ »ó¼¼ÇÑ ·Î±×¸¦ ±â·ÏÇÔ.

¼³¸í:

ÀÌ ¸ðµâÀº RADIUS server·Î ÀÎÁõµÈ »ç¿ëÀڵ鿡°Ô ¼¼¼Ç ¼­ºñ½º¸¦ Á¦°øÇÒ ¸ñÀûÀ¸·Î Á¦À۵Ǿú´Ù. ÇöÀç·Î´Â °èÁ¤ ¼­¹ö·Î RADIUS¼­¹ö¸¦ »ç¿ëÇÏ´Â °Í¸¸ Áö¿øµÈ´Ù.

(PAM ÇÁ·ÎÁ§Æ®¿¡¼­ ÀÌ ¸ðµâÀ» »ç¿ëÇØ¼­ RADIUS¼­¹ö¿¡ ¹ÝÀÀÇØ ÀÚµ¿À¸·Î pppd¸¦ ½ÃÀÛÇØ¼­ »ç¿ëÀÚ¸¦ À§ÇÑ PPPÁ¢¼ÓÀ» ¿¬´Ùµç°¡ ´Ù¸¥ È£½ºÆ®·ÎÀÇ telnetÁ¢¼ÓÀ» ÇÑ´Ù´ø°¡ RADIUS¼­¹ö¿¡¼­ÀÇ ÀÎÀÚ¿¡ µû¶ó ÀüÈ­¸¦ µÇ°É¾îÁÖ´Â °ÍÀ» ½ÇÁ¦·Î µ¿ÀÛÇÏ°Ô ÇÏ·Á¸é ¸ÕÀú È®½ÇÇÏ°Ô ¸ÅµìÁö¾î¾ß ÇÏ´Â ºÎºÐµéÀÌ ÀÖ´Ù. ´ëºÎºÐÀÇ °ÍµéÀº radius login ÀÀ¿ëÇÁ·Î±×·¥¿¡¼­ ó¸®ÇÏ´Â °ÍÀÌ º¸´Ù ÀûÇÕÇØ º¸ÀδÙ. ÀÌ·± ½ÄÀ¸·Î µ¿ÀÛÇÏ´Â Real Soon(tm) ·Î±×ÀÎ ÆÐÄ¡¸¦ ¸¸µé±â¸¦ ±â´ëÇÑ´Ù.)

¼¼¼ÇÀ» ½ÃÀÛÇÒ ¶§ ``Accounting-Start'' ¸Þ½ÃÁö¸¦ ¸ðµâ¿¡¼­ RADIUS ¼­¹ö·Î º¸³»´Âµ¥ ÀÌ ¸Þ½ÃÁö´Â »ç¿ëÀÚ database¿¡ ·Î±×±â·ÏÀ» ÇÏ´ø °»½ÅÀ» ÇÏ´ø ¾î¶² ½ÄÀ¸·Îµç ÀÛ¿ëÇÑ´Ù. ¼¼¼ÇÀ» ´ÝÀ» ¶§ ``Accounting-Stop'' ¸Þ½ÃÁö°¡ RADIUS¼­¹ö·Î º¸³»Áø´Ù.

ÀÌ ¸ðµâÀº µ¿ÀÛÇϱâ À§Çؼ­ ¿ä±¸ÇÏ´Â ¼±°áÁ¶°ÇÀÌ ¾ø´Ù. ´©±¸µç RADIUS¼­¹ö¸¦ ±×³É Àç¹Ì»ï¾Æ ¼³Ä¡ÇÏ°í °èÁ¤°ü¸® ¼­¹ö¸¦ Áß¾Ó¿¡¼­ ¿î¿µÇϸ鼭 wtmp/last/sac°°Àº °ÍµéÀº ±×³É Àذí Áö³¾ ¼ö ÀÖ´Ù.

¿¹Á¦/ÃßõÇÏ´Â »ç¿ë¹ý:

ÀÌ ¸ðµâÀÌ ÇÊ¿äÇÑ ¼­ºñ½º(¿¹¸¦µé¾î login)¸¦ À§Çؼ­ /etc/pam.confÆÄÀÏ¿¡¼­ ±× ¼­ºñ½ºÀÇ ¸¶Áö¸· ÁÙ¿¡(º¸ÅëÀº pam_unix session ÁÙ ´ÙÀ½ÀÌ´Ù) ´ÙÀ½ÀÇ ¿¹¸¦ Ãß°¡Ç϶ó.

login   session  required       pam_radius.so

ÀÌ ¸ðµâÀ» ¾²´Â ¼­ºñ½º°¢°¢¿¡ ´ëÇØ¼­ 'login'´ë½Å ´ëüÇ϶ó.

ÀÌ ¸ðµâÀº libpwdb 0.54preB¶Ç´Â ±× ÀÌÈÄ¿¡¼­ Á¦°øµÇ´Â API¸¦ ±¤¹üÀ§ÇÏ°Ô »ç¿ëÇϰí ÀÖ´Ù. ±âº»ÀûÀ¸·Î ÀÌ ¸ðµâÀº /etc/raddb/serverÆÄÀÏ¿¡¼­ radius ¼­¹ö¿¡ ´ëÇÑ ¼³Á¤(hostname, secret)À» ÀоîµéÀδÙ. À̰ÍÀº libpwdb¿¡¼­ ±âº»°ªÀ¸·Î ÄÄÆÄÀϵǾî ÀÖÀ¸¸ç ÇöÀç·Î¼­´Â libpwdb¸¦ ´Ù½Ã ÄÄÆÄÀÏÇÏÁö ¾Ê°í´Â ¹Ù²Ü ¼ö ÀÖ´Â ¹æ¹ýÀÌ ¾ø´Ù. ÇöÀç libpwdb¿¡¼­ runtime¿¡ ¼³Á¤À» ¹Ù²Ü¼ö ÀÖ´Â radiusÁö¿øÇϱâ À§Çؼ­ ÀÛ¾÷ÁßÀÌ´Ù.

libpwdb´Â RADIUS dictionaryµµ ÇÊ¿ä·Î ÇÔÀ» ¶ÇÇÑ ±â¾ïÇϱ⠹ٶõ´Ù. (/etc/raddb/dictionaryÆÄÀÏÀÌ´Ù)


6.21. The rhosts module

6.21.1. °³¿ä

¸ðµâ À̸§:

pam_rhosts_auth

ÀúÀÚ:

Al Longyear <longyear@netcom.com>

À¯Áöº¸¼ö:

Á¦°øµÇ´Â °ü¸® ±×·ì:

authentication

¾ÏÈ£ÇÐÀû ¹Î°¨¼º:

º¸¾È µî±Þ:

ÄÄÆÄÀϽà ¸Þ½ÃÁö:

¿¡·¯¸Þ½ÃÁö ¾øÀ½.

½Ã½ºÅÛ ÀÇÁ¸¼º:

³×Æ®¿öÅ© ÀνÄ:

Ç¥ÁØ inet_addr(), gethostbyname() ÇÔ¼ö È£Ãâ


6.21.2. ¸ðµâÀÇ Àü¹ÝÀûÀÎ ¼³¸í

ÀÌ ¸ðµâÀº rloginÀ̳ª rsh°°Àº ÇÁ·Î±×·¥¿¡¼­ ÀüÅëÀûÀ¸·Î ¾²´ø ¹æ½ÄÀ¸·Î ¼­ºñ½ºÀÇ ³×Æ®¿öÅ© ÀÎÁõÀ» ÇÑ´Ù.


6.21.3. ÀÎÁõ°ü¸® ±¸¼º¿ä¼Ò

ÀνÄÇÏ´Â ÀÎÀÚµé:

no_hosts_equiv; no_rhosts; debug; no_warn; privategroup; promiscuous; suppress

¼³¸í:

ÀÌ ¸ðµâÀÇ ÀÎÁõü°è´Â /etc/host.equiv (¶Ç´Â #include <netdb.h>¿¡ ÀÖ´Â _PATH_HEQUIV)¿Í ~/.rhostsµÎ ÆÄÀÏ¿¡ ÀÖ´Â ³»¿ë¿¡ ±â¹ÝÇÑ´Ù.

¿ì¼± ¾ÕÀÇ ÆÄÀÏ¿¡ ³ª¿­µÇ¾î Àִ ȣ½ºÆ®µéÀº localhostó·³ Ãë±ÞµÈ´Ù. ±×¸®°í »ç¿ëÀÚ°¡ °¡Áö°í ÀÖ´Â .rhostsÆÄÀÏÀº "¿ø°Ý È£½ºÆ® ¿ø°Ý »ç¿ëÀÚ"¦À» ÇöÀç È£½ºÆ®ÀÇ »ç¿ëÀÚ °èÁ¤°ú ´ëÀÀ½Ã۴µ¥ ¾²ÀδÙ. ¸¸¾à »ç¿ëÀÚÀÇ È£½ºÆ®°¡ /etc/host.equivÆÄÀÏ¿¡ µî·ÏµÇ¾î ÀÖ°í ±×µéÀÇ °èÁ¤ÀÌ ¿ø°ÝÈ£½ºÆ®¿Í localhost¿¡¼­ ÀÏÄ¡ÇÏ´Â °æ¿ì¿¡´Â Á¢±ÙÀÌ Çã¿ëµÈ´Ù. ¶ÇÇÑ ±×µéÀÇ ¿ø°Ý°èÁ¤ÀÌ °³ÀÎÀûÀÎ ¼³Á¤ÆÄÀÏ¿¡ µî·ÏµÇ¾î ÀÖ´Â °æ¿ì¿¡µµ Á¢±ÙÀÌ Çã¿ëµÈ´Ù.

»ç¿ëÀÚÀÇ °³ÀÎÀûÀÎ ¼³Á¤ÆÄÀÏ¿¡´Â ¸î°¡Áö ¼Ó¼ºÀÇ Á¦ÇÑÀÌ µû¸¥´Ù. ¸ÕÀú ÆÄÀÏÀº POSIX.1ÀÇ S_ISREG(x)¿¡¼­ Á¤ÀÇµÈ Á¤±ÔÆÄÀÏÀ̾î¾ß ÇÑ´Ù. ±×¸®°í ¼³Á¤ÆÄÀÏÀº superuser³ª »ç¿ëÀÚ°¡ ¼ÒÀ¯ÇÑ ÆÄÀÏÀ̾î¾ß ÇÏ¸ç ¼ÒÀ¯ÀÚ¿Ü¿¡´Â ¾Æ¹«µµ ¾²±â ±ÇÇÑÀ» °¡Áö¸é ¾ÈµÈ´Ù.

ÀÌ ¸ðµâÀº ¿ø°Ý È£½ºÆ®(PAM_RHOST¿¡¼­ ³»ºÎÀûÀ¸·Î ÁöÁ¤ÇÑ È£½ºÆ®)¿¡¼­ Á¢¼ÓÇÑ »ç¿ëÀÚ(PAM_RUSER¿¡¼­ ³»ºÎÀûÀ¸·Î ÁöÁ¤ÇÑ »ç¿ëÀÚ)¸¦ ÀÎÁõÇÏ´Â ¿ªÇÒÀ» ÇÑ´Ù. µû¶ó¼­ ÀÌ ÀÎÁõ ¸ðµâ°ú ȣȯ¼ºÀ» °¡Áö±â À§Çؼ­´Â ÀÀ¿ëÇÁ·Î±×·¥ ¶ÇÇÑ pam_authenticate()¸¦ È£ÃâÇϱâ Àü¿¡ ÀÌ Ç׸ñµéÀ» ¸ÕÀú È®ÀÎÇØ¾ß ÇÑ´Ù. ÀÌ ¸ðµâÀº ±×·± Á¤º¸¸¦ È®ÀÎÇϱâ À§Çؼ­ µ¶ÀÚÀûÀ¸·Î ³×Æ®¿öÅ© Á¢¼ÓÀ» È®ÀÎÇÒ ¼ö ÀÖ´Â ´É·ÂÀÌ ¾ø´Ù.

root·Î Á¢¼ÓÇÏ´Â °æ¿ì hosts_equiv_rootok¿É¼ÇÀÌ »ç¿ëµÇÁö ¾ÊÀ¸¸é /etc/host.equivÆÄÀÏÀº ¹«½ÃµÈ´Ù. ´ë½Å superuser´Â ¿Ã¹Ù¸£°Ô ¼³Á¤µÈ °³ÀÎÀûÀÎ ¼³Á¤ÆÄÀÏÀÌ ÀÖ¾î¾ß ÇÑ´Ù.

¸ðµâÀÇ µ¿ÀÛÀº ´ÙÀ½ÀÇ Ç÷¡±×¿¡ ÀÇÇØ¼­ Á¦¾îÇÒ ¼ö ÀÖ´Ù.

  • debug - syslog(3)¿¡ ´õ ¸¹Àº Á¤º¸¸¦ ±â·ÏÇÑ´Ù. (XXX - ½ÇÁ¦·Î ÀÌ ¸ðµâÀº ÇöÀç ÀüÇô ·Î±×¸¦ ³²±âÁö ¾Ê´Â´Ù. À̰ÍÀ» °íÄ¡±â À§ÇÑ ÀÚ¿øÀÚ¸¦ ±¸ÇÏ´Â ÁßÀÌ´Ù!)

  • no_warn - »ç¿ëÀÚ¿¡°Ô ½ÇÆÐµî¿¡ ´ëÇØ¼­ ¿¡·¯¸Þ½ÃÁö¸¦ º¸³»Áö ¾Ê´Â´Ù. (XXX - ÀÌ ¸ðµâÀº ÇöÀç ¾Æ¹«·± °æ°íµµ Ãâ·ÂÇÏÁö ¾Ê´Â´Ù. ¿ª½Ã ÀÚ¿øÀÚ¸¦ ±¸ÇÑ´Ù!)

  • no_hosts_equiv - /etc/hosts.equiv ÆÄÀÏÀÇ ³»¿ëÀ» ¹«½ÃÇÑ´Ù.

  • hosts_equiv_rootok - superuser¿¡ ´ëÇØ¼­µµ /etc/hosts.equiv ÆÄÀÏÀ» Âü°íÇÑ´Ù. ÀÌ ¿É¼ÇÀÌ ¾ø´Â °æ¿ì superuser¿¡ ´ëÇØ¼­´Â /etc/hosts.equiv¸¦ Âü°íÇÏÁö ¾Ê´Â´Ù. ¸¸¾à no_host_equiv¿É¼ÇÀÌ »ç¿ëµÈ °æ¿ì host_equiv_rootok¿É¼