Syslogd´Â ÀϹÝÀûÀÎ À¯´Ð½º ½Ã½ºÅÛ¿¡¼ »ç¿ëµÇ´Â ½Ã½ºÅÛ ±â·Ï µµ±¸ÀÌ´Ù. Syslogd´Â FIFO¶ó ºÒ¸®´Â Ưº°ÇÑ ÆÄÀÏÀ» ¿©´Â µ¥¸óÀε¥, FIFO´Â ÇϳªÀÇ ÆÄÀÌÇÁ¿Í °°ÀÌ ÀÛµ¿Çϴ Ưº°ÇÑ ÆÄÀÏÀÌ´Ù. ¾²´Â ÂÊ¿¡¼ ±â·ÏÇÑ ³»¿ëÀº ¸ðµÎ Àд ÂÊ¿¡ ³ªÅ¸³ª°Ô µÈ´Ù. Syslogd´Â Àд ÂÊ¿¡¼ º¸³»´Â µ¥ÀÌÅ͸¦ ±â´Ù¸®°í ÀÖ´Ù. CÀÇ ÇÔ¼ö °¡¿îµ¥¿¡´Â ¾²´Â ÂÊ¿¡ ¹«¾ð°¡¸¦ ±â·ÏÇÒ ¼ö ÀÖ´Â ÇÔ¼ö°¡ Àִµ¥, ÇÁ·Î±×·¥¿¡¼ ÀÌ ÇÔ¼ö¸¦ »ç¿ëÇÑ´Ù¸é, ´ç½ÅÀÇ Ãâ·Â °á°ú´Â syslogd·Î °¡°Ô µÈ´Ù.
Chroot
¸¦ »ç¿ëÇϴ ȯ°æ¿¡¼´Â syslogd°¡ (/dev/log)¿¡¼ ÀоîµéÀÏ FIFO°¡
Á¸ÀçÇÏÁö ¾Ê°Ô µÈ´Ù. ÀÌ°ÍÀº ¸ðµç °¡»ó ȯ°æ¿¡¼ syslogd·Î µé¾î°¥ ¼ö ¾ø´Ù´Â °ÍÀ»
ÀǹÌÇÑ´Ù.
Syslogd´Â ¸í·É¾î ¶óÀο¡¼ ¼³Á¤À» ÇØÁØ´Ù¸é ´Ù¸¥ FIFO¸¦ ãÀ» ¼ö ÀÖ´Ù:
syslogd -p /virtual/log
±×¸®°í´Â /virtual/log¸¦ /dev/log·Î ½Éº¼¸µ ¸µÅ©½ÃŲ´Ù:
ln -sf /virtual/log /dev/log
±×¸®°í´Â ¸ðµç /dev/logÀÇ º¹»çº»À» ÀÌ ÆÄÀÏ·Î Çϵ帵ũ ½ÃŲ´Ù:
ln -f /virtual/log /virtual/domain1.com/dev/log
virtfs ½ºÅ©¸³Æ®´Â ÀÌ¹Ì ÀÌ °úÁ¤À» ¼öÇàÇÑ´Ù. /virtualÀÌ µð½ºÅ© °ø°£¿¡ ÀÎÁ¢ÇØ ÀÖ°í
/dev/log°¡ Çϵ帵ũµÇ¾î ÀÖ´Â »óÅÂÀ̱⠶§¹®¿¡, À̵éÀº °°Àº inode ¼ýÀÚ¸¦ °¡Áö°í
°°Àº µ¥ÀÌÅ͸¦ °¡¸®Å°°í ÀÖ´Ù. ¸ðµç °¡»óÀÇ /dev/log µéÀÌ µ¿½Ã¿¡ ÀÛµ¿ÁßÀ̱⠶§¹®¿¡
chroot
µµ ÀÌ°ÍÀ» ¸ØÃâ ¼ö ¾ø´Ù.
¸ðµç ȯ°æ¿¡¼ºÎÅÍÀÇ ¸ðµç ¸Þ¼¼Áö°¡ ÇϳªÀÇ Àå¼Ò¿¡ ±â·ÏµÈ´Ù´Â »ç½ÇÀ» ±â¾ïÇ϶ó.
ÇÏÁö¸¸, ÀÌ µ¥ÀÌÅÍ¿¡¼ ¿øÇÏ´Â ÀڷḸ °É·¯³»´Â µ¶¸³ÀûÀÎ ÇÁ·Î±×·¥À» ½±°Ô ¸¸µé ¼ö
ÀÖÀ» °ÍÀÌ´Ù.
syslogd.initÀÇ ÀÌ ¹öÀüÀº syslogd°¡ ½ÃÀÛÇÒ ¶§¸¶´Ù /dev/log FIFO¸¦ Áö¿ì°í »õ·Î ¸¸µé±â ¶§¹®¿¡ ¸Å¹ø /dev/log¿¡ Çϵ帵ũ½ÃÄÑ¾ß ÇÑ´Ù. ¿©±â º¯ÇüµÈ syslogd.init ÆÄÀÏÀÌ ÀÖ´Ù:
#!/bin/sh . /etc/rc.d/init.d/functions case "$1" in start) echo -n "Starting dev log: " ln -sf /virtual/log /dev/log echo done echo -n "Starting system loggers: " daemon syslogd -p /virtual/log daemon klogd echo echo -n "Starting virtual dev log: " for i in /virtual/* do if [ ! -d "$i" ] then continue fi if [ "$i" = "/virtual/lost+found" ] then continue fi ln -f /virtual/log $i/dev/log echo -n "." done echo " done" touch /var/lock/subsys/syslogd ;; stop) echo -n "Shutting down system loggers: " killproc syslogd killproc klogd echo rm -f /var/lock/subsys/syslogd ;; *) echo "Usage: syslogd {start|stop}" exit 1 esac exit 0
¸¸¾à ´ç½ÅÀÌ ¼³Á¤ÇÑ ÇϳªÀÇ ÆÄÀϽýºÅÛÀÌ ³ÑÃļ ´Ù¸¥ µð½ºÅ©¿¡ ÀÖ´Â °ø°£À» °¡»ó
½Ã½ºÅÛ¿¡¼ »ç¿ëÇÏ°íÀÚ ÇÑ´Ù¸é, ÇÏµå ¸µÅ©¸¦ ÅëÇؼ ¼·Î ´Ù¸¥ µð½ºÅ©¸¦ ¿¬°áÇÒ ¼ö
¾ø´Ù´Â »ç½ÇÀ» ¸í½ÉÇϱ⠹ٶõ´Ù. ÀÌ°ÍÀº ÇÑ µµ¸ÞÀο¡ ´ëÇؼµµ ¼·Î ´Ù¸¥ µð½ºÅ©¿¡¼´Â
°¢°¢ÀÇ syslogd¸¦ ½ÇÇà½ÃÄÑ¾ß ÇÑ´Ù´Â °ÍÀ» ÀǹÌÇÑ´Ù. ÇÑ ¿¹·Î, ¸¸¾à ´ç½ÅÀÌ /virtual1¿¡
13°³ÀÇ µµ¸ÞÀÎÀ» °¡Áö°í ÀÖ°í, /virtual2¿¡ 15°³ÀÇ µµ¸ÞÀÎÀ» °¡Áö°í ÀÖ´Ù¸é,
13°³ÀÇ µµ¸ÞÀο¡ ´ëÇؼ´Â /virtual1/log¿¡ ÇÏµå ¸µÅ©¸¦
½ÃŲ ÈÄ, syslogd -p /virtual1/log
¿Í °°Àº
¹æ¹ýÀ¸·Î °¢°¢ syslogd¸¦ ½ÇÇà½ÃŲ´Ù. ¸¶Âù°¡Áö ¹æ¹ýÀ¸·Î /virtual2¿¡ 15°³ÀÇ
´Ù¸¥ µµ¸ÞÀÎÀ» /virtual2/log¿¡ Çϵ帵ũ ½ÃŲ ÈÄ syslogd -p /virtual2/log
ÀÇ ¹æ¹ýÀ¸·Î syslogd¸¦ ½ÇÇà½ÃŲ´Ù.
¸¸¾à ´ç½ÅÀÌ ¸ðµç ±â·ÏµéÀ» ÇϳªÀÇ À§Ä¡·Î ÁýÁß½ÃÅ°°í ½ÍÁö ¾Ê´Ù¸é °¢°¢ÀÇ µµ¸ÞÀο¡
´ëÇؼ syslogd¸¦ µû·Î ½ÇÇà½Ãų ¼ö ÀÖ´Ù. ÀÌ°ÍÀº ÇÁ·Î¼¼½º ID¸¦ ³¶ºñÇϱ⠶§¹®¿¡
±ÇÇÏ°í ½ÍÀº ¹æ¹ýÀº ¾Æ´ÏÁö¸¸, ÀÌ°ÍÀ» ±¸ÇöÇÏ´Â °ÍÀº ½¬¿î ÀÏÀÌ´Ù. ´ç½ÅÀº syslogd.init
ÆÄÀÏ¿¡¼ chroot /virtual/domain1.com syslogd
·Î °¢°¢ÀÇ
µµ¸ÞÀο¡ ´ëÇØ syslogd¸¦ ½ÇÇà½Ãų ¼ö ÀÖ´Ù. ÀÌ°ÍÀº chroot
¾È¿¡¼ °¢°¢ÀÇ
syslogd¸¦ ½ÇÇà½ÃÅ°¸ç ±× ±â·ÏÀº /var/log°¡ ¾Æ´Ï¶ó /virtual/domain1.com/var/log¿¡
±â·ÏµÉ °ÍÀÌ´Ù. ¸ÞÀÎ ½Ã½ºÅÛ¿¡¼ ÀÏ¹Ý syslogd
¿Í Ä¿³Î ±â·ÏÀ» À§ÇÑ
klogd
¸¦ ½ÇÇà½ÃÅ°´Â °ÍÀ» ÀØÁö ¸»¶ó.