24.6. Äֿܼ¡¼­ ´Ù¸¥ ÀÀ¿ë ÇÁ·Î±×·¥À» »ç¿ë °¡´ÉÇϵµ·Ï ¼³Á¤Çϱâ

¸¸ÀÏ ÄÜ¼Ö »ç¿ëÀÚµéÀÌ ´Ù¸¥ ÀÀ¿ë ÇÁ·Î±×·¥À» »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ¼³Á¤Çϱâ À§Çؼ­´Â, ´õ ¸¹Àº ÀÛ¾÷ÀÌ ÇÊ¿äÇÕ´Ï´Ù.

¿ì¼± ÄÜ¼Ö »ç¿ëÀÚ´Â ¿ÀÁ÷ /sbin ¶Ç´Â /usr/sbin¿¡ Á¸ÀçÇÏ´Â ÀÀ¿ë ÇÁ·Î±×·¥¸¸ »ç¿ë °¡´ÉÇÕ´Ï´Ù. µû¶ó¼­ ÀÌ µÎ ÆÄÀÏ¿¡ ¿©·¯ºÐÀÌ ½ÇÇàÇϽ÷Á´Â ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ Æ÷ÇԵǾî ÀÖ´ÂÁö¸¦ È®ÀÎÇϽŠÈÄ¿¡ ´ÙÀ½ÀÇ ´Ü°è¸¦ µû¸£½Ã±â ¹Ù¶ø´Ï´Ù:

  1. ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ À̸§ (¿¹, foo ÇÁ·Î±×·¥)¿¡¼­ /usr/bin/consolehelper ÀÀ¿ë ÇÁ·Î±×·¥À¸·ÎÀÇ ¸µÅ©¸¦ »ý¼ºÇØ ÁֽʽÿÀ:

    cd /usr/bin
    ln -s consolehelper foo
  2. /etc/security/console.apps/foo ÆÄÀÏÀ» »ý¼ºÇϽʽÿÀ:

    touch /etc/security/console.apps/foo
  3. /etc/pam.d/ ³»ÀÇ foo ¼­ºñ½º¿¡ »ç¿ëµÉ PAM ¼³Á¤ ÆÄÀÏÀ» ¸¸µå½Ê½Ã¿À. Á¤Áö(halt) ¼­ºñ½ºÀÇ PAM ¼³Á¤ ÆÄÀÏÀ» º¹»çÇÏ¿© ½±°Ô PAM ¼³Á¤ ÆÄÀÏÀ» ¸¸µå½Ç ¼ö ÀÖ½À´Ï´Ù. º¹»çº»À» ÀÌ¿ëÇÏ¿© PAM ¼³Á¤ ÆÄÀÏÀ» ¸¸µå½Å ÈÄ ÇÊ¿äÇÑ °æ¿ì ÆÄÀÏÀ» ¼öÁ¤ÇÏ½Ã¸é µË´Ï´Ù:

    cp /etc/pam.d/halt /etc/pam.d/foo

ÀÌÁ¦ /usr/bin/foo¸¦ ½ÇÇàÇϽøé consolehelper ¸í·É¾î°¡ È£ÃâµÇ¸ç ÀÌ ¸í·É¾î´Â /usr/sbin/userhelperÀÇ µµ¿òÀ» ¹Þ¾Æ »ç¿ëÀÚ¸¦ ÀÎÁõÇÕ´Ï´Ù. /etc/pam.d/haltÀÇ º¹»çº»À» »ç¿ëÇÏ¿© /etc/pam.d/foo¸¦ ¸¸µå½Å °æ¿ì, »ç¿ëÀÚ ÀÎÁõÀ» À§ÇÏ¿© »ç¿ëÀÚ ¾ÏÈ£¸¦ ¿äûÇÕ´Ï´Ù. (±×·¸Áö ¾Ê´Ù¸é, /etc/pam.d/foo¿¡ ÁöÁ¤µÈ »çÇ×À» Á¤È®È÷ µû¸¦ °ÍÀÔ´Ï´Ù.) ±× ÈÄ ·çÆ® Çã°¡¸¦ °¡Áö°í /usr/sbin/foo¸¦ ½ÇÇàÇÕ´Ï´Ù.

