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

You are not allowed to 'backlinks'


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¿É¼ÇÀº ¹«½ÃµÈ´Ù.

  • no_rhosts - ¸ðµç »ç¿ëÀÚÀÇ ~/.rhosts¼³Á¤ÆÄÀÏÀÇ ³»¿ëÀ» ¹«½ÃÇÑ´Ù.

  • privategroup - Á¤»óÀûÀÎ °æ¿ì ~/.rhosts ÆÄÀÏÀº ¼ÒÀ¯ÀÚ¿Ü¿¡´Â ¾Æ¹«µµ ¾²±â ±ÇÇÑÀ» °¡Á®¼­´Â ¾ÈµÈ´Ù. ÀÌ ¿É¼ÇÀº ÀÎÁõµÇ´Â »ç¿ëÀÚÀÇ À̸§°ú ±×·ì ¼ÒÀ¯±ÇÀÚÀÇ À̸§ÀÌ °°Àº °æ¿ì ±×·ìÀÌ ¾²±â ±ÇÇÑÀ» °¡Áø °æ¿ì¿¡µµ Á¢±ÙÀ» Çã¿ëÇÑ´Ù. ÀÌ ¿É¼ÇÀ¸·Î ÀÎÇØ ¹ß»ýÇÒÁö ¸ð¸£´Â º¸¾È ¹®Á¦¸¦ ÁÙÀ̱â À§Çؼ­ ÀÌ ¸ðµâÀº »ç¿ëÀÚ°¡ ±× ±×·ìÀÇ À¯ÀÏÇÑ ±¸¼º¿øÀÎÁöµµ °Ë»çÇÑ´Ù.

  • promiscuous - È£½ºÆ® µî·Ï¿¡¼­ `+' ·Î µÈ °æ¿ì ¸ðµç È£½ºÆ®¿¡¼­ÀÇ Á¢±ÙÀÌ Çã¿ëµÈ´Ù. ÀÌ ¿É¼ÇÀÌ ¾ø´Ù¸é '+'·Î ¾´ µî·ÏÀº ¹«½ÃµÈ´Ù. ÈÄÀÚÀÇ °æ¿ì debug¿É¼ÇÀÌ ÄÑÁ®ÀÖÀ¸¸é syslog¿¡ °æ°í¸Þ½ÃÁö¸¦ ³²±â°Ô µÈ´Ù.

  • suppress - ¸¸¾à ÀÎÁõ¿¡ ½ÇÆÐÇßÀ» °æ¿ì¿¡µµ syslog(3)¿¡ °æ°í¸Þ½ÃÁö¸¦ ³²±âÁö ¾Ê´Â´Ù. ÀÌ ¿É¼ÇÀº ¸ðµâÀÌ ÃæºÐÇÑ Á¦¾î flag·Î µ¿ÀÛÇÏ´Â »óȲ¿¡¼­ Àǹ̾ø´Â ¿¡·¯·Î °¡µæÂù ·Î±×¸¦ ¸¸µéÁö ¾Ê±â À§Çؼ­ »ç¿ëµÈ´Ù.

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

½Å·ÚÇÏ´Â ¿ø°Ý ÄÄÇ»ÅÍ¿¡¼­ »ç¿ëÀÚÀÇ Á¢¼ÓÀ» Çã¿ëÇϱâ À§Çؼ­´Â /etc/pam.confÆÄÀÏ¿¡¼­ »ç¿ëÀÚ¿¡¼­ ¾ÏÈ£¸¦ ÀÔ·ÂÇϱ⸦ ¿ä±¸Çϱâ Àü¿¡ ´ÙÀ½ÀÇ ÁÙµéÀ» Ãß°¡ÇØ¾ß ÇÑ´Ù.

#
# À§¿¡ ³ª¿­µÈ È£½ºÆ®ÀÇ »ç¿ëÀÚ´Â Æнº¿öµå¸¦ ¿ä±¸ÇÏÁö ¾Ê´Â´Ù.
#
login  auth  sufficient  pam_rhosts_auth.so no_rhosts

ÀÌ ¿¹Á¦¿¡¼­ ½Ã½ºÅÛ °ü¸®ÀÚ´Â ¸ðµç »ç¿ëÀÚÀÇ °³ÀÎ rhosts ¼³Á¤ÆÄÀÏÀ» ¹«½ÃÇϵµ·Ï ¼³Á¤ÇßÀ½À» ÁÖ¸ñÇ϶ó. ±×¸®°í À§ÀÇ ¿¹¿¡¼­ sufficient¸¦ required·Î ¹Ù²ÞÀ¸·Î½á /etc/host.equivÆÄÀÏ¿¡ µî·ÏµÈ ¼­¹öµé·ÎºÎÅ͸¸ Á¢¼ÓÇÒ ¼ö ÀÖ°Ô µÇ¾î ÀÖÀ½À» ÁÖÀÇÇؼ­ º¸±â ¹Ù¶õ´Ù.


6.22. The root access module

6.22.1. °³¿ä

¸ðµâ À̸§:

pam_rootok

ÀúÀÚ:

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

À¯Áöº¸¼ö:

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

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

authentication

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

º¸¾È µî±Þ:

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

±ú²ýÇÔ

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

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


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

ÀÌ ¸ðµâÀº superuser°¡ ¾ÏÈ£ÀÇ ÀԷ¾øÀÌ ¼­ºñ½º¿¡ ´ëÇÑ Á¢±ÙÀ» Çϵµ·Ï Çã¿ëÇÒ ¶§ »ç¿ëÇϵµ·Ï ¸¸µé¾îÁ³´Ù.


6.22.3. ÀÎÁõ°ü¸® ºÎºÐ

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

debug

¼³¸í:

ÀÌ ¸ðµâÀº »ç¿ëÀÚÀÇ uid°¡ 0ÀÎ °æ¿ì ÀÎÁõ¿¡ ¼º°øÇÑ °ÍÀ¸·Î ó¸®ÇÑ´Ù. ustuid-root·Î ó¸®µÈ ÇÁ·Î±×·¥µéÀº »ç¿ëÀÚÀÇ uid¸¦ À¯ÁöÇÏ°í ÀÖÁö¸¸ euid¿¡ ÀÖ´Â »ç¿ëÀÚÀÇ ±ÇÇÑÀ» °¡Áøä·Î ½ÇÇàµÈ´Ù. ½ÇÁ¦·Î »ç¿ëÀÚ¿¡ ´ëÇÑ ±ÇÇÑ °Ë»ç°¡ ÀÌ·ç¾îÁö´Â °ÍÀº ÀÌ euidÀÌ´Ù.

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

su ÇÁ·Î±×·¥ÀÇ °æ¿ì ÀüÅëÀûÀ¸·Î superuser°¡ ÀÏ¹Ý »ç¿ëÀÚÀÇ ¾ÏÈ£¸¦ ÀÔ·ÂÇÏÁö ¾Ê°íµµ ÀÏ¹Ý »ç¿ëÀÚ·Î ÀÛ¾÷À» ¼öÇàÇÒ ¼ö ÀÖµµ·Ï ÇÏ´Â ±â´ÉÀ» »ç¿ëÇØ ¿Ô´Ù. Linux-PAM¿¡¼­ ÀÌ ±â´ÉÀ» ¾²±â À§Çؼ­´Â ´ÙÀ½ÀÇ µÎ ÁÙÀÌ ¼³Á¤ÆÄÀÏ¿¡ Æ÷ÇԵǾî¾ß ÇÑ´Ù.

#
# su ÀÎÁõ. Root ´Â ±âº»ÀûÀ¸·Î Á¢±Ù Çã¿ë
#
su      auth     sufficient     pam_rootok.so
su      auth     required       pam_unix_auth.so

ÁÖÀÇ»çÇ×) superuser¿¡ ÀÇÇؼ­ ¼öÇàµÇ´Â ÇÁ·Î±×·¥µéÀ̳ª ½Ã½ºÅÛ ºÎÆýÿ¡ ½ÃÀ۵Ǵ ÇÁ·Î±×·¥µé¿¡´Â »ç¿ëÀÚ ÀÎÁõ¿¡ ÀÌ ¸ðµâÀ» »ç¿ëÇÏ¸é ¾ÈµÈ´Ù.


6.23. The securetty module

6.23.1. °³¿ä

¸ðµâ À̸§:

pam_securetty

ÀúÀÚ:

Elliot Lee <sopwith@cuc.edu>

À¯Áöº¸¼ö:

Red Hat Software: ÇöÀç Michael K. Johnson <johnsonm@redhat.com> (¸¸¾à ¿¬¶ôÀÌ ¾ÈµÉ ¶§´Â Elliot Lee <sopwith@cuc.edu>).

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

authentication

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

º¸¾È µî±Þ:

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

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

/etc/securetty ÆÄÀÏ

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

Á¤»óÀûÀ¸·Î µ¿ÀÛÇϱâ À§Çؼ­´Â ÀÀ¿ëÇÁ·Î±×·¥¿¡¼­ PAM_TTYÇ׸ñÀ» Á¤È®È÷ ±â·ÏÇØ¾ß ÇÔ.


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

Ç¥ÁØÀûÀÎ UNIXÀÇ securetty °Ë»ç¸¦ Á¦°øÇÑ´Ù.


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

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

¼³¸í:

Ç¥ÁØÀÇ UNIX securetty°Ë»ç¸¦ Çؼ­ /etc/securettyÆÄÀÏ¿¡ ±â·ÏµÈ ³»¿ë°ú PAM_TTYÇ׸ñÀÇ ³»¿ë°ú ÀÏÄ¡ÇÏ´Â °æ¿ì¿¡¸¸ root°èÁ¤¿¡ ´ëÇÑ ÀÎÁõÀÌ ¼º°øÇÏ°Ô µÈ´Ù. ±× ¿ÜÀÇ ´Ù¸¥ »ç¿ëÀÚ¿¡ ´ëÇؼ­´Â Ç×»ó ÀÎÁõÀÌ ¼º°øÇÑ °ÍÀ¸·Î ó¸®ÇÑ´Ù.

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

´Ù¸¥ suffient ÀÎÁõ ¹æ¹ýº¸´Ù ¾Õ¼­ required ÀÎÁõ ¹æ¹ýÀ¸·Î µî·ÏÇÏ´Â °ÍÀÌ Ç¥ÁØ »ç¿ë¹æ½ÄÀÌ´Ù.


6.24. The login counter(tallying) module

6.24.1. °³¿ä

¸ðµâ À̸§:

pam_tally

ÀúÀÚ:

Tim Baverstock

À¯Áöº¸¼ö:

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

auth; account

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

º¸¾È µî±Þ:

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

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

faillog ÆÄÀÏ(/var/log/faillog°¡ ±âº» À§Ä¡´Ù)ÀÌ ÇÊ¿ä

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


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

ÀÌ ¸ðµâÀº ÃÑ Á¢±Ù ½ÃµµÈ¸¼ö¸¦ °ü¸®ÇÏ¸ç ·Î±×ÀÎ ¼º°ø½Ã¿¡´Â Á¢±Ù ½Ãµµ ȸ¼ö¸¦ 0À¸·Î ¸¸µé ¼ö ÀÖ°í ³Ê¹« ¸¹Àº ½ÇÆÐÇÑ ½ÃµµÈ½¼ö¿¡ µµ´ÞÇϸé Á¢±ÙÀ» Â÷´ÜÇÒ ¼ö ÀÖ´Ù.

pam_tally´Â pam_tally.so¿Í pam_tallyÀÇ µÎ °³·Î ³ª´µ¾î Á¦°øµÈ´Ù. ÀüÀÚ´Â PAM ¸ðµâÀÌ°í ÈÄÀÚ´Â ´Üµ¶½ÇÇàÇü(stand-alone) ÇÁ·Î±×·¥ÀÌ´Ù. pam_tally´Â (¼±ÅÃÀûÀÎ) ÇÁ·Î±×·¥À¸·Î Ä«¿îÅÍ ÆÄÀÏÀ» Á¶È¸ÇÒ ¼öµµ ÀÖ°í °ü¸®ÇÒ ¼öµµ ÀÖ´Ù. ÀÌ ÇÁ·Î±×·¥Àº »ç¿ëÀÚÀÇ Ä«¿îÅ͸¦ º¸¿©ÁÖ°í °³Àκ° Ä«¿îÆ® ȸ¼ö¸¦ ¼öÁ¤Çϰųª ¸ðµç Ä«¿îÆ® ȸ¼ö¸¦ Áö¿ì´Â °Íµµ °¡´ÉÇÏ´Ù. ÀÌ Ä«¿îÆ®¸¦ ÀÎÀ§ÀûÀ¸·Î ³ô°Ô ¼³Á¤ÇÏ¸é »ç¿ëÀÚÀÇ ¾ÏÈ£¸¦ °íÄ¡Áö ¾Ê°íµµ »ç¿ëÀÚ ·Î±×ÀÎÀ» ¸·À» ¼ö ÀÖ´Ù. ¿¹¸¦µé¾î cron jobÀ¸·Î ¸ÅÀϹã ÀÚÁ¤¿¡ ¸ðµç Ä«¿îÆ® ȸ¼ö¸¦ Áö¿ö¹ö¸®´Â °Íµµ À¯¿ëÇÑ ¼³Á¤ÀÏ ¼öµµ ÀÖ´Ù.

Ä«¿îÆ® ÆÄÀÏÀº uid·Î À妽ºµÈ ¹ÙÀ̳ʸ® Çü½ÄÀÇ ¹è¿­ÀÌ´Ù. ¸¸¾à Á¦°øµÇ´Â ÇÁ·Î±×·¥À» »ç¿ëÇÏÁö ¾ÊÀ» »ý°¢À̶ó¸é odÇÁ·Î±×·¥À¸·Îµµ ÀÌ ÆÄÀÏÀ» ÀÌÇØÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.

ÁÖÀÇ»çÇ×) ÇöÀç ÀÌ ¸ðµâ¿¡´Â ¸î°¡Áö ¹®Á¦Á¡ÀÌ ³²¾ÆÀÖ´Ù. pam_tally¸ðµâÀº getpw*()¿¡ ¸Å¿ì ÀÇÁ¸ÀûÀÌ´Ù. - »ç¿ëÀÚÀÇ °èÁ¤¿¡ ´ëÇÑ database´Â ÈξÀ ´õ ´Ù¾çÇÒ °ÍÀÌ´Ù. 'ÇöÀç ·Î±×Àο¡ ´ëÇÑ Ä«¿îÆ® À¯Áö'ºñÆ®´Â #ifdef·Î 󸮵Ǿî ÇöÀç´Â ±âº»ÀûÀ¸·Î Áö¿øÇÏÁö ¾Ê´Â´Ù. µû¶ó¼­ ÇöÀç´Â ÀÎÁõ¿¡ ¼º°øÇÏ´Â °Í¸¸ÀÌ Ä«¿îÅÍ ¼ýÀÚ¸¦ ÃʱâÈ­ÇÏ´Â À¯ÀÏÇÑ ¹æ¹ýÀÌ´Ù.


6.24.3. µÎ ±¸¼º¿ä¼Ò¿¡¼­ ¸ðµÎ »ç¿ëµÇ´Â ÀϹÝÀûÀÎ ¿É¼Ç

  • onerr=(succeed|fail): ¸¸¾à ÆÄÀÏÀ» ¿­ ¼ö ¾ø´Ùµç°¡ ÇÏ´Â ÀÌ»óÇÑ ÀÏÀÌ »ý±ä´Ù¸é ¸ðµâÀÌ ¾î¶»°Ô ¹ÝÀÀÇÒ °ÍÀΰ¡?

  • file=/where/to/keep/counts: Ä«¿îÆ®¸¦ ÀúÀåÇÒ ÆÄÀÏ À§Ä¡¸¦ ÁöÁ¤ÇÑ´Ù. ±âº»À§Ä¡´Â /var/log/faillogÀÌ´Ù.


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

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

onerr=(succeed|fail); file=/where/to/keep/counts; no_magic_root

¼³¸í:

ÀÌ ¸ðµâÀÇ ÀÎÁõ ±¸¼º¿ä¼Ò´Â ½ÃµµµÈ ·Î±×ÀÎ Ä«¿îÆ®¸¦ Áõ°¡½ÃŲ´Ù.

¿¹Á¦:

no_magic_root¿É¼ÇÀÌ ¾²ÀÌ¸é ¸¸¾à uid°¡ 0ÀÎ »ç¿ëÀÚ°¡ ÀÌ ¸ðµâÀ» È£ÃâÇÑ °æ¿ì Ä«¿îÆ®¸¦ Áõ°¡½ÃŲ´Ù. ½Ã½ºÅÛ °ü¸®ÀÚ´Â ÀÌ°ÍÀ» telnet/rsh/login°°ÀÌ µ¥¸óÀÌ ½ÇÇà½ÃÅ°´Â ¼­ºñ½º¿¡ »ç¿ëÇØ¾ß ÇÑ´Ù. »ç¿ëÀÚ°¡ ½ÇÇà½ÃÅ°´Â su°°Àº ÇÁ·Î±×·¥¿¡¼­´Â ÀÌ ¿É¼ÇÀÌ ºüÁ®¾ß ÇÑ´Ù.

¼³¸íÀ» ´õ ÇÏÀÚ¸é ÀÌ¹Ì root±ÇÇÑÀ¸·Î µ¹°í ÀÖ´Â ÇÁ·Î¼¼½º°¡ ´Ù¸¥ ¼­ºñ½º¿¡ Á¢±ÙÇÒ °æ¿ì ÀÌ Á¢±ÙÀº magicÀÌ µÇ°í pam_tallyÀÇ °Ë»ç¸¦ ¹ÞÁö ¾Ê´Â´Ù. ÀÌ°ÍÀº root·Î ºÎÅÍ ´Ù¸¥ ¹æ¹ýÀ¸·Î´Â Á¢±ÙÀÌ ¸·ÇôÀÖ´Â °èÁ¤À¸·Î suÇÒ ¶§ Æí¸®ÇÏ´Ù. ±×·¯³ª telnetÀ̳ª login°°ÀÌ ¾ðÁ¦³ª root±ÇÇÑÀ¸·Î ½ÇÇàµÇ´Â ¼­ºñ½ºµéÀÇ °æ¿ì ¾Õ¼­ ±â¼úÇÑ ±×´ë·Î root(Áï Àü¿ø)´Â ÀÌ·± magic»óÅ°¡ Çã¿ëµÇ¾î¼­´Â ¾ÈµÇ¹Ç·Î no_magic_root¿É¼ÇÀÌ ÄÑÁ®ÀÖ¾î¾ß ÇÏ´Ù.


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

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

onerr=(succeed|fail); file=/where/to/keep/counts; deny=n; no_magic_root; even_deny_root_account; reset; no_reset; per_user; no_lock_time

¼³¸í:

°èÁ¤°ü¸® ±¸¼º¿ä¼Ò´Â ½ÃµµÈ½¼ö¿¡ ´ëÇÑ Á¢±ÙÀ» ¸·°Å³ª ½ÃµµÈ½¼ö¸¦ ÃʱâÈ­ ÇÒ ¼ö ÀÖ´Ù. ¶ÇÇÑ Ä«¿îÆ® ÆÄÀÏÀÌ plainÆÄÀÏÀÎÁö ¾²±â ±ÇÇÑÀÌ ¸ðµÎ¿¡°Ô ÁÖ¾îÁöÁö ¾Ê°í ÀûÀýÈ÷ À¯ÁöµÇ°í ÀÖ´ÂÁö¸¦ °Ë»çÇÑ´Ù.

¿¹Á¦:

deny=n ¸¸¾à »ç¿ëÀÚº° tallyȸ¼ö°¡ nÀ» ³Ñ¾î¼± °æ¿ì ±× »ç¿ëÀÚÀÇ Á¢±ÙÀ» ¸·´Â´Ù. ÀÌ ¿É¼ÇÀÌ »ç¿ëµÇ¸é Á¢±Ù ±ÇÇÑÀ» ¿ä±¸ÇÏ´Â »ç¿ëÀÚ°¡ rootÀÌ°í no_magic_root¿É¼ÇÀÌ ÁöÁ¤µÇÁö ¾Ê¾Ò´ø °æ¿ì°¡ ¾Æ´Ï¶ó¸é reset/no_reset¿É¼ÇÀÇ ±âº»°ªÀÌ resetÀ¸·Î ¹Ù²ï´Ù.

no_magic_root root·Î ºÎÅÍÀÇ Á¢±ÙÀ» ¹«½ÃÇÏÁö ¸»°í °ÅºÎÇϵµ·Ï ¸¸µç´Ù. ÀÌ ¿É¼ÇÀ» telnet/rsh/login°°Àº µ¥¸óÀÌ ½ÇÇà½ÃÅ°´Â ¼­ºñ½ºµé¿¡ Àû¿ëÇ϶ó.

even_deny_root_account ¿É¼ÇÀº root°èÁ¤À» »ç¿ëºÒ°¡´ÉÇÏ°Ô ¸¸µç´Ù. root¸¦ ¾òÀ¸·Á´Â magic root´Â ÀÌ ¿É¼ÇÀÌ ¼³Á¤µÇ¾î À־ Åë°úÇÏ°í ÀÏ¹Ý À¯Àúµé¸¸ ¸·Èù´Ù´Â °ÍÀ» ±â¾ïÇصα⠹ٶõ´Ù.

reset ÀÎÀÚ´Â magic rootÀÇ °æ¿ìÀ̰ųª ¾Æ´Ï°Å³ª »ó°ü¾øÀÌ ÀÎÁõ¿¡ ¼º°øÇßÀ» °æ¿ì ¸ðµâÀÌ Ä«¿îÆ®¸¦ 0À¸·Î ÃʱâÈ­Çϵµ·Ï ÇÑ´Ù. no_reset¿É¼ÇÀº ¼º°øÀûÀÎ ·Î±×Àο¡µµ Ä«¿îÅÍ°ªÀ» ÃʱâÈ­ÇÏÁö ¾Ê´Â´Ù. deny°¡ ¾ø°í Á¢±ÙÇÏ´Â »ç¿ëÀÚ°¡ magic root°¡ ¾Æ´Ñ »óÅ¿¡¼­´Â ÀÌ°ÍÀÌ ±âº»À¸·Î Àû¿ëµÈ´Ù.

¸¸¾à /var/log/faillog ÆÄÀÏ¿¡¼­ ÀÌ »ç¿ëÀÚ¿¡ ´ëÇؼ­ .fail_maxÇʵ尡 0ÀÌ ¾Æ´Ñ °ªÀ» °¡Áö°í ÀÖ´Ù¸é per_user¿É¼ÇÀÌ Àüü¿¡ °øµ¿À¸·Î ÇØ´çµÇ´Â deny=n°ª ´ë½Å ÀÌ °ªÀ» »ç¿ëÇϵµ·Ï ÇÑ´Ù.

no_lock_time ¿É¼ÇÀº /var/log/failogÆÄÀÏ¿¡ ÀÖ´Â .fail_locktimeÇʵ尪À» »ç¿ëÇÏÁö ¾Êµµ·Ï ÇÑ´Ù.

Á¤»óÀûÀΰæ¿ì Denial Of Service°ø°ÝÀ» ¸·±â À§Çؼ­ root°èÁ¤¿¡ ´ëÇÑ Á¢±Ù ½ÇÆд ´©ÀûµÇ´õ¶óµµ root°èÁ¤Àº »ç¿ëÁ¤ÁöµÇÁö ¾Ê´Â´Ù. ¸¸¾à »ç¿ëÀÚµéÀº shell°èÁ¤ÀÌ ÁÖ¾îÁöÁö ¾Ê°í root°èÁ¤Àº ´ÜÁö su¸í·ÉÀ» ÅëÇؼ­³ª console loginÀ» ÅëÇؼ­¸¸ ·Î±×ÀÎÇÒ ¼ö ÀÖ´Ù¸é(telnet, rshµîÀ» ÅëÇÏÁö ¾Ê°í) ÀÌ Á¤Ã¥Àº ¾ÈÀüÇÏ´Ù°í ÇÒ ¼ö ÀÖ´Ù. ¸¸¾à ´ç½ÅÀÌ ÁøÁ¤À¸·Î ƯÁ¤¼­ºñ½º¿¡ ´ëÇؼ­ root°¡ Á¢±ÙÇÏ´Â °ÍÀ» Çã¿ëÇÏ±æ ¿øÇÏÁö ¾Ê´Â´Ù¸é even_deny_root_account¿É¼ÇÀ» »ç¿ëÇϵµ·Ï Ç϶ó.


6.25. Time control

6.25.1. °³¿ä

¸ðµâ À̸§:

pam_time

ÀúÀÚ:

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

À¯Áöº¸¼ö:

ÀúÀÚ

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

account

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

º¸¾È µî±Þ:

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

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

/etc/security/time.conf ¼³Á¤ ÆÄÀÏ ÇÊ¿ä

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

PAM_TTY Ç׸ñÀ» ÅëÇؼ­¸¸ ÀνÄ


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

Àß Á¤ºñµÈ ½Ã½ºÅÛÀº ¶§¶§·Î ƯÁ¤ ¼­ºñ½º¿¡ ´ëÇؼ­´Â ¼±ÅÃÀûÀ¸·Î Á¢±ÙÀ» Çã¿ëÇϵµ·Ï ¸¸µé¾î ³õ±âµµ ÇÑ´Ù. ÀÌ ¸ðµâÀº ¼³Á¤ÆÄÀÏ¿¡ ÀÖ´Â ³»¿ëÀ» ¹ÙÅÁÀ¸·Î ½Ã½ºÅÛ¿¡¼­ Á¦°øµÇ´Â ¼­ºñ½º¿¡ Á¢±ÙÇÒ ¼ö ÀÖ´Â ½Ã°£À» Á¦¾îÇÒ ¼ö ÀÖ°Ô ÇØ ÁØ´Ù. ÀÌ ¸ðµâÀº »ç¿ëÀÚ°¡ Á¢±ÙÇÏ´Â ·Î±×ÀÎ À̸§, ÇÏ·çÁßÀÇ ½Ã°£, ¿äÀÏ, Á¢±ÙÀ» ¿ä±¸ÇÏ´Â ¼­ºñ½º, »ç¿ëÀÚÀÇ Å͹̳ο¡ ´ëÇÑ Á¤º¸¸¦ ¹Þ¾Æ¼­ Á¢±ÙÀ» Çã°¡ÇÒ °ÍÀÎÁö¸¦ ÆÇ´ÜÇÑ´Ù.


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

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

¼³¸í:

ÀÌ ¸ðµâÀº /etc/security/pam.confÆÄÀÏ¿¡ µé¾î ÀÖ´Â ³»¿ëÀ» ±Ù°Å·Î ¾î¶² ÇൿÀ» ÇÒ °ÍÀÎÁö¸¦ °áÁ¤ÇÑ´Ù. °¢ ±ÔÄ¢Àº ´ÙÀ½ÀÇ ÇüŸ¦ µû¸¥´Ù.

services;ttys;users;times 

¼³¸íÇÏÀÚ¸é °¢ ±ÔÄ¢Àº ÇÑÁÙ·Î µÇ¾î ÀÖ°í, newline ij¸¯ÅÍ°¡ ³ª¿À°Å³ª '#'·Î Ç¥½ÃÇÏ´Â ÁÖ¼®ÀÌ ½ÃÀÛÇÏ´Â ½ÃÁ¡¿¡¼­ ³¡³­´Ù. ÀÌ ±ÔÄ¢Àº ¼¼¹ÌÄÝ·Ð(';')À¸·Î ºÐ¸®µÇ´Â ³× °³ÀÇ Ç׸ñÀ¸·Î ºÐ¸®µÈ´Ù. °¢ Ç׸ñÀº ´ÙÀ½°ú °°´Ù.

  • services - ÀÌ ±ÔÄ¢ÀÌ Àû¿ëµÉ ¼­ºñ½ºÀÇ À̸§

  • ttys - ±ÔÄ¢À» Àû¿ëÇÒ Å͹̳ÎÀÇ À̸§

  • user - Àû¿ëÇÒ »ç¿ëÀÚÀ̸§ÀÇ ¸ñ·Ï

ÀÌ ¸ñ·ÏÀº ´ÙÀ½ÀÇ ±ÔÄ¢À» µû¸£´Â ÅäÅ«ÀÇ ³ª¿­Àε¥ À̵éÀº ÀûÀýÇÑ PAM_ Ç׸ñ°ú ¿¬°áµÇ°Ô µÈ´Ù. - Àû¾îµµ Çϳª ÀÌ»óÀÇ wildcard character '*'¸¦ °¡Áø´Ù. - ºÎÁ¤À» ³ªÅ¸³»´Â '!'¸¦ ¼±ÅÃÀûÀ¸·Î ¾Õ¿¡ ¾µ ¼ö ÀÖ´Ù. - ÀÌ ³ª¿­¿¡´Â ´ÙÀ½ÀÇ µÎ °¡Áö ³í¸® ¿¬»êÀÚ¸¦ ¾µ ¼ö ÀÖ´Ù. ³í¸®Àû ANDÀÎ '&'¿Í ³í¸®Àû ORÀÎ '|'ÀÌ´Ù. µÎ °¡Áö ¿¹¸¦ µé¾îº¸ÀÚ. !morgan&!root - ÀÌ ±ÔÄ¢Àº morgan¿¡°Ôµµ root¿¡°Ôµµ Àû¿ëµÇÁö ¾Ê´Â´Ù. tty*&!ttyp* - ÀÌ ±ÔÄ¢Àº ÄÜ¼Ö Å͹̳ο¡¸¸ Àû¿ëµÇ°í °¡»ó Å͹̳ο¡´Â Àû¿ëµÇÁö ¾ÊÀ½À» ³ªÅ¸³½´Ù.

  • times - ¾ðÁ¦ ÀÌ ±ÔÄ¢À» Àû¿ëÇÒ °ÍÀÎÁö¸¦ ÁöÁ¤ÇÑ´Ù. °¢ ºÎºÐÀº ³¯Â¥/½Ã°£ ¹üÀ§ÀÌ´Ù. ³¯Â¥´Â µÎ°³ÀÇ ±ÛÀÚÀÇ Á¶ÇÕÀ¸·Î ³ªÅ¸³½´Ù. ¿¹¸¦µé¾î 'MoTuSa'´Â ¿ù, È­, Åä¿äÀÏÀ» ³ªÅ¸³½´Ù. ¹Ýº¹µÇ´Â ³¯Àº È¿·ÂÀ» »ó¼â½ÃÅ´À» ÁÖÀÇÇ϶ó. 'MoTuMo'¶ó°í ¾´ °æ¿ì ½ÇÁ¦·Î´Â È­¿äÀϸ¸ À¯È¿ÇÏ°Ô Ã³¸®µÈ´Ù. 'MoWk'¶ó°í ¾´ °æ¿ì ¿ù¿äÀÏÀ» Á¦¿ÜÇÑ ÆòÀÏÀ̶ó´Â ¶æÀÌ´Ù. ´ÙÀ½ÀÇ µÎ±ÛÀÚ Á¶ÇÕÀÌ À¯È¿ÇÏ°Ô Ã³¸®µÈ´Ù.

Mo Tu We Th Fr Sa Su Wk Wd Al

¸¶Áö¸·¿¡¼­ µÎ¹ø°´Â ÁÖ¸»À» ¶æÇÏ°í ¸¶Áö¸· Ç׸ñÀº ÇÑ ÁÖÀÇ ¸ðµç ³¯¿¡ ÇØ´çÇÑ´Ù.

½Ã°£ ¹üÀ§´Â 24½Ã°£ Ç¥½Ã·Î ³ªÅ¸³½ HHMMÇü½Ä¿¡´Ù°¡ ÇÏÀÌÇÂ'-'Ç¥½Ã·Î ½ÃÀÛ¹üÀ§¿Í ³¡¹üÀ§¸¦ ÁöÁ¤ÇÑ´Ù. ¸¸¾à ³¡½Ã°£ÀÌ ½ÃÀ۽𣺸´Ù ÀÛ´Ù¸é ´ÙÀ½³¯ÀÇ ÇØ´ç½Ã°£À¸·Î Çؼ®µÈ´Ù. 'Mo1800-0300'À̶ó°í ¾²¸é Çã¿ëµÇ´Â ½Ã°£Àº ¿ù¿äÀÏ Àú³á 6½ÃºÎÅÍ ´ÙÀ½³¯ »õº® 3½Ã±îÁö¶ó´Â ¶æÀÌ´Ù.

ÁÖ¾îÁø ½Ã°£Á¦ÇÑÁ¶°ÇÀº ¾ÕÀÇ ¼¼°³ÀÇ ÇʵåÀÇ Á¶°ÇÀÌ ¸¸Á·µÇ´Â °æ¿ì¿¡¸¸ Àû¿ëµÈ´Ù.

Àб⠽±°í Æí¸®Çϵµ·Ï ±ÔÄ¢Àº newline chararacter·Î ºÐ¸®Çؼ­ ´ÙÀ½ÁÙ¿¡ °è¼Ó ¾²´Â °ÍÀÌ °¡´ÉÇÏ´Ù.

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

ÀÌ ¸ðµâÀÇ »ç¿ëÀº Linux-PAM ¼³Á¤ ÆÄÀÏ¿¡¼­ ´ÙÀ½°ú °°ÀÌ ½ÃÀ۵ȴÙ.

#
# pam_time À» ·Î±×ÀÎ ¿äû¿¡ Àû¿ë
#
login   account  required       pam_time.so

¿©±â¼­ÀÇ ¿¹´Â login ÇÁ·Î±×·¥¿¡ ÀÌ ¸ðµâÀ» »ç¿ëÇÏ´Â °ÍÀÌ´Ù.

/etc/security/time.conf¼³Á¤ÆÄÀÏ¿¡¼­ »ç¿ëÇÒ ¼ö ÀÖ´Â ±ÔÄ¢ÀÇ ¿¹´Â ´ÙÀ½°ú °°´Ù.

login ; tty* & !ttyp* ; !root ; !Al0000-2400

root¸¦ Á¦¿ÜÇÑ ¸ðµç »ç¿ëÀÚ´Â ¾ðÁ¦³ª ÄÜ¼Ö ·Î±×ÀÎÀ» ÇÏ´Â °ÍÀÌ °ÅºÎµÈ´Ù.

games ; * ; !waster ; Wd0000-2400 | Wk1800-0800

games (Linux-PAMÀ» »ç¿ëÇϱâ À§Çؼ­ ¼³Á¤µÊ) ¼­ºñ½º´Â ±Ù¹«½Ã°£´ë¿¡´Â »ç¿ëÀÌ ºÒ°¡´ÉÇÏ´Ù. ÀÌ ±ÔÄ¢Àº waster¶ó´Â »ç¿ëÀÚ¿¡°Ô´Â Àû¿ëµÇÁö ¾Ê´Â´Ù.

ÇöÀç ¼¼¼ÇÀ» °­Á¦·Î Á¾·áÇÏ´Â µ¥¸óÀº ¾ø´Ù. ÀÌ°ÍÀº ³ªÁß¿¡ °íÃÄÁ®¾ß ÇÒ ºÎºÐÀÌ´Ù.

À߸ø ¼³Á¤µÈ ±ÔÄ¢Àº syslog(3)¿¡ ÀÇÇؼ­ ¿¡·¯·Î ±â·ÏµÈ´Ù.


6.26. The Unix Password module

6.26.1. °³¿ä

¸ðµâ À̸§:

pam_unix

ÀúÀÚ:

À¯Áöº¸¼ö:

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

account; authentication; password; session

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

º¸¾È µî±Þ:

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

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

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


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

ÀÌ°ÍÀº Ç¥ÁØ UNIXÀÎÁõ ¸ðµâÀÌ´Ù. °èÁ¤ÀÇ Á¤º¸¸¦ ¾ò°í ¾²°í ÀÎÁõ󸮸¦ Çϱâ À§Çؼ­ ½Ã½ºÅÛÀÇ ¶óÀ̺귯¸®¸¦ »ç¿ëÇÑ´Ù. º¸Åë ÀÌ Á¤º¸´Â /etc/passwdÆÄÀÏÀ̳ª shadow°¡ »ç¿ëµÇ´Â °æ¿ì /etc/shadowÆÄÀÏ¿¡¼­ ¾ò¾î¿Â´Ù.


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

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

debug; audit

¼³¸í:

debug ¿É¼ÇÀÇ °æ¿ì syslog(3)¿¡ ¸ðµâÀÇ µ¿ÀÛ¿¡ ´ëÇؼ­ ´õ ¸¹Àº Á¤º¸¸¦ ±â·ÏÇÑ´Ù. ´Ù¸¥ ±¸¼º¿ä¼Ò°¡ Áö¿øÇÏ´Â ¿É¼ÇÀº ±â·ÏÀ» ÇÏÁö ¾Ê°í ¹«½ÃÇÏ°í ±× ¿ÜÀÇ ¿É¼ÇÀº ·Î±×¿¡ ¿¡·¯·Î ±â·ÏµÈ´Ù. audit¿É¼ÇÀ» »ç¿ëÇÏ´Â °æ¿ì º¸´Ù ´õ ¸¹Àº Á¤º¸¸¦ ±â·ÏÇÑ´Ù.

expire; last_change; max_change; min_change; warn_changeÀÇ shadow±¸¼º¿ä¼Òµé¿¡ ±â¹ÝÇÏ°í ÀÖ´Â ÀÌ ¸ðµâÀº »ç¿ëÀÚÀÇ °èÁ¤°ú Æнº¿öµå¸¦ È®ÀÎÇÑ´Ù. Æнº¿öµå¸¦ È®ÀÎÇÏ´Â °æ¿ì »ç¿ëÀÚÀÇ Æнº¿öµå¸¦ º¯°æÇϵµ·Ï ±ÇÀ¯Çϰųª PAM_AUTHTOKEN_REQD¸¦ µ¹·ÁÁÜÀ¸·Î½á »ç¿ëÀÚ°¡ »õ Æнº¿öµå¸¦ ÀÔ·ÂÇÒ ¶§±îÁö ¼­ºñ½ºÀÇ ½ÇÇàÀ» À¯º¸ÇÑ´Ù. ¾Õ¿¡¼­ ±â¼úµÈ ³»¿ëÀº GNU Libc info¹®¼­¿¡¼­ ±â·ÏµÇ¾î ÀÖ´Ù. ¸¸¾à ÀÌ Ç׸ñÁß ÇϳªÀÌ»óÀÇ ±â·ÏÀ» ÀоîµéÀÏ ¼ö ¾ø´Ù¸é ÇØ´çµÇ´Â shadowÀÇ Ã¼Å©¸¦ ÇàÇÏÁö ¾Ê´Â´Ù.

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

°èÁ¤°ü¸® ¸ðµå¿¡¼­ ´ÙÀ½°ú °°ÀÌ ÀÌ ¸ðµâÀ» ½ÇÇà½ÃÅ°´Â °ÍÀÌ °¡´ÉÇÏ´Ù.

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


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

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

debug; audit; use_first_pass; try_first_pass; nullok; nodelay

¼³¸í:

debug ¿É¼ÇÀÇ °æ¿ì syslog(3)¿¡ ¸ðµâÀÇ µ¿ÀÛ¿¡ ´ëÇؼ­ ´õ ¸¹Àº Á¤º¸¸¦ ±â·ÏÇÑ´Ù. ´Ù¸¥ ±¸¼º¿ä¼Ò°¡ Áö¿øÇÏ´Â ¿É¼ÇÀº ±â·ÏÀ» ÇÏÁö ¾Ê°í ¹«½ÃÇÏ°í ±× ¿ÜÀÇ ¿É¼ÇÀº ·Î±×¿¡ ¿¡·¯·Î ±â·ÏµÈ´Ù. audit¿É¼ÇÀ» »ç¿ëÇÏ´Â °æ¿ì º¸´Ù ´õ ¸¹Àº Á¤º¸¸¦ ±â·ÏÇÑ´Ù.

ÀÌ ¸ðµâÀÇ ±âº»ÀûÀ¸·Î »ç¿ëÀÚÀÇ ¾ÏÈ£°¡ ºñ¾îÀÖ´Ù¸é »ç¿ëÀÚ°¡ ¼­ºñ½º¸¦ »ç¿ëÇÏÁö ¸øÇÏ°Ô ÇÑ´Ù. nullok¿É¼ÇÀ» »ç¿ëÇϸé ÀÌ ±âº»µ¿ÀÛÀ» ¹«È¿È­½ÃŲ´Ù.

try_first_pass¿É¼ÇÀ» »ç¿ëÇÏ¸é »ç¿ëÀÚ¿¡°Ô ¾ÏÈ£¸¦ ÀÔ·ÂÇÏ´Â °ÍÀ» ¿ä±¸Çϱâ Àü¿¡ ¾Õ¼± ÀÎÁõ¸ðµâ¿¡¼­ »ç¿ëµÈ ¾ÏÈ£¸¦ ¸ÕÀú »ç¿ëÇؼ­ ´ëÀÔÇغ»´Ù. use_first_pass¿É¼ÇÀ» »ç¿ëÇÏ´Â °æ¿ì ÀÌ·¸°Ô ÀúÀåµÈ ¾ÏÈ£¸¸À» »ç¿ëÇÏ¸ç »ç¿ëÀÚ¿¡°Ô ¾ÏÈ£¸¦ ÀÔ·ÂÇÒ °ÍÀ» ¿ä±¸ÇÏ´Â ¸Þ½ÃÁö¸¦ ³»º¸³»Áö ¾Ê´Â´Ù. ¸¸¾à »ç¿ë°¡´ÉÇÑ ¾ÏÈ£°¡ ¾ø°Å³ª Ʋ¸®´Ù¸é »ç¿ëÀÚ°¡ ¼­ºñ½º¸¦ »ç¿ëÇÏ´Â °ÍÀ» ¸·´Â´Ù.

nodelay¿É¼ÇÀ» »ç¿ëÇÑ °æ¿ì ÀÎÁõÀüü°¡ ½ÇÆÐÇÏ°Ô µÇ´Â °æ¿ì Àá½Ã ±â´Ù¸®´Â °ÍÀ» Ãë¼Ò½ÃŲ´Ù. ±âº»ÀûÀ¸·Î °¢ ¹¦µâÀº ÃÊ ´ÜÀ§·Î delay-on-failure¸¦ ¿äûÇÏ°Ô µÇ¾î ÀÖ´Ù.

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

unix_chkpwd ¶ó´Â ÇÁ·Î±×·¥Àº »ç¿ëÀÚÀÇ ¾ÏÈ£°¡ ÀÐÀ»¼ö ¾ø´Â Àå¼Ò¿¡ º¸°üµÇ´Â °æ¿ì »ç¿ëÀÚÀÇ ¾ÏÈ£¸¦ °Ë»çÇØÁÖ´Â ¿ªÇÒÀ» ÇÑ´Ù. ÀÌ ÇÁ·Î±×·¥Àº ¸Å¿ì ´Ü¼øÇÏ¸ç ´ÜÁö ÀÌ ÇÁ·Î±×·¥À» È£ÃâÇÑ »ç¿ëÀÚÀÇ ¾ÏÈ£¸¦ °Ë»çÇØÁÖ´Â ¿ªÇÒ¸¸ ÇÒ »ÓÀÌ´Ù. ÀÌ ÇÁ·Î±×·¥Àº »ç¿ëÀÚ¸¦ À§Çؼ­ Åõ¸íÇÏ°Ô ÀÛµ¿µÇ¸ç ÀÌ ¸ðµâÀÇ ÀÎÁõ ±¸¼º¿ä¼Ò¿¡ ÀÇÇؼ­ ¼öÇàµÈ´Ù. ÀÌ·¯ÇÑ ¹æ½ÄÀ¸·Î xlock°°Àº ÇÁ·Î±×·¥ÀÌ setuid-root¸¦ ÇÏÁö ¾Ê°íµµ ½ÇÇàµÇ´Â °ÍÀÌ´Ù.

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

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

ÀÎÁõ ¸ðµå¿¡¼­´Â ´ÙÀ½°ú °°ÀÌ »ç¿ëÇÒ ¼ö ÀÖ´Ù.

#
# »ç¿ëÀÚ¸¦ ÀÎÁõ
#
login   auth  required       pam_unix.so


6.26.5. Æнº¿öµå°ü¸® ±¸¼º¿ä¼Ò

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

debug; audit; nullok; not_set_pass; use_authtok; try_first_pass; use_first_pass; md5; bigcrypt; shadow; nis; remember

¼³¸í:

pam_unix¸ðµâÀÇ ÀÌ ±¸¼º¿ä¼Ò´Â »ç¿ëÀÚÀÇ ¾ÏÈ£¸¦ °»½ÅÇÏ´Â ¿ªÇÒÀ» ÇÑ´Ù.

Åë»óÀûÀ¸·Î ¾²ÀÌ´Â ¾ÏȣȭµÈ »ç¿ëÀÚ¾ÏÈ£¸¦ ÀúÀåÇÏ´Â UNIX databaseÀÇ °æ¿ì ¾Ïȣȭ 󸮸¦ ÇÒ ¶§ ÀüÅëÀÇ crypt(3)¸¦ »ç¿ëÇÏÁö ¾Ê°í md5¿É¼ÇÀ» »ç¿ëÇؼ­ MD5 ÇÔ¼ö¸¦ È£ÃâÇÑ´Ù. 8ÀÚ ÀÌ»óÀ» ¾Ïȣȭ ó¸®Çؼ­ ÀúÀåÇϱâ À§Çؼ­´Â ÀÌ ¿Ü¿¡µµ bigcrypt¿É¼ÇÀ» »ç¿ëÇÏ¿© Ç¥ÁØ UNIXÀÇ crypt ¾Ë°í¸®ÁòÀ» È®ÀåÇÑ DECÀÇ 'C2'È®ÀåÇÔ¼ö¸¦ ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù.

nullok ¿É¼ÇÀ» »ç¿ëÇÏ¸é ¾ÏÈ£¸¦ °ø¶õÀ¸·Î ºñ¿öµÎµµ·Ï ¹Ù²Ù´Â °ÍÀ» Çã¿ëÇÑ´Ù. ÀÌ ¿É¼ÇÀÌ ¾ø´Â °æ¿ì ¾ÏÈ£°¡ ¾ø´Â °ÍÀº °èÁ¤À» Àá±×´Â °ÍÀ¸·Î Çؼ®µÈ´Ù.

use_first_pass¿É¼ÇÀº ¿¾³¯ ¾ÏÈ£¿Í »õ·Î¿î ¾ÏÈ£¸¦ ¾Õ¼± ¸ðµâ¿¡¼­ »ç¿ëµÈ ¾ÏÈ£·Î °íÁ¤½ÃÅ°´Â ¿ªÇÒÀ» ÇÑ´Ù. try_first_pass¿É¼ÇÀÌ »ç¿ëµÈ °æ¿ì ¾Õ¼­ »ç¿ëµÈ »ç¿ëÀÚÀÇ ¿¾ ¾ÏÈ£¸¦ ÀÌ¿ëÇؼ­ »ç¿ëÀÚ°¡ ¿¾³¯ ¾ÏÈ£¸¦ ´Ù½Ã ÀÔ·ÂÇÒ ÇÊ¿ä°¡ ¾øµµ·Ï ÇÑ´Ù. ¸¸¾à ÀÌ ¿¾³¯ ¾ÏÈ£°¡ ¹Ù¸£Áö ¾Ê´Ù¸é »ç¿ëÀÚ´Â ¿¾³¯ ¾ÏÈ£¸¦ ÀÔ·ÂÇ϶ó´Â ¸Þ½ÃÁö¸¦ ¹Þ°Ô µÈ´Ù. use_authtok¿É¼ÇÀ» »ç¿ëÇÑ °æ¿ì ÀÌ ¸ðµâÀº »õ ¾ÏÈ£¸¦ ¾Õ¼­ »ç¿ëµÈ ¾Ïȣó¸® ¸ðµâ¿¡¼­ »ç¿ëÇÑ ¾ÏÈ£·Î ¸¸µç´Ù. (ÀÌ °æ¿ì´Â ¾Õ¼­ Cracklib¸ðµâÀ» ÀûÃþÇÏ´Â ¿¹Á¦¿¡¼­ ¼³¸íÇß´Ù.)

not_set_pass¿É¼ÇÀº ´Ù¸¥ ¾Ïȣó¸® ¸ðµâ°ú ¿¾³¯ ¾ÏÈ£³ª »õ ¾ÏÈ£¸¦ Áְųª ¹Þ´Â °Í¿¡ ´ëÇؼ­ ÀüÇô ½Å°æ¾²Áö ¾Êµµ·Ï Áö½ÃÇÑ´Ù.

debug ¿É¼ÇÀº ÀÌ ¸ðµâÀÇ ¾Ïȣó¸® ºÎºÐÀÇ µ¿ÀÛ¿¡ ´ëÇؼ­ syslog(3)¿¡ ´õ ¸¹Àº Á¤º¸¸¦ ±â·ÏÇϵµ·Ï ÇÑ´Ù. ´Ù¸¥ ¿É¼ÇµéÀº syslog(3)¿¡ ÀÇÇؼ­ ¿¡·¯·Î ±â·ÏµÉ ¼öµµ ÀÖ´Ù. audit¿É¼ÇÀ» »ç¿ëÇÏ¸é ´õ ¸¹Àº Á¤º¸¸¦ ±â·ÏÇÑ´Ù.

nis¿É¼ÇÀº pam_unix¸ðµâÀº »õ ¾ÏÈ£¸¦ ¼³Á¤Çϴµ¥ NIS RPC¸¦ ÀÌ¿ëÇؼ­ ½ÃµµÇÒ °ÍÀ» Áö½ÃÇÑ´Ù.

remember¿É¼ÇÀº ÇϳªÀÇ °ªÀ» ¹Þ¾ÆµéÀδÙ. ÀÌ °ªÀº °¢ »ç¿ëÀÚº°·Î °¡Àå ÃÖ±Ù¿¡ »ç¿ëµÈ ¾ÏÈ£ÀÇ °¹¼ö´Ù. ÀÌ ¾ÏÈ£µéÀº /etc/security/opasswd¿¡ ÀúÀåµÇ¸ç »ç¿ëÀÚÀÇ ¾ÏÈ£ º¯°æ ÀÌ·ÂÀ» Á¶»çÇØ °¥Àº ¾ÏÈ£¸¦ ³Ê¹« ÀÚÁÖ ¹Ù²Ù¾î¼­ »ç¿ëÇÏ´Â °ÍÀ» ¸·´Â´Ù.

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

Ç¥ÁØ »ç¿ë¹æ¹ý:

#
# »ç¿ëÀÚ ¾ÏÈ£¸¦ ¹Ù²Þ
#
passwd   password   required   pam_unix.so

pluggable ¾ÏÈ£ °Ë»ç ¸ðµâÀÎ pam_cracklib°ú ÇÔ²² ÀûÃþÇؼ­ »ç¿ëÇÏ´Â ¿¹ÀÌ´Ù.

#
# »ç¿ëÀÚ ¾ÏÈ£¸¦ ¹Ù²Þ
#
passwd   password   required   pam_cracklib.so retry=3 minlen=6 difok=3
passwd   password   required   pam_unix.so use_authtok nullok md5


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

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

¼³¸í:

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

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

¼¼¼Ç ¸ðµâÀ» »ç¿ëÇÏ´Â °ÍÀº Á÷°üÀûÀÌ´Ù.

#
# ¼¼¼Ç ½ÃÀÛ°ú Á¾·á
#
login   session  required       pam_unix.so


6.27. The userdb module

6.27.1. °³¿ä

¸ðµâ À̸§:

pam_userdb

ÀúÀÚ:

Cristian Gafton <gafton@redhat.com>

À¯Áöº¸¼ö:

ÀúÀÚ

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

authentication

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

º¸¾È µî±Þ:

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

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

Berkeley DB°¡ ÇÊ¿äÇÔ.

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


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

.db database¿¡¼­ »ç¿ëÀÚ¸¦ °Ë»öÇÏ°í ±× database¿¡¼­ »ç¿ëÀÚÀÇ ¾ÏÈ£¸¦ °Ë»çÇÔ


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

ÀνĵǴ ÀÎÀÚµé:

debug; icase; dump; db=XXXX;

¼³¸í:

ÀÌ ¸ðµâÀº »ç¿ëÀÚ¸í°ú ¾ÏÈ£¸¦ Berkely DB database¿¡¼­ °Ë»çÇÏ´Â ¿ªÇÒÀ» ÇÑ´Ù. database´Â »ç¿ëÀÚÀ̸§À¸·Î Á¤·ÄµÇ¾î ÀÖÀ¸¸ç »ç¿ëÀÚ¸íÀÇ Å°¿¡ ÇØ´çÇÏ´Â ÀÚ·á´Â ¾ÏȣȭµÇÁö ¾ÊÀº »óÅ·Πº¸°üµÇ°í ÀÖ´Â »ç¿ëÀÚ ¾ÏÈ£ÀÌ´Ù. ±×·¯¹Ç·Î DB databaseÀÚüÀÇ Á¢±Ù ±ÇÇÑ¿¡ ´ëÇؼ­ ÁÖÀǸ¦ ±â¿ï¿©¾ß ÇÑ´Ù.

ÀÌ ¸ðµâÀº »ç¿ëÀÚÀÇ ¾ÏÈ£¸¦ ÀüÅëÀûÀÎ ¹æ½ÄÀ¸·Î ÀоîµéÀδÙ. ¸¸¾à ´ç½ÅÀÌ ÀÌ ¸ðµâÀ» ´Ù¸¥ ÀÎÁõ ¸ðµâ(pam_pwdb°°Àº ¸ðµâ)º¸´Ù ¸ÕÀú »ç¿ëÇÏ´Â °æ¿ì¿¡´Â ±× ¸ðµâÀÌ ÀÔ·ÂµÈ ¾ÏÈ£¸¦ ÀÌ ¸ðµâ¿¡¼­ ¸¸µå´Â Ç׸ñÀÎ PAM_AUTHTOK·Î ºÎÅÍ ÀоîµéÀ̵µ·Ï ¸¸µé¾î¾ß ÇÑ´Ù.

ÀÌ ¸ðµâÀÇ µ¿ÀÛÀº /etc/pam.d/<service>ÆÄÀÏ¿¡ ÀÖ´Â ¼³Á¤¿¡ µû¶ó Á¦¾îµÈ´Ù.

  • debug - syslog(3)¿¡ ´õ ¸¹Àº Á¤º¸¸¦ Á¦°øÇÑ´Ù.

  • icase - ¾ÏÈ£¸¦ ´ë¼Ò¹®ÀÚ ±¸º°ÇÏÁö ¾Ê°í °Ë»çÇÑ´Ù.

  • dump - databaseÀÇ ¸ðµç ³»¿ëÀ» log¿¡ ±â·ÏÇÑ´Ù. (ÀÌ°ÍÀ» ±âº»µ¿ÀÛÀ¸·Î ¸¸µéÁö ¸»¶ó!)

  • db=XXXX - XXXX¶ó´Â À§Ä¡¿¡ ÀÖ´Â databaseÆÄÀÏÀ» »ç¿ëÇÑ´Ù. º¸Åë Berkeley DB´Â ÇÊ¿äÇÑ È®ÀåÀÚ¸¦ ÀÚµ¿À¸·Î ºÙ¿©ÁֹǷΠ/etc/foodata.db´ë½Å /etc/foodata¸¸ ½á ÁÖ¾î¾ß ÇÑ´Ù.

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

ÀÌ°ÍÀº /tmp/dbtest.dbÆÄÀÏ¿¡ ÀúÀåµÈ »ç¿ëÀÚÀÇ ·Î±×ÀÎÀ̸§°ú ¾ÏÈ£¸¦ °Ë»çÇØ ¸ÂÀ¸¸é ·Î±×ÀÎÀ» Çã¿ëÇÏ´Â º¸ÅëÀÇ ftp¼³Á¤ ÆÄÀÏÀÌ´Ù. (ÀÌ ÆÄÀÏÀº º¸Åë ´ëºÎºÐÀÇ ½Ã½ºÅÛ¿¡¼­ /etc/pam.d/ftp¿¡ ÀÖ´Ù)

#%PAM-1.0
auth       required     pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed
auth       sufficient   pam_userdb.so icase db=/tmp/dbtest
auth       required     pam_pwdb.so shadow nullok try_first_pass
auth       required     pam_shells.so
account    required     pam_pwdb.so
session    required     pam_pwdb.so


6.28. Warning logger module

6.28.1. °³¿ä

¸ðµâ À̸§:

pam_warn

ÀúÀÚ:

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

À¯Áöº¸¼ö:

ÀúÀÚ

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

authentication; password

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

º¸¾È µî±Þ:

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

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

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

¿ø°Ý »ç¿ëÀÚ¿Í È£½ºÆ®¿¡ ´ëÇÑ Á¤º¸¸¦ ·Î±×¿¡ ±â·Ï(¸¸¾à pam-itemÀ» ¾Ë°í ÀÖÀ¸¸é)


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

ÀÌ ¸ðµâÀº Á¦¾ÈµÈ ÀÎÁõ¿¡ ´ëÇÑ Á¤º¸¸¦ ±â·ÏÇϰųª ÇÁ·Î±×·¥ÀÌ ¾ÏÈ£¸¦ °»½ÅÇϵµ·Ï ÇÏ´Â °ÍÀ» ¸ñÀûÀ¸·Î ¸¸µé¾îÁ³´Ù.


6.28.3. ÀÎÁõ°ü¸®+Æнº¿öµå°ü¸® ±¸¼º¿ä¼Ò

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

¼³¸í:

¼­ºñ½º, Å͹̳Î, »ç¿ëÀÚ, ¿ø°Ý»ç¿ëÀÚ, ¿ø°ÝÈ£½ºÆ®¸¦ syslog(3)¿¡ ±â·ÏÇÑ´Ù. °¢ Ç׸ñµéÀº Á¶»çÇؼ­ ¾ò´Â °ÍÀÌ ¾Æ´Ï¶ó Ç¥ÁØÀÇ pam-itemµéÀ» ÀоîµéÀδÙ.

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

¾ÕÀÇ ¼³Á¤ ÆÄÀϺκÐ(4. Linux-PAM ¼³Á¤ÆÄÀÏ)¿¡¼­ ¼³¸íµÇ¾î ÀÖÀ½


6.29. ÈÙ ±×·ì ¸ðµâ(The wheel module)

6.29.1. °³¿ä

¸ðµâ À̸§:

pam_wheel

ÀúÀÚ:

Cristian Gafton <gafton@redhat.com>

À¯Áöº¸¼ö:

ÀúÀÚ

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

authentication

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

º¸¾È µî±Þ:

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

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

libpwdb ÇÊ¿äÇÔ.

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


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

root±ÇÇÑÀ» ¾òÀ» ¼ö ÀÖ´Â ÀÚ°ÝÀ» wheel(gid=0) ±×·ìÀÇ »ç¿ëÀÚ¿¡°Ô¸¸ ÁØ´Ù.


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

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

debug; use_uid; trust; deny; group=XXXX

¼³¸í:

ÀÌ ¸ðµâÀº ¼ÒÀ§ wheel±×·ìÀ» »ç¿ëÇϵµ·Ï ÇÑ´Ù. ÀÌ ¸ðµâÀº ±âº»ÀûÀ¸·Î´Â root±ÇÇÑÀ» ¾òÀ» ¼ö ÀÖ´Â ÀÚ°ÝÀ» »ç¿ëÀÚ°¡ wheel±×·ì¿¡ ¼ÓÇÑ °æ¿ì¿¡¸¸ °¡´ÉÇϵµ·Ï ¸¸µç´Ù. (¿ì¼± ÀÌ ¸ðµâÀº 'wheel'±×·ìÀÌ Á¸ÀçÇÏ´ÂÁö¸¦ ¸ÕÀú °Ë»çÇÑ´Ù. ¸¸¾à ¾ø´Ù¸é ÀÌ ¸ðµâÀº group id°¡ 0ÀÎ ±×·ìÀ» wheel ±×·ìÀ¸·Î ÁöÁ¤ÇÑ´Ù)

ÀÌ ¸ðµâÀÇ µ¿ÀÛÀº /etc/pam.confÆÄÀÏ¿¡ Á¤ÀÇµÈ ³»¿ë¿¡ µû¶ó¼­ Á¦¾îÇÒ ¼ö ÀÖ´Ù.

  • debug - syslog(3)¿¡ ´õ ¸¹Àº Á¤º¸¸¦ Á¦°øÇÑ´Ù.

  • use_uid - ÀÌ ¿É¼ÇÀ» »ç¿ëÇÏ¸é »ç¿ëÀÚÀÇ getlogin(3)À̸§À» ÀÌ¿ëÇÏÁö ¾Ê°í ÇöÀç ÇÁ·Î¼¼½ºÀÇ uid¸¦ ÀÌ¿ëÇÑ´Ù. ÀÌ ¿É¼ÇÀº ¿¹¸¦ µé¾î 'su'¸í·É¾î °°Àº °æ¿ì¿Í °°ÀÌ ÇÑ °èÁ¤¿¡¼­ ´Ù¸¥ °èÁ¤À¸·Î ¶Ù¾î ³Ñ´Â °æ¿ì À¯¿ëÇÏ´Ù.

  • trust - ÀÌ ¿É¼ÇÀÌ »ç¿ëµÈ °æ¿ì root±ÇÇÑÀ» ¿ä±¸ÇÑ »ç¿ëÀÚ°¡ wheel±×·ì¿¡ ¼ÓÇÑ °æ¿ì PAM_SUCCESS¸¦ µ¹·ÁÁÖµµ·Ï ÇÑ´Ù. ±âº»µ¿ÀÛÀº ÀÌ·± °æ¿ì¿¡ PAM_IGNORE¸¦ µ¹·ÁÁÖ´Â °ÍÀÌ´Ù. ÀÌ ¿É¼ÇÀ» »ç¿ëÇϸé wheel group»ç¿ëÀÚµéÀÌ ¾ÏÈ£¸¦ ÀÔ·ÂÇÏÁö ¾Ê°íµµ root±ÇÇÑÀ» ȹµæÇÒ ¼ö ÀÖ°Ô ¸¸µç´Ù. ÁÖÀÇÇؼ­ »ç¿ëÇϱ⠹ٶõ´Ù!

  • deny - ¸ðµâÀÇ µ¿ÀÛÀ» ¹Ý´ë·Î Çϵµ·Ï ¸¸µç´Ù. ¸¸¾à »ç¿ëÀÚ°¡ wheel±×·ì¿¡ ¼ÓÇÑ »ç¿ëÀÚ°¡ uid=0À» ¾ò±â À§ÇÑ Á¢±ÙÀ» ÇÑ´Ù¸é Á¢±ÙÀ» °ÅºÎÇÑ´Ù. (¾Æ¸¶µµ ÀÌ°ÍÀº Å͹«´Ï¾ø´Â ÁþÀÏ °ÍÀÌ´Ù.) ÀÌ ¿É¼ÇÀº 'group= '¿É¼Ç°ú °°ÀÌ »ç¿ëµÇ±â À§Çؼ­ ¸¸µé¾îÁ³´Ù.

  • group=XXXX - gid=0 ÀÎ ±×·ìÀ» °Ë»çÇÏ´Â ´ë½Å ÀÎÁõÀ» À§Çؼ­ XXXX±×·ìÀ» °Ë»çÇÑ´Ù. ¿©±â¼­ XXXX´Â ±×·ìÀÇ À̸§ÀÌÁö ¼ýÀÚ·Î µÈ ±×·ìÀÇ id°¡ ¾Æ´Ï´Ù.

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

superuser ±ÇÇÑÀ» ¾òÀ» ¼ö ÀÖ´Â ±ÇÇÑÀ» wheel group ¿¡¸¸ Çã¿ëÇÏ·Á´Â °æ¿ì ´ÙÀ½ÀÇ ³»¿ëÀ» ¼³Á¤ÆÄÀÏ¿¡ ±â·ÏÇÏ¸é µÈ´Ù.

#
# root ´Â ±âº»ÀûÀ¸·Î Á¢±ÙÀÌ Çã¿ëµÈ´Ù (rootok), ¿ÀÁ÷ wheel ±×·ìÀÇ »ç¿ëÀÚ¸¸
# root (wheel) °¡ µÉ ¼ö ÀÖÁö¸¸ root°¡ ¾Æ´Ñ »ç¿ëÀÚ´Â Unix ÀÎÁõÀ» °ÅÄ£´Ù.
#
su      auth     sufficient     pam_rootok.so
su      auth     required       pam_wheel.so
su      auth     required       pam_unix_auth.so


7. ÆÄÀϵé(Files)

/usr/lib/libpam.so.*

ÀÀ¿ëÇÁ·Î±×·¥µéÀÌ Linux-PAM¿¡ Á¢±ÙÇÏ°Ô ÇØ ÁÖ´Â °øÀ¯ ¶óÀ̺귯¸®

/etc/pam.conf

Linux-PAM ȯ°æ¼³Á¤ ÆÄÀÏ

/usr/lib/security/pam_*.so

Linux-PAMÀÇ µ¿ÀûÀ¸·Î ·Îµå°¡´ÉÇÑ ¿ÀºêÁ§Æ®ÆÄÀÏ(¸ðµâ)µéÀÇ ±âº» À§Ä¡


8. °ü·Ã Âü°í(See Also)

  • The Linux-PAM Application Writers' Guide.

  • The Linux-PAM Module Writers' Guide.

  • The V. Samar and R. Schemers (SunSoft), ``UNIFIED LOGIN WITH PLUGGABLE AUTHENTICATION MODULES'', Open Software Foundation Request For Comments 86.0, October 1995. ÀÌ urlÀ» º¸¶ó: http://www.kernel.org/pub/linux/libs/pam/pre/doc/rfc86.0.txt.gz


9. ÁÖÀÇ, Âü°í»çÇ×(Notes)

¿ø·¡ ¿©±â¿¡´Â °³¹ß Âü°í»çÇ×µéÀ» ³Ö°íÀÚ Çß¾ú´Ù... 'ÇöÀç ÀÌ°ÍÀº ½ÇÁ¦·Î´Â Áö¿øµÇÁö ¾Ê½À´Ï´Ù.' °°Àº °Íµé ¸»ÀÌ´Ù. ¹®¼­ÀÇ ¹ßÇ¥½Ã ¿©±â ÀÖ´ø ³»¿ëµéÀº ¾Æ·¡¿¡ ÀÖ´Â ¹ö±×¶õ(Bugs)¿¡ ¿Å°ÜÁú °ÍÀÌ´Ù! :)

use_mapped_pass ¸ðµâÀÎÀÚ¸¦ Áö¿øÇÏ´Â °ÍÀÌ °¡´ÉÇÒ °ÍÀΰ¡? ´©±¸ ½Ñ(ȤÀº °øÂ¥·Î ¾µ ¼ö ÀÖ´Â) ÁÁÀº º¯È£»ç ¾Æ´Â »ç¶÷ ¾ø´Â°¡?!

  • Sun¿¡¼­ »õ·Î¿î °ü¸® ±×·ìÀ» Ãß°¡ÇÏ´Â °ÍÀ» °ËÅäÇ߱⠶§¹®¿¡ ÀÌ ³»¿ëÀº »ç¶óÁúÁöµµ ¸ð¸¥´Ù. ÀÌ ¹æ½ÄÀ¸·Î´Â libpamÀÌ °­·ÂÇÑ ¾Ïȣȭ¸¦ °ÅÃļ­ ¾ÈÀüÇÏ°Ô Æнº¿öµå¸¦ º¸°üÇÏ´Â ¸ðµâÀ» »ç¿ëÇÒ ¼ö ÀÖ°í, ÀÌ·±½ÄÀ¸·Î µÇ¸é ÀÌ ¸ðµâµéÀº Linux-PAM°ú °°ÀÌ ¹èÆ÷ÇÒ ÇÊ¿ä°¡ ¾øÀ» °ÍÀÌ´Ù.


10. ÀúÀÚ/°¨»çÀλç(Author/acknowledgments)

ÀÌ ¹®¼­´Â Andrew G. Morgan (morgan@kernel.org)°¡ ½è°í ´ÙÀ½°ú °°Àº »ç¶÷µéÀÌ Á¦°øÇÑ ³»¿ëµéÀÌ Æ÷ÇԵǾú´Ù:

Sun Microsystems¿¡ °¨»ç¸¦ µå¸®¸ç ƯÈ÷ Vipin Samar ¿Í Charlie Lai°¡ Ãæ°íÇØ ÁØ °Í¿¡ ´ëÇؼ­ °¨»çÇÑ´Ù. Linux-PAMÀÇ °³¹ß Ãʱ⠴ܰ迡¼­, SunÀº °í¸¿°Ôµµ ±×µéÀÇ PAM ±¸Çö¿¡ ´ëÇÑ ¹®¼­¸¦ º¼ ¼ö ÀÖ°Ô ÇØ ÁÖ¾ú´Ù. ÀÌ°ÍÀ¸·Î Linux-PAMÀÇ °³¹ßÀÌ Å©°Ô ¾Õ´ç°ÜÁú ¼ö ÀÖ¾ú´Ù.


11. ¹ö±×/Å»ÀÚ(Bugs/omissions)

¾ðÁ¦³ª PAM¸ðµâµéÀÌ °³¹ßµÇ°í ÀÖ´Ù. ÀÌ ¹®¼­°¡ ÃÖ½ÅÁ¤º¸°¡ µÇ´Â °ÍÀº °ÅÀÇ ºÒ°¡´ÉÇÏ´Ù!

ÀÌ ¸Þ´º¾óÀº ¿Ï¼ºµÇÁö ¾Ê¾Ò´Ù. ÁÁÀº ÀÏÀ» ÇÑ ¸¹Àº »ç¶÷µéÁß ´ÜÁö ÀϺθ¸ÀÌ ¿©±â¿¡ ³ª¿­µÇ¾ú´Ù.


12. ÀÌ ¹®¼­¿¡ ´ëÇÑ ÀúÀÛ±Ç(Copyright information for this document)

Copyright (c) Andrew G. Morgan 1996-9. All rights reserved. Email: <morgan@linux.kernel.org>

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, and the entire permission notice in its entirety, including the disclaimer of warranties.

  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

  3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission.

Alternatively, this product may be distributed under the terms of the GNU General Public License (GPL), in which case the provisions of the GNU GPL are required instead of the above restrictions. (This clause is necessary due to a potential bad interaction between the GNU GPL and the restrictions contained in a BSD-style copyright.)

THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


ID
Password
Join
You have an ability to sense and know higher truth.


sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2003-08-10 11:52:29
Processing time 0.0021 sec