ÀÌÀå¿¡¼´Â Linux-PAM¿¡¼ »ç¿ë°¡´ÉÇÑ ¿©·¯ ¸ðµâµé¿¡ ´ëÇÑ ¼³¸íÀ» Çϰí ÀÖ´Ù. ´ëºÎºÐ ÀÌ ¸ðµâµéÀº ¹«·á·Î »ç¿ëÇÒ ¼ö ÀÖ´Ù. ±×·¸Áö ¾ÊÀº °æ¿ì´Â Ç¥½Ã¸¦ ÇØ³õÀ» °ÍÀÌ´Ù.
¿¹Á¦µéÀ» º¹»çÇÒ ¶§¿¡´Â 2Àå¿¡¼ ¾ð±ÞÇÑ ³»¿ëÀ» ²À Àаí ÁÖÀÇÇϱ⠹ٶõ´Ù.
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°¡ »ç¿ë.
logdaemonÇüÅÂÀÇ login Á¢±Ù Á¦¾î¸¦ Á¦°øÇÑ´Ù.
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¼³Á¤ ÆÄÀÏÀº ¹èÆ÷ÆÇ¿¡ Æ÷ÇԵǾî ÀÖ´Ù.
pam_chroot
Bruce Campbell <brucec@humbug.org.au>
ÀúÀÚ; proposed on 20/11/96 - email for status
account; session; authentication
±â·ÏµÇÁö ¾Ê¾ÒÀ½
localhost·Î °¡Á¤ÇÔ
ÀÌ ¸ðµâÀº ÀÏ¹Ý »ç¿ëÀڵ鿡°Ô ÆÄÀϽýºÅÛÀÇ ·çÆ®¸¦ ¼ÓÀ̱â À§ÇÑ ¸ñÀûÀ¸·Î ¸¸µé¾îÁ³´Ù.(¿¹¸¦µé¾î, »ç¿ëÀÚÀÇ '/'´Â ½ÇÁ¦·Î´Â /some/where/elseÀÌ´Ù.)
¿©·¯ ºÐ·ùÀÇ »ç¿ëÀÚµéÀÌ ½Ã½ºÅÛÀ» »ç¿ëÇϰí, ´ç½ÅÀÌ º¸¾È¿¡ °üÇØ ¾à°£ ½Å°æÀ» ¸¹ÀÌ ¾´´Ù¸é À¯¿ëÇÒ °ÍÀÌ´Ù. ½Ã½ºÅÛ¿¡¼ »ç¿ëÀÚµéÀÌ º¼¼ö ÀÖ´Â °ÍÀ» Á¦ÇÑÇÏ°í ½ÇÇà½Ãų ¼ö ÀÖ´Â ÇÁ·Î±×·¥À» Á¦ÇÑÇϴµ¥ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
³»¿ëÀÌ ¾ÆÁ÷ ¾øÀ½.
³»¿ëÀÌ ¾ÆÁ÷ ¾øÀ½.
³»¿ëÀÌ ¾ÆÁ÷ ¾øÀ½.
PAM ¹öÁ¯¿¡ ¸Â´Â ÀÎÀÚµé°ú ·Î±× ¼öÁØÀº ÀÛ¾÷ÁßÀÌ´Ù.
Àû´çÇÑ ÇÁ·Î±×·¥µéÀÇ ¸®½ºÆ®¸¦ Á¦°øÇ϶ó - 'cat', 'ls', 'rm', 'cp', 'ed'°°Àº °Íµé.
³Ê¹« ½ÉÇÏ°Ô ÇÏÁö¸¶¶ó.(¿¹¸¦µé¾î °¢ »ç¿ëÀÚ¸¶´Ù º°µµÀÇ È¯°æÀ» ±¸¼ºÇÒ ¼ö ÀÖÁö¸¸ ¸¸¾à ±×·¸°Ô ÇÑ´Ù¸é µð½ºÅ© ³¶ºñ°¡ ½ÉÇÒ°ÍÀÌ´Ù.)
pam_cracklib
Cristian Gafton <gafton@redhat.com>
ÀúÀÚ
password
libcrack ½Ã½ºÅÛ ¶óÀ̺귯¸®¿Í ½Ã½ºÅÛ »çÀü:/usr/lib/cracklib_dict.
ÀÌ ¸ðµâÀº 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½Ã½ºÅÛ¿¡ ´ëÇØ¼, »õ ÆÐ½º¿öµåÀÇ ÃÖ¼Ò ±æÀ̸¦ ´Ã¸®´Â °ÍÀº ÁÁÀº »ý°¢ÀÌ´Ù. ÀÌ·¸°Ô ÇÏ¸é ¼·Î´Ù¸¥ Á¾·ùÀÇ ¹®ÀÚµéÀ» »ç¿ëÇØ¼ ÆÐ½º¿öµå¸¦ ¸¸µé°ÔÇÏ´Â °ÍÀ» Àå·ÁÇϰí, µ¿½Ã¿¡ ¿¹Àü ÆÐ½º¿öµå¿¡ ÀÖ´Â ¹®ÀÚµé ´ëºÎºÐÀ» ±×´ë·Î »õ ÆÐ½º¿öµå¿¡¼µµ ¾µ ¼ö ÀÖ°Ô ÇÏ´Â °ÍÀ» Çã¿ëÇÒ ¼ö ÀÖ´Ù.
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 |
pam_deny
Andrew G. Morgan <morgan@parc.power.net>
ÇöÀçÀÇ Linux-PAM À¯Áöº¸¼öÀÚ
account; authentication; password; session
¿¡·¯¸Þ½ÃÁö ¾øÀ½
ÀÌ ¸ðµâÀº Á¢±ÙÀ» °ÅºÎÇϴµ¥ »ç¿ëµÈ´Ù. À̰ÍÀº PAM±¸Á¶¸¦ ÅëÇØ ÀÀ¿ëÇÁ·Î±×·¥¿¡°Ô Ç×»ó ½ÇÆÐ¸¦ ¸®ÅÏÇÑ´Ù. ¾Õ¼(3.°³¿ä) ¸»ÇßµíÀÌ ÀÌ ¸ðµâÀº µðÆúÆ®(OTHER) ¼ÂÆÃÀ¸·Î Àû´çÇÏ´Ù.
¿ÀÁ÷ ½ÇÆÐ¸¸À» ¸®ÅÏÇÑ´Ù. ½ÇÆÐtypeÀº PAM_ACCT_EXPIRED.
ÀÌ ¸ðµâÀ» account ŸÀÔ¿¡ ¼³Á¤Çϸé Linux-PAMÀÇ account managementÇÔ¼öÀÎ pam_acct_mgmt()¸¦ »ç¿ëÇÏ´Â ÀÀ¿ëÇÁ·Î±×·¥µéÀ» ÅëÇØ ½Ã½ºÅÛ¿¡ Á¢±ÙÇÏ·Á´Â ¸ðµç »ç¿ëÀÚµéÀ» ¸·À» ¼ö ÀÖ´Ù.
´ÙÀ½ ¿¹´Â ·Î±×ÀÎÀ» ºÒ°¡´ÉÇÏ°Ô ¸¸µå´Â °ÍÀÌ´Ù.
# #¸ðµç °èÁ¤À» ¸·±â À§Çؼ ÀÌ ÁÙÀ» Ãß°¡Ç϶ó. # login account required pam_deny.so |
¾Æ¹«°Íµµ ÇÏÁö ¾Ê°í ½ÇÆÐ¸¦ ¸®ÅÏÇÑ´Ù. ½ÇÆÐtypeÀº pam_authenticate()°¡ ºÒ¸®´Â °æ¿ì¿¡´Â(»ç¿ëÀÚ ÀÎÁõÀ» ½ÃµµÇÏ´Â °æ¿ì) PAM_AUTH_ERRÀ̰í pam_setcred()°¡ ºÒ¸®´Â °æ¿ì¿¡´Â(»ç¿ëÀÚ¿¡°Ô ±ÇÇÑÀ» ÁÖ´Â °æ¿ì -- ½ÇÁ¦ÀÇ °æ¿ì¿¡ ÀÌ ÇÔ¼ö´Â Àý´ë ¾ÈºÒ¸±°ÍÀÌ´Ù.) PAM_CRED_UNAVAILÀÌ´Ù.
º°µµÀÇ ¼³Á¤ÀÌ ¾ø´Â ÀÀ¿ëÇÁ·Î±×·¥µé¿¡ ´ëÇÑ Á¢±ÙÀ» ÀÌ pam_deny¸ðµâÀ» »ç¿ëÇØ ¸·À» ¼ö ÀÖ´Ù. ¾Æ·¡¿Í °°ÀÌ Linux-PAM ¼³Á¤ÆÄÀÏ¿¡ Ãß°¡ÇÏ¸é µÈ´Ù.
# # OTHER ¶õ¿¡ ÀÌ ÁÙÀ» Ãß°¡Çؼ ±âº»ÀûÀ¸·Î ÀÀ¿ëÇÁ·Î±×·¥µéÀÇ ÀÎÁõÀÌ ¼º°øÇÏÁö # ¸øÇϵµ·Ï ¸¸µé¾î¶ó. # OTHER auth required pam_deny.so |
»ç¿ëÀÚ¿¡°Ô ÆÐ½º¿öµå¸¦ º¯°æÇÏÁö ¸øÇÏ°Ô ÇÑ´Ù. Ç×»ó PAM_AUTHTOK_ERR¸¦ ¸®ÅÏÇÑ´Ù.
ÀÌ ¸ðµâÀº ÀÀ¿ëÇÁ·Î±×·¥ÀÌ »ç¿ëÀÚÀÇ ÆÐ½º¿öµå¸¦ º¯°æÇÏ´Â °ÍÀ» ¸·´Âµ¥ »ç¿ëÇÑ´Ù. ¿¹¸¦ µé¾î loginÀÌ ¿¾³¯ ÆÐ½º¿öµå°¡ ¸¸·áµÇ¾î »õ ÆÐ½º¿öµå¸¦ ÀÚµ¿ÀûÀ¸·Î ¹¯°Ô ÇÏ´Â °ÍÀ» ¸·À¸·Á¸é ¾Æ·¡ ³»¿ëÀ» ¼³Á¤ÆÄÀÏ¿¡ Ãß°¡ÇØ¾ß ÇÑ´Ù.
# # ´Ù¸¥ ·Î±×ÀÎ Ç׸ñ¿¡ ÀÌ ÁÙÀ» Ãß°¡Çؼ ·Î±×ÀÎ ÇÁ·Î±×·¥ÀÌ »ç¿ëÀÚ ÆÐ½º¿öµå¸¦ # º¯°æÇÒ ¼ö ¾øµµ·Ï ¸·¾Æ¶ó. # login password required pam_deny.so |
È£½ºÆ® ÄÄÇ»ÅÍ¿¡¼ ÀÀ¿ëÇÁ·Î±×·¥ÀÌ ¼¼¼ÇÀ» ½ÃÀÛÇÏ´Â °ÍÀ» ¸·´Â´Ù.
³¯Â¥°°Àº ¸Þ½ÃÁö¸¦ º¸¿©ÁÖ´Â ¼¼¼Ç ¸ðµâ(XXX -ÀÌ·± ¸ðµâÀº ´©°¡ ¸¸µé¾î¾ß ÇÑ´Ù)À» °°ÀÌ »ç¿ëÇϰí, ÀÌ ¸ðµâÀº »ç¿ëÀÚ°¡ shellÀ» ½ÃÀÛÇÏÁö ¸øÇÏ°Ô ¸·´Â´Ù. pam_motd¸ðµâÀÌ ÀÖ´Ù¸é, ¾Æ·¡ ¼³Á¤Ã³·³ ÇØ¼ »ç¿ëÀÚ¿¡°Ô ½Ã½ºÅÛ ½Ã°£À» ¾Ë·ÁÁÖ°Ô ÇÒ ¼ö ÀÖ´Ù.
# # »ç¿ëÀÚÀÇ ·Î±×ÀÎÀ» (Á¤ÁßÇϰÔ) °ÅºÎÇÏ´Â ¼³Á¤ ¿¹ # login session required pam_motd.so file=/etc/system_time login session required pam_deny.so |
pam_env
Dave Kinchlea <kinch@kinch.ark.com>
ÀúÀÚ
Authentication (setcred)
/etc/security/pam_env.conf
ÀÌ ¸ðµâÀº ȯ°æº¯¼ö¸¦ ¼³Á¤/ÇØÁ¦ÇÏ´Â °ÍÀ» °¡´ÉÇÏ°Ô ÇÑ´Ù. ÀÌÀü¿¡ ¼³Á¤ÇÑ È¯°æº¯¼ö³ª PAM_RHOST°°Àº PAM_ITEMµéÀ» »ç¿ëÇÏ¿© ȯ°æº¯¼ö¸¦ ¼³Á¤ ÇÏ´Â °ÍÀ» °¡´ÉÇÏ°Ô ÇÑ´Ù.
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µéÀÌ @{string}¹®¹ýÀ» »ç¿ëÇØ ¾µ ¼ö ÀÖ´Ù. $, @ ¹®ÀÚ´Â ¹é½½·¡½¬(\)¸¦ ¾Õ¿¡ ºÙ¿©¼ ÀÏ¹Ý ¹®ÀÚ·Î »ç¿ëµÉ ¼ö ÀÖ´Ù. (¿¹¸¦ µé¾î \$) °ª¾È¿¡ Å«µû¿ÈÇ¥¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù.(ȯ°æ º¯¼ö À̸§¿¡´Â »ç¿ëÇÒ ¼ö ¾ø´Ù.) °ª¾È¿¡ °ø¹éÀÌ ÇÊ¿äÇÑ °æ¿ì¿¡´Â µû¿ÈÇ¥¸¦ °ª ÀüüÀÇ ¾ÕµÚ¿¡ ºÙ¿© »ç¿ëÇÒ ¼ö ÀÖ´Ù. À̶§¿¡ µû¿ÈÇ¥¸¦ °ª¾È¿¡ ³Ö´Â ¹æ¹ý(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¿¡ ´õ ¸¹Àº Á¤º¸¿Í ¿¹°¡ ÀÖ´Ù.
pam_filter
Andrew G. Morgan <morgan@parc.power.net>
ÀúÀÚ
account; authentication; password; session
¾ÆÁ÷ ¾øÀ½.
¸®´ª½º ±â¹Ý ½Ã½ºÅÛ¿¡¼´Â ¿¡·¯¸Þ½ÃÁö ¾øÀÌ ±ú²ýÇÏ°Ô ºôµåµÊ.
ÀÛµ¿Çϱâ À§Çؼ ½Ã½ºÅÛ¿¡ filter°¡ ¼³Ä¡µÇ¾î ÀÖ¾î¾ß ÇÔ.
ÀÌ ¸ðµâÀº ttysnoop(XXX - ·¹ÆÛ·±½º ÇÊ¿ä)°ú °°Àº ÇÁ·Î±×·¥ÀÇ ´ë¾ÈÀ¸·Î Ç÷¯±×ÀÎÀ» Á¦°øÇϱâ À§ÇØ ÀÛ¼ºµÇ¾ú´Ù. ÀÌ ±â´ÉÀ» ¼öÇàÇÏ´Â ÇÊÅͰ¡ ¾ÆÁ÷ ÀÛ¼ºµÇÁö ¾Ê¾Ò±â ¶§¹®¿¡ ÇöÀç·Î¼´Â ´ÜÁö Àå³°¨¿¡ ºÒ°úÇÏ´Ù. ¸ðµâ°ú ÇÔ²² Á¦°øµÇ´Â À¯ÀÏÇÑ ÇÊÅÍ´Â °£´ÜÇÏ°Ô ÀÔÃâ·Â ½ºÆ®¸²¿¡¼ ´ë¹®ÀÚ¿Í ¼Ò¹®ÀÚ°£¿¡ º¯È¯ÇÏ´Â ±â´ÉÀ» ÇÑ´Ù.(ÀÌ ÀÏÀº termcap¿¡ ±Ù°£À» µÐ ¿¡µðÅ͵鿡¼ ´Â ¸Å¿ì ±ÍÂúÀº ÀÏÀÌ µÉ ¼ö ÀÖ´Ù.)
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 |
pam_ftp
Andrew G. Morgan <morgan@parc.power.net>
ÀúÀÚ
authentication
»ç¿ëÀÚÀÇ À̸ÞÀÏ ÁÖ¼Ò¸¦ ÀԷ¹ÞÀ½, ½±°Ô ¼ÓÀÏ ¼ö ÀÖÀ½(XXX - º¸¿Ï ÀÛ¾÷ÀÌ ÇÊ¿äÇÔ)
ÀÌ ¸ðµâÀÇ ¸ñÀûÀº ½±°Ô »ðÀÔ°¡´ÉÇÑ À͸í ftp¸ðµå Á¢¼ÓÀ» Á¦°øÇÏ´Â °ÍÀÌ´Ù.
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 ¼³Á¤ ÆÄÀÏ)¿¡ ÀÖ´Ù. ÀÌ ¸ðµâÀº »õ·Î¿î/ÀÓ½ÃÀûÀÎ À͸í·Î±×ÀÎ °èÁ¤À» Á¦°øÇϴµ¥ »ç¿ëµÉ¼ö ÀÖ´Ù´Â °ÍÀ» Á¶½ÉÇϱ⠹ٶõ´Ù.
pam_group
Andrew G. Morgan <morgan@parc.power.net>
ÀúÀÚ
authentication
»ç¿ëÀÚ°¡ Á¢±Ù °¡´ÉÇÑ ÆÄÀϽýºÅÛÀÇ setgid »óÅ¿¡ ¹Î°¨ÇÏ´Ù.
/etc/security/group.confÆÄÀÏÀÌ ÇÊ¿äÇÏ´Ù. libpwdb°¡ Àְųª ¾ø°Å³ª ÄÄÆÄÀÏ °¡´ÉÇÏ´Ù.
¿Ã¹Ù¸£°Ô ¼³Á¤µÈ PAM_TTY Ç׸ñÀ» ÅëÇØ¼¸¸ ÀνÄÇÔ
ÀÌ ¸ðµâÀº ÁÖ¾îÁø ¼ºñ½º¸¦ ¿ä±¸Çϰí ÀÖ´Â »ç¿ëÀÚ¸í°ú Å͹̳ο¡ ±â¹ÝÇÑ ±×·ì¼¼ÆÃÀ» Á¦°øÇÑ´Ù. ÀÌ´Â time of dayÀÇ ±â·ÏÀ» °®´Â´Ù.
ÀÌ ¸ðµâÀº »ç¿ëÀÚ¸¦ ÀÎÁõÇÏÁö´Â ¾Ê´Â ´ë½Å ÀÎÁõ¸ðµâÀÇ º¸Áõ¼(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 ÆÄÀÏÀÇ ³»¿ë (¶Ç´Â µ¿µîÇÑ ³»¿ëÀÇ ´Ù¸¥ ÆÄÀÏ)¿¡ µ¡ºÙ¿© Ãß°¡·Î ±×·ìÀÇ ±ÇÇÑÀ» ºÎ¿©¹Þ´Â´Ù.
pam_issue
Ben Collins <bcollins@debian.org>
ÀúÀÚ
Authentication(pam_sm_authenticate)
ÀÌ ¸ðµâÀº »ç¿ëÀÚ¸íÀ» ÀԷ´ë±âÇϰí ÀÖÀ» ¶§ issue ÆÄÀÏ(±âº»ÀûÀ¸·Î /etc/issue ÆÄÀÏ)À» ¾Õ¿¡ Ãâ·ÂÇÑ´Ù.
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
pam_kbr4
Derrick J. Brashear <shadow@dementia.org>
ÀúÀÚ
authentication; password; session
API¸¦ »ç¿ëÇÔ
¶óÀ̺귯¸® - libkrb, libdes, libcom_err, libkadm; ÀÏ·ÃÀÇ Kerberos include ÆÄÀϵé
³×Æ®¿öÅ©¸¦ ÅëÇØ Á¢¼ÓÇÑ Kerberos Ű ¹èÆ÷ ¼¾ÅͷκÎÅÍ Kerberos ƼÄÏÀ» Áִ ƼÄÏÀ» ¹Þ´Â´Ù.
ÀÌ ¸ðµâÀº »ç¿ëÀÚ ºñ¹Ð¹øÈ£ÀÇ Kerberos °ËÁõÀ» Çϰí, Kerberos ƼÄÏ¹ß±Þ ¼ºñ½º¸¦ ¹Þ±â À§Çؼ Kerberos ƼÄÏÀ» Áִ ƼÄÏÀ» ¹Þ°í, ·Î±×¾Æ¿ôÇÒ ¶§ »ç¿ëÀÚÀÇ Æ¼ÄÏÀ» ÆÄ±«Çϰí, Kerberos ºñ¹Ð¹øÈ£¸¦ º¯°æÇÏ´Â ÀÎÅÍÆäÀ̽º¸¦ Á¦°øÇÑ´Ù.
¸ðµâÀÇ ÀÌ ±¸¼º¿ä¼Ò´Â »ç¿ëÀÚÀÇ KRBTKFILE ȯ°æº¯¼ö¸¦ ¼³Á¤ÇÒ »Ó ¾Æ´Ï¶ó (ÇöÀç·Î¼´Â ÀÌ º¯¼ö¸¦ exportÇÏ´Â ¹æ¹ýÀº ¾ø´Ù) ·Î±×¾Æ¿ô½Ã¿¡ (login¿¡ ÀÇÇØ PAM_CRED_DELETE°¡ À¯ÁöµÉ ¶§±îÁö)»ç¿ëÀÚÀÇ Æ¼ÄÏÀ» »èÁ¦ÇÑ´Ù.
¿ì¸®°¡ Linux-PAM ¸ðµâ ³»ºÎ·ÎºÎÅÍ È¯°æ¼³Á¤(environment)À» º¯°æÇÒ ¼ö ÀÖÀ» ¶§±îÁö ¸ðµâÀÇ ÀÌ ±¸¼º¿ä¼Ò´Â ±×¸® À¯¿ëÇÏÁö ¸øÇÒ °ÍÀÌ´Ù.
use_first_pass; try_first_pass
¸ðµâÀÇ ÀÌ ±¸¼º¿ä¼Ò´Â ¸ÕÀú »ç¿ëÀÚÀÇ ¿¾³¯ ÆÐ½º¿öµå¸¦ ¹Þ¾Æ ÆÐ½º¿öµå º¯°æ ¼ºñ½ºÀÇ ¼¼¼Ç۸¦ ¹Þ´Âµ¥ »ç¿ëÇÏ°í ´ÙÀ½¿¡ »õ ÆÐ½º¿öµå¸¦ ±× ¼ºñ½º¿¡ º¸³»¼ »ç¿ëÀÚÀÇ Kerberos ÆÐ½º¿öµå¸¦ º¯°æÇÑ´Ù.
À̰ÍÀº real Kerberos v4ÀÇ kadmindÇÏ°í¸¸ »ç¿ëÇØ¾ß ÇÑ´Ù. Ưº°ÇÑ ºÎºÐÀÌ ¸¸µé¾îÁöÁö ¾ÊÀ¸¸é AFS kaserver¿Í ÇÔ²² »ç¿ëÇÒ ¼ö ¾ø´Ù. ´õ ¸¹Àº Á¤º¸¸¦ À§Çؼ´Â ¸ðµâ ÀÛ¼ºÀÚ¿¡°Ô ¹®ÀÇÇϱ⠹ٶõ´Ù.
use_first_pass: try_first_pass
¸ðµâÀÇ ÀÌ ±¸¼º¿ä¼Ò´Â Kerberos ¼¹ö¿¡ ƼÄÏ¹ß±Þ Æ¼ÄÏÀ» ¿äûÇϰųª ¼±ÅÃÀûÀ¸·Î ·ÎÄÃÄÄÇ»ÅÍÀÇ È£½ºÆ®Å°¸¦ ¾ò°í ¸¸¾à ·ÎÄÃÄÄÇ»ÅÍ¿¡ Ű ÆÄÀÏÀÌ Á¸ÀçÇÑ´Ù¸é ±×°ÍÀ» °Ë»çÇÔÀ¸·Î½á »ç¿ëÀÚÀÇ Kerberos ÆÐ½º¿öµå¸¦ °Ë»çÇÑ´Ù.
À̰ÍÀº ¶ÇÇÑ »ç¿ëÀÚ°¡ ³ªÁß¿¡ »ç¿ëÇÒ Æ¼ÄÏÆÄÀÏÀ» ¾²°í, ·Î±×¾Æ¿ôÀ» ÇÒ ¶§ ƼÄÏÆÄÀÏÀ» »èÁ¦ÇÑ´Ù. (login¿¡¼ PAM_CRED_DELETE°¡ ºÒ¸±¶§±îÁø »èÁ¦ÇÏÁö ¾Ê´Â´Ù)
ÀÌ ¸ðµâÀº MIT v4 Kerberos ۸¦ »ç¿ëÇÏ´Â real Kerberos¼¹ö¿Í ÇÔ²² »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¸ðµâÀ̳ª ½Ã½ºÅÛ Kerberos ¶óÀ̺귯¸®´Â AFS ¹æ½ÄÀÇ Kerberos۸¦ Áö¿øÇϵµ·Ï ¼öÁ¤ÇÒ ¼ö ÀÖ´Ù. ÇöÀç·Î¼´Â ¾ÏÈ£ÇÐÀû Á¦ÇÑÀ» ÇÇÇϱâ À§ÇØ À̰ÍÀ» Áö¿øÇÏÁö ¾Ê°í ÀÖ´Ù.
pam_lastlog
Andrew G. Morgan <morgan@kernel.org>
ÀúÀÚ
auth
API¸¦ »ç¿ëÇÔ
/var/log/lastlogÆÄÀÏ¿¡ ÀÖ´Â ³»¿ëÀ» »ç¿ëÇÑ´Ù.
ÀÌ session ¸ðµâÀº /var/log/lastlog ÆÄÀÏÀ» °ü¸®ÇÑ´Ù. pam_open_session()ÇÔ¼ö¸¦ ÅëÇØ È£ÃâµÉ ¶§ Á¢¼Ó ¿¸² ±â·ÏÀ» Ãß°¡Çϰí pam_close_session()ÀÌ È£ÃâµÉ ¶§ ±×°ÍÀ» ¿Ï¼ºÇÑ´Ù. ÀÌ ¸ðµâÀº »ç¿ëÀÚÀÇ ¸¶Áö¸· ·Î±×Àο¡ °üÇÑ Á¤º¸¸¦ ÇÑÁٷΠǥ½ÃÇÒ ¼ö ÀÖ´Ù. ¸¸ÀÏ ÀÀ¿ëÇÁ·Î±×·¥ÀÌ ÀÌ¹Ì ÀÌ·¯ÇÑ ÀÛ¾÷À» ¼öÇàÁßÀ̶ó¸é ÀÌ ¸ðµâÀ» »ç¿ëÇÒ ÇÊ¿ä´Â ¾ø´Ù.
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 |
¸î¸î ÀÀ¿ëÇÁ·Î±×·¥Àº ÀÌ ±â´ÉÀ» ÀÚüÀûÀ¸·Î ¼öÇàÇÒ ¼öµµ ÀÖ´Ù. ±×·± °æ¿ì¿¡ ÀÌ ¸ðµâÀº ÇÊ¿äÇÏÁö ¾Ê´Ù.
pam_limits
Cristian Gafton <gafton@redhat.com> ÀÌ ¸ðµâÀÇ °³¼±À» À§ÇØ Á¶¾ðÇØÁØ Elliot Lee <sopwith@redhat.com>¿¡°Ô °¨»çÇÕ´Ï´Ù.
Cristan Gafton - 1996/11/20
session
/etc/security/limits.conf ÆÄÀÏÀÌ ÇÊ¿äÇϰí Ä¿³ÎÀÌ ¸®¼Ò½º Á¦ÇÑÀ» Áö¿øÇؾßÇÑ´Ù. ¶ÇÇÑ libpwdb ¶óÀ̺귯¸®¸¦ »ç¿ëÇÑ´Ù.
ÀÌ ¸ðµâÀº, Linux-PAM open-sessionÀ» °¡·Îä´Â °ÍÀ» ÅëÇØ user-session¿¡¼ ¾òÀ» ¼ö ÀÖ´Â ½Ã½ºÅÛ ÀÚ¿øÀ» Á¦ÇÑÇÑ´Ù. ÀÌ µ¿ÀÛ¿¡ ´ëÇØ¼´Â ¾Æ·¡¿¡¼ ¾ê±âÇÒ ¼³Á¤ÆÄÀÏÀ» ÅëÇØ ´õ ÀÚ¼¼È÷ ¼³¸íÇÒ °ÍÀÌ´Ù.
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 |
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
±ú²ýÇÏ°Ô ÄÄÆÄÀϵÊ.
list-file ¸ðµâÀº ÀÓÀÇÀÇ ÆÄÀÏ¿¡ ´ëÇØ ¼ºñ½º¸¦ Çã°¡Çϰųª °ÅºÎÇÏ´Â ¹æ¹ýÀ» Á¦°øÇÑ´Ù.
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ÇÒ ¹æ¹ýÀ» ¿¾î µÎ¾î¶ó.
pam_mail
Andrew G. Morgan <morgan@linux.kernel.org>
ÀúÀÚ
authentication (credential) Session(open)
±ú²ýÇÔ
±âº» mail µð·ºÅ丮 /var/spool/mail/
ÀÌ ¸ðµâÀº »ç¿ëÀÚÀÇ ¸ÞÀÏ µð·ºÅ丮¸¦ º¸°í ¸ÞÀÏÀÌ µé¾î ÀÖ´ÂÁö ¾Ë·ÁÁØ´Ù.
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 ÇüŶó°í »ý°¢ÇÑ´Ù´Â °ÍÀÌ´Ù. ¸î¸î ÀÀ¿ëÇÁ·Î±×·¥Àº ÀÌ ±â´ÉÀ» ÀÚüÀûÀ¸·Î ¼öÇàÇÒ ¼öµµ ÀÖ´Ù. ±×·±°æ¿ì¿¡ ÀÌ ¸ðµâÀº ÇÊ¿äÇÏÁö ¾Ê´Ù´Â Á¡À» ÁÖÀÇÇ϶ó.
ÀÎÁõ°ü¸® ºÎºÐÀº ¸ðµç µ¿ÀÛÀÌ pam_setcred() »óÅ¿¡¼ ÀÌ·ç¾îÁø´Ù´Â °ÍÀ» Á¦¿ÜÇϸé session ºÎºÐ°ú °°°Ô µ¿ÀÛÇÑ´Ù.
pam_mkhomedir
Jason Gunthorpe <jgg@ualberta.ca>
Ben Collins <bcollins@debian.org>
Session
±ú²ýÇÔ
ÀÎÁõµÈ »ç¿ëÀÚ¸¦ ·Î±×ÀνÃŰ´Â Áß¿¡ Ȩ µð·ºÅ丮¸¦ »ý¼ºÇÑ´Ù.
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 |
pam_motd
Ben Collins <bcollins@debian.org>
ÀúÀÚ
Session(open)
ÀÌ ¸ðµâÀº ¼º°øÀûÀÎ ·Î±×Àνÿ¡ motd ÆÄÀÏ(±âº»ÀûÀ¸·Î /etc/motdÆÄÀÏ)À» Ãâ·ÂÇÑ´Ù.
debug; motd=motd-file-name;
ÀÌ ¸ðµâÀº ¿©·¯ºÐÀÌ ¼º°øÀûÀÎ ·Î±×ÀÎ ÈÄ¿¡ ÀÓÀÇÀÇ motd(message of the day)¸¦ Ãâ·ÂÇÒ ¼ö ÀÖ°Ô ÇÑ´Ù. ±âº»ÀûÀ¸·Î /etc/motdÆÄÀÏÀÌ »ç¿ëµÇ°í ¾î¶² ÆÄÀϷεµ ¼³Á¤ÀÌ °¡´ÉÇÏ´Ù.
ÀÌ ¸ðµâÀÇ µ¿ÀÛÀº ´ÙÀ½ Ç÷¡±×µé¿¡ ÀÇÇØ Á¦¾îµÈ´Ù.
motd - ±âº»ÆÄÀÏÀ» »ç¿ëÇÏÁö ¾ÊÀ» ¶§ Ãâ·ÂÇÒ ÆÄÀÏ
login session pam_motd.so motd=/etc/motd |
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°³
Ç¥ÁØ UNIX nologin ÀÎÁõÀ» Á¦°øÇÑ´Ù.
Ç¥ÁØ UNIX nologinÀÎÁõÀ» Á¦°øÇÑ´Ù. /etc/nologinÆÄÀÏÀÌ Á¸ÀçÇϸé, root¸¸ ·Î±×ÀÎÇÒ ¼ö ÀÖ°í; ´Ù¸¥ »ç¿ëÀÚ´Â ¿¡·¯¸Þ½ÃÁö¿Í ÇÔ²² °ÅºÎµÈ´Ù. ¸ðµç »ç¿ëÀÚµé(root¶Ç´Â ÀÏ¹Ý »ç¿ëÀÚ)Àº /etc/nologinÀÇ ³»¿ë¿¡ µé¾î°¥ ¼ö ÀÖ´Ù.
/etc/nologinÆÄÀÏÀÌ ¾ø´Ù¸é, ¸ðµâÀº Á¶¿ëÈ÷ ¼º°øÀ» ¸®ÅÏÇÑ´Ù.
ÀÌ ¸ðµâÀÌ È¿°úÀûÀÌ·Á¸é, ¸ðµç login¹æ¹ýµéÀÌ À̰ÍÀ» »ç¿ëÇÏ°Ô ÇØ¾ßÇÑ´Ù. Ç¥ÁØ UNIX nologinµ¿ÀÛÀ» Á¦´ë·Î ÇÏ·Á¸é sufficient¸ðµâ ¾Õ¿¡ required·Î ÀÌ ¸ðµâÀ» ¼³Á¤ÇØ¾ß ÇÑ´Ù.
pam_permit
Andrew G. Morgan, <morgan@parc.power.net>
Linux-PAM À¯Áöº¸¼öÀÚ
account; authentication; password; session
¸Å¿ì ³·À½. »ç¿ë½Ã ÁÖÀÇ¿äÇÔ.
¾øÀ½.
ÀÌ ¸ðµâÀº º¸¾È»óÀ¸·Î ¸Å¿ì À§ÇèÇϹǷΠ´ë´ÜÈ÷ ÁÖÀÇÇØ¼ »ç¿ëÇØ¾ß ÇÑ´Ù. À̰ÍÀÌ ÇàÇÏ´Â ÀÏÀº ¾ðÁ¦³ª Á¢±ÙÀ» Çã¿ëÇÏ´Â °Í »ÓÀ̱⠶§¹®ÀÌ´Ù. ±× ¿ÜÀÇ ´Ù¸¥ ÀÏÀº ÀüÇô ÇÏÁö ¾Ê´Â´Ù.
¾î¶² °ü¸®±×·ì¿¡ ¼ÓÇϰǰ£¿¡ ÀÌ ¸ðµâÀÌ ÇÏ´Â µ¿ÀÛÀº ÀÛ¾÷ÀÌ ¼º°øÀûÀ̾úÀ½À» ¾Ë¸®´Â PAM_SUCCESS¸¦ µ¹·ÁÁÖ´Â ÀÏ »ÓÀÌ´Ù.
ÀÎÁõÀÇ °æ¿ì¿¡´Â »ç¿ëÀÚÀÇ À̸§À» ¾ò´Â´Ù. ¸¸¾à ÀÌ À̸§ÀÌ ¾ø´Ù¸é ¸¹Àº ÇÁ·Î±×·¥µéÀÌ ÀÛ¾÷¿¡ È¥¶õÀ» °Þ°Ô µÇ±â ¶§¹®ÀÌ´Ù.
ÀÌ ¸ðµâÀº »ç¿ëÇÏ´Â °ÍÀº °ÅÀÇ ¹Ù¶÷Á÷ÇÏÁö ¾Ê´Ù. ±×·¸Áö¸¸ ÀÌ ¸ðµâÀÇ »ç¿ëÀÌ ÀûÀýÇÑ °æ¿ìµµ ÀÖ´Ù. ¿¹¸¦µé¾î ¸¸¾à ½Ã½ºÅÛ °ü¸®ÀÚ°¡ °èÁ¤°ü¸®¸¦ ²¨¹ö¸®Áö¸¸ µ¿½Ã¿¡ ·Î±×ÀÎÀ» Çã¿ëÇÏ´Â °æ¿ì ´ÙÀ½ÀÇ ¼³Á¤ÆÄÀÏ ³»¿ëÀ» ÀÌ¿ëÇÒ ¼öµµ ÀÖ´Ù.
# # »ç¿ëÀÚ ·Î±×ÀÎÀ» °è¼ÓÇã¿ëÇÏÁö¸¸ °èÁ¤°ü¸®¸¦ ²¨¹ö¸®±â À§Çؼ # ´Ù¸¥ ·Î±×ÀÎ µî·Ï¿¡ ÀÌ ÁÙÀ» Ãß°¡Ç϶ó. # login account required pam_permit.so |
pam_pwdb
Cristian Gafton <gafton@redhat.com> and Andrew G. Morgan <morgan@kernel.org>
ÀúÀÚ
account; authentication; password; session
¿Ã¹Ù¸£°Ô ¼³Á¤µÈ libpwdb ÇÊ¿äÇÔ
ÀÌ ¸ðµâÀº pam_unix_.. ¸ðµâÀÇ ´ëüÆÇÀÌ´Ù. ÀÌ ¸ðµâÀº http://linux.kernel.org/morgan/libpwdb/index.html¿¡ ÀÖ´Â Password Database libraryÀÇ ÀϹÝÀûÀÎ ÀÎÅÍÆäÀ̽º¸¦ µû¸¥´Ù.
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 |
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´Â ÀÎÁõµÈ »ç¿ëÀÚÀÇ ±â·ÏÀ» °¡Áö°í ÀÖ´Ù.
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°úÀÇ ÀûÃþ¿¹Á¦´Â ¾Õ¼± ¸ðµâ¿¡ ´ëÇÑ ¼³¸í¿¡¼ ÀÌ¹Ì ´Ù·ç¾îÁ³´Ù.
ÀÌ ¸ðµâ ±¸¼º¿ä¼Ò¿¡¼ ÀνÄÇÏ´Â ¿É¼ÇÀº ¾Æ¹«°Íµµ ¾ø´Ù. ÀÌ ±¸¼º¿ä¼Ò´Â ´ÜÁö »ç¿ëÀÚÀ̸§°ú ¼ºñ½ºÀÇ Á¾·ù¸¦ syslog(3)¸¦ ÅëÇØ¼ ±â·ÏÇÒ »ÓÀÌ´Ù. »ç¿ëÀÚÀÇ ¼¼¼ÇÀÇ ½ÃÀÛ°ú ³¡¿¡ ´ëÇÑ ³»¿ëÀº ·Î±×¿¡ ±â·ÏµÈ´Ù.
¼¼¼Ç ¸ðµâ¿¡ ´ëÇÑ »ç¿ëÀº ¸Å¿ì Á÷°üÀûÀÌ´Ù:
# # pwdb - unix ¿Í ºñ½ÁÇÑ ¼¼¼Ç ½ÃÀÛ°ú Á¾·á # login session required pam_pwdb.so |
pam_radius
Cristian Gafton <gafton@redhat.com>
ÀúÀÚ
session
ÀÌ ¸ðµâÀº ¾ÏÈ£¸¦ ´Ù·çÁö ¾ÊÀ½.
gcc ·Î ÄÄÆÄÀÏÇÒ ¶§ /usr/include/rpc/clnt.h¸¦ ÄÄÆÄÀÏÇÏ¸é¼ Warning 1°³ ¹ß»ýÇÔ. À̰ÍÀº ³» Ã¥ÀÓÀÌ ¾Æ´Ï´Ù!
ÀνÄÇÔ. ³×Æ®¿öÅ© ¸ðµâÀÓ.(ÀÀ¿ëÇÁ·Î±×·¥¿¡ ¹«°üÇÔ)
ÀÌ ¸ðµâÀº RADIUS server·Î ÀÎÁõµÈ »ç¿ëÀڵ鿡°Ô ¼¼¼Ç ¼ºñ½º¸¦ Á¦°øÇÒ ¸ñÀûÀ¸·Î Á¦À۵Ǿú´Ù. ÇöÀç·Î´Â °èÁ¤ ¼¹ö·Î RADIUS¼¹ö¸¦ »ç¿ëÇÏ´Â °Í¸¸ Áö¿øµÈ´Ù.
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ÆÄÀÏÀÌ´Ù)
pam_rhosts_auth
Al Longyear <longyear@netcom.com>
authentication
¿¡·¯¸Þ½ÃÁö ¾øÀ½.
Ç¥ÁØ inet_addr(), gethostbyname() ÇÔ¼ö È£Ãâ
ÀÌ ¸ðµâÀº rloginÀ̳ª rsh°°Àº ÇÁ·Î±×·¥¿¡¼ ÀüÅëÀûÀ¸·Î ¾²´ø ¹æ½ÄÀ¸·Î ¼ºñ½ºÀÇ ³×Æ®¿öÅ© ÀÎÁõÀ» ÇÑ´Ù.
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ÆÄÀÏ¿¡ µî·ÏµÈ ¼¹öµé·ÎºÎÅ͸¸ Á¢¼ÓÇÒ ¼ö ÀÖ°Ô µÇ¾î ÀÖÀ½À» ÁÖÀÇÇØ¼ º¸±â ¹Ù¶õ´Ù.
pam_rootok
Andrew G. Morgan <morgan@parc.power.net>
Linux-PAM À¯Áöº¸¼öÀÚ
authentication
±ú²ýÇÔ
ÀÌ ¸ðµâÀº superuser°¡ ¾ÏÈ£ÀÇ ÀԷ¾øÀÌ ¼ºñ½º¿¡ ´ëÇÑ Á¢±ÙÀ» Çϵµ·Ï Çã¿ëÇÒ ¶§ »ç¿ëÇϵµ·Ï ¸¸µé¾îÁ³´Ù.
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¿¡ ÀÇÇØ¼ ¼öÇàµÇ´Â ÇÁ·Î±×·¥µéÀ̳ª ½Ã½ºÅÛ ºÎÆÃ½Ã¿¡ ½ÃÀ۵Ǵ ÇÁ·Î±×·¥µé¿¡´Â »ç¿ëÀÚ ÀÎÁõ¿¡ ÀÌ ¸ðµâÀ» »ç¿ëÇÏ¸é ¾ÈµÈ´Ù.
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Ç׸ñÀ» Á¤È®È÷ ±â·ÏÇØ¾ß ÇÔ.
Ç¥ÁØÀûÀÎ UNIXÀÇ securetty °Ë»ç¸¦ Á¦°øÇÑ´Ù.
Ç¥ÁØÀÇ UNIX securetty°Ë»ç¸¦ ÇØ¼ /etc/securettyÆÄÀÏ¿¡ ±â·ÏµÈ ³»¿ë°ú PAM_TTYÇ׸ñÀÇ ³»¿ë°ú ÀÏÄ¡ÇÏ´Â °æ¿ì¿¡¸¸ root°èÁ¤¿¡ ´ëÇÑ ÀÎÁõÀÌ ¼º°øÇÏ°Ô µÈ´Ù. ±× ¿ÜÀÇ ´Ù¸¥ »ç¿ëÀÚ¿¡ ´ëÇØ¼´Â Ç×»ó ÀÎÁõÀÌ ¼º°øÇÑ °ÍÀ¸·Î ó¸®ÇÑ´Ù.
´Ù¸¥ suffient ÀÎÁõ ¹æ¹ýº¸´Ù ¾Õ¼ required ÀÎÁõ ¹æ¹ýÀ¸·Î µî·ÏÇÏ´Â °ÍÀÌ Ç¥ÁØ »ç¿ë¹æ½ÄÀÌ´Ù.
pam_tally
Tim Baverstock
auth; account
faillog ÆÄÀÏ(/var/log/faillog°¡ ±âº» À§Ä¡´Ù)ÀÌ ÇÊ¿ä
ÀÌ ¸ðµâÀº ÃÑ Á¢±Ù ½ÃµµÈ¸¼ö¸¦ °ü¸®ÇÏ¸ç ·Î±×ÀÎ ¼º°ø½Ã¿¡´Â Á¢±Ù ½Ãµµ ȸ¼ö¸¦ 0À¸·Î ¸¸µé ¼ö ÀÖ°í ³Ê¹« ¸¹Àº ½ÇÆÐÇÑ ½ÃµµÈ½¼ö¿¡ µµ´ÞÇϸé Á¢±ÙÀ» Â÷´ÜÇÒ ¼ö ÀÖ´Ù.
pam_tally´Â pam_tally.so¿Í pam_tallyÀÇ µÎ °³·Î ³ª´µ¾î Á¦°øµÈ´Ù. ÀüÀÚ´Â PAM ¸ðµâÀ̰í ÈÄÀÚ´Â ´Üµ¶½ÇÇàÇü(stand-alone) ÇÁ·Î±×·¥ÀÌ´Ù. pam_tally´Â (¼±ÅÃÀûÀÎ) ÇÁ·Î±×·¥À¸·Î Ä«¿îÅÍ ÆÄÀÏÀ» Á¶È¸ÇÒ ¼öµµ ÀÖ°í °ü¸®ÇÒ ¼öµµ ÀÖ´Ù. ÀÌ ÇÁ·Î±×·¥Àº »ç¿ëÀÚÀÇ Ä«¿îÅ͸¦ º¸¿©ÁÖ°í °³Àκ° Ä«¿îÆ® ȸ¼ö¸¦ ¼öÁ¤Çϰųª ¸ðµç Ä«¿îÆ® ȸ¼ö¸¦ Áö¿ì´Â °Íµµ °¡´ÉÇÏ´Ù. ÀÌ Ä«¿îÆ®¸¦ ÀÎÀ§ÀûÀ¸·Î ³ô°Ô ¼³Á¤ÇÏ¸é »ç¿ëÀÚÀÇ ¾ÏÈ£¸¦ °íÄ¡Áö ¾Ê°íµµ »ç¿ëÀÚ ·Î±×ÀÎÀ» ¸·À» ¼ö ÀÖ´Ù. ¿¹¸¦µé¾î cron jobÀ¸·Î ¸ÅÀϹã ÀÚÁ¤¿¡ ¸ðµç Ä«¿îÆ® ȸ¼ö¸¦ Áö¿ö¹ö¸®´Â °Íµµ À¯¿ëÇÑ ¼³Á¤ÀÏ ¼öµµ ÀÖ´Ù.
Ä«¿îÆ® ÆÄÀÏÀº uid·Î À妽ºµÈ ¹ÙÀ̳ʸ® Çü½ÄÀÇ ¹è¿ÀÌ´Ù. ¸¸¾à Á¦°øµÇ´Â ÇÁ·Î±×·¥À» »ç¿ëÇÏÁö ¾ÊÀ» »ý°¢À̶ó¸é odÇÁ·Î±×·¥À¸·Îµµ ÀÌ ÆÄÀÏÀ» ÀÌÇØÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
ÁÖÀÇ»çÇ×) ÇöÀç ÀÌ ¸ðµâ¿¡´Â ¸î°¡Áö ¹®Á¦Á¡ÀÌ ³²¾ÆÀÖ´Ù. pam_tally¸ðµâÀº getpw*()¿¡ ¸Å¿ì ÀÇÁ¸ÀûÀÌ´Ù. - »ç¿ëÀÚÀÇ °èÁ¤¿¡ ´ëÇÑ database´Â ÈξÀ ´õ ´Ù¾çÇÒ °ÍÀÌ´Ù. 'ÇöÀç ·Î±×Àο¡ ´ëÇÑ Ä«¿îÆ® À¯Áö'ºñÆ®´Â #ifdef·Î 󸮵Ǿî ÇöÀç´Â ±âº»ÀûÀ¸·Î Áö¿øÇÏÁö ¾Ê´Â´Ù. µû¶ó¼ ÇöÀç´Â ÀÎÁõ¿¡ ¼º°øÇÏ´Â °Í¸¸ÀÌ Ä«¿îÅÍ ¼ýÀÚ¸¦ ÃʱâÈÇÏ´Â À¯ÀÏÇÑ ¹æ¹ýÀÌ´Ù.
onerr=(succeed|fail): ¸¸¾à ÆÄÀÏÀ» ¿ ¼ö ¾ø´Ùµç°¡ ÇÏ´Â ÀÌ»óÇÑ ÀÏÀÌ »ý±ä´Ù¸é ¸ðµâÀÌ ¾î¶»°Ô ¹ÝÀÀÇÒ °ÍÀΰ¡?
file=/where/to/keep/counts: Ä«¿îÆ®¸¦ ÀúÀåÇÒ ÆÄÀÏ À§Ä¡¸¦ ÁöÁ¤ÇÑ´Ù. ±âº»À§Ä¡´Â /var/log/faillogÀÌ´Ù.
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¿É¼ÇÀÌ ÄÑÁ®ÀÖ¾î¾ß ÇÏ´Ù.
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¿É¼ÇÀ» »ç¿ëÇϵµ·Ï Ç϶ó.
pam_time
Andrew G. Morgan <morgan@parc.power.net>
ÀúÀÚ
account
/etc/security/time.conf ¼³Á¤ ÆÄÀÏ ÇÊ¿ä
PAM_TTY Ç׸ñÀ» ÅëÇØ¼¸¸ ÀνÄ
Àß Á¤ºñµÈ ½Ã½ºÅÛÀº ¶§¶§·Î ƯÁ¤ ¼ºñ½º¿¡ ´ëÇØ¼´Â ¼±ÅÃÀûÀ¸·Î Á¢±ÙÀ» Çã¿ëÇϵµ·Ï ¸¸µé¾î ³õ±âµµ ÇÑ´Ù. ÀÌ ¸ðµâÀº ¼³Á¤ÆÄÀÏ¿¡ ÀÖ´Â ³»¿ëÀ» ¹ÙÅÁÀ¸·Î ½Ã½ºÅÛ¿¡¼ Á¦°øµÇ´Â ¼ºñ½º¿¡ Á¢±ÙÇÒ ¼ö ÀÖ´Â ½Ã°£À» Á¦¾îÇÒ ¼ö ÀÖ°Ô ÇØ ÁØ´Ù. ÀÌ ¸ðµâÀº »ç¿ëÀÚ°¡ Á¢±ÙÇÏ´Â ·Î±×ÀÎ À̸§, ÇÏ·çÁßÀÇ ½Ã°£, ¿äÀÏ, Á¢±ÙÀ» ¿ä±¸ÇÏ´Â ¼ºñ½º, »ç¿ëÀÚÀÇ Å͹̳ο¡ ´ëÇÑ Á¤º¸¸¦ ¹Þ¾Æ¼ Á¢±ÙÀ» Çã°¡ÇÒ °ÍÀÎÁö¸¦ ÆÇ´ÜÇÑ´Ù.
ÀÌ ¸ðµâÀº /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)¿¡ ÀÇÇØ¼ ¿¡·¯·Î ±â·ÏµÈ´Ù.
pam_unix
account; authentication; password; session
À̰ÍÀº Ç¥ÁØ UNIXÀÎÁõ ¸ðµâÀÌ´Ù. °èÁ¤ÀÇ Á¤º¸¸¦ ¾ò°í ¾²°í ÀÎÁõ󸮸¦ Çϱâ À§Çؼ ½Ã½ºÅÛÀÇ ¶óÀ̺귯¸®¸¦ »ç¿ëÇÑ´Ù. º¸Åë ÀÌ Á¤º¸´Â /etc/passwdÆÄÀÏÀ̳ª shadow°¡ »ç¿ëµÇ´Â °æ¿ì /etc/shadowÆÄÀÏ¿¡¼ ¾ò¾î¿Â´Ù.
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 |
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 |
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 |
ÀÌ ±¸¼º¿ä¼Ò¿¡¼ ¹Þ¾ÆµéÀÌ´Â ¿É¼ÇÀº ¾Æ¹«°Íµµ ¾ø´Ù. ´ÜÁö »ç¿ëÀÚÀÇ À̸§°ú ¼ºñ½ºÀÇ Á¾·ù¸¦ syslog(3)¿¡ ±â·ÏÇÏ´Â ¿ªÇÒÀ» ÇÒ »ÓÀÌ´Ù. »ç¿ëÀÚÀÇ ¼¼¼Ç ½ÃÀÛ°ú ³¡À» ±â·ÏÇÑ´Ù.
¼¼¼Ç ¸ðµâÀ» »ç¿ëÇÏ´Â °ÍÀº Á÷°üÀûÀÌ´Ù.
# # ¼¼¼Ç ½ÃÀÛ°ú Á¾·á # login session required pam_unix.so |
pam_userdb
Cristian Gafton <gafton@redhat.com>
ÀúÀÚ
authentication
Berkeley DB°¡ ÇÊ¿äÇÔ.
.db database¿¡¼ »ç¿ëÀÚ¸¦ °Ë»öÇÏ°í ±× database¿¡¼ »ç¿ëÀÚÀÇ ¾ÏÈ£¸¦ °Ë»çÇÔ
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 |
pam_warn
Andrew G. Morgan <morgan@parc.power.net>
ÀúÀÚ
authentication; password
¿ø°Ý »ç¿ëÀÚ¿Í È£½ºÆ®¿¡ ´ëÇÑ Á¤º¸¸¦ ·Î±×¿¡ ±â·Ï(¸¸¾à pam-itemÀ» ¾Ë°í ÀÖÀ¸¸é)
ÀÌ ¸ðµâÀº Á¦¾ÈµÈ ÀÎÁõ¿¡ ´ëÇÑ Á¤º¸¸¦ ±â·ÏÇϰųª ÇÁ·Î±×·¥ÀÌ ¾ÏÈ£¸¦ °»½ÅÇϵµ·Ï ÇÏ´Â °ÍÀ» ¸ñÀûÀ¸·Î ¸¸µé¾îÁ³´Ù.
¼ºñ½º, Å͹̳Î, »ç¿ëÀÚ, ¿ø°Ý»ç¿ëÀÚ, ¿ø°ÝÈ£½ºÆ®¸¦ syslog(3)¿¡ ±â·ÏÇÑ´Ù. °¢ Ç׸ñµéÀº Á¶»çÇØ¼ ¾ò´Â °ÍÀÌ ¾Æ´Ï¶ó Ç¥ÁØÀÇ pam-itemµéÀ» ÀоîµéÀδÙ.
¾ÕÀÇ ¼³Á¤ ÆÄÀϺκÐ(4. Linux-PAM ¼³Á¤ÆÄÀÏ)¿¡¼ ¼³¸íµÇ¾î ÀÖÀ½
pam_wheel
Cristian Gafton <gafton@redhat.com>
ÀúÀÚ
authentication
libpwdb ÇÊ¿äÇÔ.
root±ÇÇÑÀ» ¾òÀ» ¼ö ÀÖ´Â ÀÚ°ÝÀ» wheel(gid=0) ±×·ìÀÇ »ç¿ëÀÚ¿¡°Ô¸¸ ÁØ´Ù.
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 |