PAM ¼³Á¤ ÆÄÀÏ¿¡¼­ ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ pam_timestamp ¸ðµâÀ» »ç¿ëÇÏ¿© ·Î±×ÀÎÀ» ºñ·ÔÇÑ ¸ðµç ½Ã½ºÅÛ ÀÎÁõÀ» ±â·Ï (ij½Ã)Çϵµ·Ï ¼³Á¤ °¡´ÉÇÕ´Ï´Ù. ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ ½ÃÀ۵ǰí ÀûÀýÇÑ ÀÎÁõ (·çÆ® ¾ÏÈ£)°¡ Á¦°øµÇ¸é, ½Ã°£ ±â·Ï (time stamp) ÆÄÀÏÀÌ »ý¼ºµË´Ï´Ù. ¼º°øÀûÀ¸·Î ·Î±×ÀÎµÈ ÀÎÁõ Á¤º¸´Â 5ºÐ°£ ij½ÃµÇµµ·Ï ±âº» ¼³Á¤µÇ¾î ÀÖ½À´Ï´Ù. µû¶ó¼­ ÀÌ 5ºÐ µ¿¾È¿¡ pam_timestamp¸¦ »ç¿ëÇϵµ·Ï ¼³Á¤µÈ ´Ù¸¥ ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ µ¿ÀÏÇÑ ¼¼¼Ç¿¡¼­ ½ÇÇàµÈ´Ù¸é, ÇØ´ç »ç¿ëÀÚ·Î ÀÚµ¿ ÀÎÁõµË´Ï´Ù. — Áï, »ç¿ëÀÚ´Â ·çÆ® ¾ÏÈ£¸¦ ´Ù½Ã ÀÔ·ÂÇÒ ÇÊ¿ä°¡ ¾ø½À´Ï´Ù.

ÀÌ ¸ðµâÀº pam ÆÐÅ°Áö¿¡ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù. ÀÌ ±â´ÉÀ» »ç¿ëÇϽ÷Á¸é, etc/pam.d/ÀÇ PAM ¼³Á¤ ÆÄÀÏ¿¡ ´ÙÀ½°ú °°Àº ÁÙÀ» Æ÷ÇÔÇÏ¼Å¾ß ÇÕ´Ï´Ù:

auth sufficient /lib/security/pam_timestamp.so
session optional /lib/security/pam_timestamp.so

auth·Î ½ÃÀÛÇϴ ù¹ø° ÁÙÀº ¹Ýµå½Ã ±× ¿Ü ´Ù¸¥ auth sufficient ÁÙ ´ÙÀ½¿¡ À§Ä¡ÇØ¾ß Çϸç, session·Î ½ÃÀÛÇÏ´Â ÁÙÀº ´Ù¸¥ session optional ÁÙ ¸¶Áö¸·¿¡ ÀÔ·ÂÇÏ¼Å¾ß ÇÕ´Ï´Ù.

pam_timestamp¸¦ »ç¿ëÇϵµ·Ï ¼³Á¤µÈ ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ ÆгΠ»óÀÇ ÁÖ ¸Þ´º ¹öÆ°¿¡¼­ ¼º°øÀûÀ¸·Î ÀÎÁõµÈ´Ù¸é, GNOME µ¥½ºÅ©Å¾ ȯ°æÀ» ½ÇÇà ÁßÀ̽Š°æ¿ì ¾ÆÀÌÄÜÀÌ ÆгÎÀÇ ¾Ë¸² ¿µ¿ª¿¡ ³ªÅ¸³³´Ï´Ù. ÀÎÁõÀÌ ¸¸·áµÈ ÈÄ (±âº» °ª 5ºÐÀÌ Áö³ª¸é), ¾ÆÀÌÄÜÀÌ »ç¶óÁú °ÍÀÔ´Ï´Ù.

¾ÆÀÌÄÜ¿¡ Ŭ¸¯ÇϽŠÈÄ ÀÎÁõÀ» ±â¾ïÇÏÁö ¾Ê±â ¿É¼ÇÀ» ¼±ÅÃÇϽøé ij½ÃµÈ ÀÎÁõÀ» ±â¾ïÇÏÁö ¾Êµµ·Ï ¼³Á¤ÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù.