The Linux Tips HOWTO Paul Anderson, paul@geeky1.ebtech.net v2.4, 12 October 1996 ÀÌ howto´Â ¾Ë¾Æ³»±â ¾î·Á¿î ÈùÆ®µé°ú ¸®´ª½º¸¦ Á»´õ ³ªÀ̽ºÇÏ°Ô ¸¸ µå´Â tweekingÀ» Æ÷ÇÔÇÏ°í ÀÖ´Ù. ______________________________________________________________________ ¸ñÂ÷ 1. ¼Ò°³ 2. °£´ÜÇÑ ÆÁµé 2.1 Handy Syslog Trick Paul Anderson, Tips-HOWTO maintainer. 2.2 Handy Script to Clean Up Corefiles. 2.3 Moving directories between filesystems. 2.4 ¾î¶² µð·ºÅ丮°¡ °¡Àå Å«Áö ¾Ë¾Æ³»±â. 2.5 The Linux Gazette 2.6 Pointer to patch for GNU Make 3.70 to change VPATH behavor. 2.7 ¾î¶»°Ô ¸Å ºÎÆýø¶´Ù fsckingÀ» ÇÏ´Â °ÍÀ» ¸·À»°ÍÀΰ¡. 2.8 ºÎÆ®½Ã¿¡ "device busy"¿¡ ÀÇÇØ ¾ß±âµÇ´Â fscks ÇÇÇϱâ. 2.9 Çϵåµð½ºÅ© »ó¿¡¼­ °¡Àå Å« ÆÄÀÏ ¾Ë¾Æ³»±â 2.10 How to print pages with a margin for hole punching. 2.11 file Æ®¸®¸¦ ÅëÇÏ¿© ƯÁ¤ÇÑ ÀÏ»ó Ç¥Çö ã¾Æ³»±â. 2.12 ÀÚµ¿ ¼¼À̺곪 ¹é¾÷ fileÀ» ¸¸µå´Â ÇÁ·Î±×·¥À» »ç¿ëÇѵÚÀÇ Ã»¼Ò¸¦ À§ÇÑ ½ºÅ©¸³Æ®. 2.13 ¾î¶² ÇÁ·Î¼¼½º°¡ ¸Þ¸ð¸®¸¦ °¡Àå ¸¹ÀÌ Àâ¾Æ¸Ô°í ÀÖ´ÂÁö ¾Ë¾Æ³»±â 3. ¼¼ºÎÀûÀÎ tip 3.1 Linux¿Í windows¿¡¼­ swap ÆÄƼ¼Ç °øÀ¯Çϱâ. 3.2 º¯°æµÇÁö ¾Ê´Â flag »ç¿ëÇϱâ. 3.3 »õ·Î¿î stuff¸¦ ¾îµð¿¡ ³ÖÀ»°ÍÀΰ¡¿¡ ´ëÇÑ Á¦¾È 3.4 ½Ã½ºÅÛ°ü¸®ÀÚ¸¦ À§ÇÑ ¸î°¡Áö ÆÁ. 3.5 xdmÀÇ host ¼±ÅÃÀÚ¸¦ ¾î¶»°Ô ¼³Á¤ÇÒ°ÍÀΰ¡. ______________________________________________________________________ 1. ¼Ò°³ ¸®´ª½º¸¦ Á»´õ Àç¹Õ°Ô ¸¸µé¾îÁÖ´Â ¸Å¿ì ÁÁÀº Æ®¸¯°ú ÃÖÀûÈ­ÀÇ ¸®½ºÆ® ÀÎ ¸®´ª½º ÆÁ ÇÏ¿ìÅõ ¹®¼­¿¡ ¿À°ÔµÈ °ÍÀ» ȯ¿µÇÑ´Ù. ³»°¡ ¿©±â¿¡ ±â·Ï ÇØ ³õÀº ¸ðµç °ÍÀº ³» ¸Ó¸® ²À´ë±â¿¡¼­(?) ³ª¿Â ÆÁµé°ú ¿¹ÀüÀÇ ÆÁ-ÇÏ ¿ìÅõ ¹®¼­¿¡ ÀÖ´ø °Í µéÀÌ´Ù. ¿©·¯ºÐÀÌ ÁÁ¾ÆÇÏ´Â ÈùÆ®³ª ÆÁÀÌ ÀÖ´Ù¸é Àº ´ÙÀ½ÀÇ ÆÁ-ÇÏ¿ìÅõ¿¡ ³ÖÀ»¼ö ÀÖµµ·Ï ³ª¿¡°Ô º¸³»±â ¹Ù¶õ´Ù. Paul Anderson Maintainer--Linux TIPS HOWTO panderso@ebtech.net 2. °£´ÜÇÑ ÆÁµé 2.1. Handy Syslog Trick Paul Anderson, Tips-HOWTO maintainer. ´ç½ÅÀÇ /etc/syslog.conf¸¦ ¼öÁ¤ÇÏ°í ´ÙÀ½ÀÇ ¶óÀÎÀ» Ãß°¡Çضó: # Dump everything on tty8 *.* /dev/tty8 °æ°í : TABÀ» »ç¿ëÇØ¾ß ÇÑ´Ù´Â °ÍÀ» ±â¾ïÇضó. syslog´Â space¸¦ ½È ¾îÇÑ´Ù... 2.2. Handy Script to Clean Up Corefiles. ohammers@cu-online.com Handy Script to Clean Up Corefiles. ´ÙÀ½°ú °°ÀÌ rmcores¶ó ºÒ¸®´Â fileÀ» ¸¸µé¾î¶ó.(ÇÊÀÚ´Â ±×°ÍÀ» handle-cores¶ó ºÎ¸¥´Ù) : ______________________________________________________________________ #!/bin/sh USAGE="$0 " if [ $# != 2 ] ; then echo $USAGE exit fi echo Deleting... find $1 -name core -atime 7 -print -exec rm {} \; echo e-mailing for name in `find $1 -name core -exec ls -l {} \; | cut -c16-24` do echo $name cat $2 | mail $name done ______________________________________________________________________ ±×¸®°í cron jobÀÌ ±×°ÍÀ» Á¾Á¾ ½ÇÇàÇϵµ·Ï Çضó. 2.3. Moving directories between filesystems. Alan Cox,A.Cox@swansea.ac.uk file Æ®¸® Àüü¸¦ ÇÑ µð½ºÅ©·ÎºÎÅÍ ´Ù¸¥ µð½ºÅ©·Î ºü¸£°Ô ¿Å±â´Â ¹æ¹ý (cd /source/directory && tar cf - . ) | (cd /dest/directory && tar xvfp -) ºÒÇàÀÌ ÀÖÀ» °æ¿ì µð·ºÅ丮°¡ ¹¶°ÔÁö´Â °ÍÀ» ¹æÁöÇϱâ À§Çؼ­ cd /source/directory; tar...etcºÎÅÍ º¯°æÇضó. ³ª¿¡°Ô ¾Ë·ÁÁØ°Í¿¡ ´ëÇØ Jim Dennis¿¡°Ô, jadestar@rahul.net , °¨»çÇÑ´Ù. 2.4. ¾î¶² µð·ºÅ丮°¡ °¡Àå Å«Áö ¾Ë¾Æ³»±â. mghazey@miso.lowdown.com ´ç½ÅÀÇ ÄÄÇ»ÅÍ¿¡¼­ °¡Àå Å« µð·ºÅ丮´Â ¹«¾ùÀÎÁö ±Ã±ÝÇØ ÇÑÀûÀº ¾ø´Â °¡? ¿©±â ¾Ë¾Æ³¾ ¼ö ÀÖ´Â ¹æ¹ýÀÌ ÀÖ´Ù. du -S | sort -n 2.5. The Linux Gazette ¿µ¿¹´Â Linux GazetteÀÇ Ã¢½ÃÀÚÀÎ John Fisk¿¡°Ô µ¹¾Æ°£´Ù. ±×°ÍÀº ³î ¶ó¿î e-zine plusÀ̸ç, ±×°ÍÀº ¹«·áÀÌ´Ù!! ´õ ÀÌ»ó ¹«¾ùÀ» ¹°¾îº¼°ÍÀÎ °¡. ÀÌ°÷¿¡¼­ È®ÀÎÇ϶ó. www.redhat.com/lg ±×°÷¿¡ Àִµ¿¾È John Fisk¿¡°Ô e-zine LG°¡ ¾ó¸¶³ª ³î¶ó¿î °Í ÀÎÁö ¸¦ ¸»ÇØÁÖ´Â ³ëÆ®¸¦ ³²°Ü¶ó. 2.6. Pointer to patch for GNU Make 3.70 to change VPATH behavor. Ted Stern,stern@amath.washington.edu Pointer to patch for GNU Make 3.70 to change VPATH behavor. ¸¹Àº »ç¶÷µéÀÌ ÀÌ·¯ÇÑ ¹®Á¦Á¡À» Áö´Ï°í ÀÖ´ÂÁö´Â ¾Ë¼ö¾øÁö¸¸, ³»°¡ ÁÁ ¾ÆÇÏÁö ¾Ê´Â 3.70 ¹öÀüÀÇ GNU makeÀÇ Æ¯Â¡ÀÌ ÀÖ´Ù. ±×°ÍÀº Àý´ë °æ ·Î¸¦ ÁÙ °æ¿ì VPATH°¡ Àç¹ÌÀÖ´Â ÇൿÀ» ÇÑ´Ù´Â °ÍÀÌ´Ù. ÀÌ°ÍÀ» ¼öÁ¤ ÇÏ´Â Àý´ëÀûÀ¸·Î ¹ÏÀ»¸¸ÇÑ ÆÐÄ¡°¡ Àִµ¥, Paul Smith>À¸·ÎºÎÅÍ ±×°ÍÀ» ±¸ÇÒ ¼ö ÀÖ´Ù. ¶Ç ±×´Â ¾ÕÀ¸·ÎÀÇ ¸ðµç »õ·Î¿î ¹öÀüÀÇ makeÀÇ ¹®¼­¿Í ÆÐÄ¡¸¦ ´º½º±×·ì |gnu.utils.bug|¿¡ ¿Ã·Á³õÀ» °ÍÀÌ´Ù. ÀϹÝÀûÀ¸·Î, ³ª´Â ³»°¡ ¾ï¼¼½ºÇÏ´Â ¸ðµç ½Ã½ºÅÛ¿¡ ÀÌ ÆÐÄ¡¸¦ Àû¿ëÇÏ°í gmake¸¦ ´Ù½Ã Ä¿ÆÄÀÏÇÑ´Ù. 2.7. ¾î¶»°Ô ¸Å ºÎÆýø¶´Ù fsckingÀ» ÇÏ´Â °ÍÀ» ¸·À»°ÍÀΰ¡. Dale Lutz, dal@wimsey.com Q: ¸Å¹ø ºÎÆÃÇÒ¶§¸¶´Ù e2fsck°¡ µð½ºÅ© üũ¸¦ ÇÏ´Â °ÍÀ» ¾î¶»°Ô ¸· ³ª? A: Ä¿³ÎÀ» ´Ù½Ã¸¸µé ¶§, filesystemÀº 'dirty'ÇÏ°Ô ±â·ÏµÇ°í ±×·¡¼­ ´ç ½ÅÀÇ µð½ºÅ©´Â ¸Å ºÎÆø¶´Ù üũµÉ °ÍÀÌ´Ù. ÀÌ°ÍÀ» ¼öÁ¤ÇÏ·Á¸é ´ÙÀ½À» ½ÇÇàÇضó: rdev -R /zImage 1 ÀÌ°ÍÀº ´õ ÀÌ»ó filesystemÀÌ 'dirty'ÇÏ´Ù°í ³³µæÇÏÁö ¾Êµµ·Ï Ä¿³ÎÀ» ¼ö Á¤ÇØÁØ´Ù. ¾Ë¾ÆµÎ±â : lilo¸¦ »ç¿ëÇÑ´Ù¸é lilo config file ³»ÀÇ ¸®´ª½º ¼Â¾÷¿¡ read-only¸¦ Ãß°¡Çضó. (ÈçÈ÷ /etc/lilo.conf) 2.8. ºÎÆ®½Ã¿¡ "device busy"¿¡ ÀÇÇØ ¾ß±âµÇ´Â fscks ÇÇÇϱâ. Jon Tombs, jon@gtex02.us.es ¸®ºÎÆÃÇÒ ¶§ filesystemÀÌ fscks¸¦ ÇÊ¿ä·Î ÇÏ°Ô ¸¸µå´Â ¼Ë´Ù¿î½ÃÀÇ device busy ¿¡·¯¸¦ Á¾Á¾ ¸¸³­´Ù¸é, ¿©±â °£´ÜÇÑ ÇØ°áÃ¥ÀÌ ÀÖ´Ù: /etc/rc.d/init.d/halt ȤÀº /etc/rc.d/rc.0¿¡ ´ÙÀ½ÀÇ ¶óÀÎÀ» Ãß°¡ÇÑ´Ù. mount -o remount,ro /mount.dir ·çÆ® '/'¸¦ Á¦¿ÜÇÑ ¸ðµç ¸¶¿îÆ® µÈ filesystem¿¡ À־ umount -a¸¦ È£ÃâÇϱâ Àü¿¡ ÀÌ·¯ÇÑ Ã³¸®¸¦ ÇØÁØ´Ù. ÀÌ°ÍÀº ¸î°¡Áö ÀÌÀ¯¿¡ À־ shutdownÀÌ ¸ðµç ÇÁ·Î¼¼½º¸¦ Á×ÀÌ°í µð½ºÅ©¸¦ umount Çϴµ¥ ½ÇÆÐÇÏ ´õ¶óµµ rebootÇÒ ¶§ ¿©ÀüÈ÷ 'clean'ÇÒ °ÍÀ» ÀǹÌÇÑ´Ù. ³ªÀÇ °æ¿ì¿¡´Â rebootÇÒ ¶§ »ó´çÇÑ ½Ã°£À» Àý¾àÇØÁØ´Ù. 2.9. Çϵåµð½ºÅ© »ó¿¡¼­ °¡Àå Å« ÆÄÀÏ ¾Ë¾Æ³»±â Simon Amor, simon@foobar.co.uk ls -l | sort +4n ¶Ç´Â Çϵåµð½ºÅ©°¡ °ø°£»óÀÇ ¹®Á¦°¡ ÀÖ´Ù¸é ÀÌ°ÍÀº ½Ã°£Àº °É¸®Áö¸¸ Àß ÈǸ¢È÷ µ¿ÀÛÇÒ °ÍÀÌ´Ù. cd / ls -lR | sort +4n 2.10. How to print pages with a margin for hole punch­ ing. Mike Dickey, mdickey@thorplus.lib.perdue.edu ______________________________________________________________________ #!/bin/sh # /usr/local/bin/print # a simple formatted printout, to enable someone to # 3-hole punch the output and put it in a binder cat $1 | pr -t -o 5 -w 85 | lpr ______________________________________________________________________ 2.11. file Æ®¸®¸¦ ÅëÇÏ¿© ƯÁ¤ÇÑ ÀÏ»ó Ç¥Çö ã¾Æ³»±â. Raul Deluth Miller, rockwell@nova.umd.edu file Æ®¸®¸¦ ÅëÇÏ¿© ƯÁ¤ÇÑ ÀÏ»ó Ç¥Çö ã¾Æ³»±â ³ª´Â ÀÌ°ÍÀ» 'forall' ½ºÅ©¸³Æ®¶ó°í ºÎ¸¥´Ù. ÀÌ·¸°Ô »ç¿ëÇضó: forall /usr/include grep -i ioctl forall /usr/man grep ioctl ¿©±â forallÀÌ ÀÖ´Ù: ______________________________________________________________________ #!/bin/sh if [ 1 = `expr 2 \> $#` ] then echo Usage: $0 dir cmd [optargs] exit 1 fi dir=$1 shift find $dir -type f -print | xargs "$@" ______________________________________________________________________ 2.12. ÀÚµ¿ ¼¼À̺곪 ¹é¾÷ fileÀ» ¸¸µå´Â ÇÁ·Î±×·¥À» »ç¿ëÇѵÚÀÇ Ã»¼Ò¸¦ À§ÇÑ ½ºÅ©¸³Æ®. Barry Tolnas, tolnas@nestor.engr.utk.edu ÀÚµ¿ ¼¼À̺곪 ¹é¾÷ fileÀ» ¸¸µå´Â ÇÁ·Î±×·¥. ¿©±â emacsÀÇ ÀÚµ¿-¼¼À̺ê(#)¿Í ¹é¾÷( ) file°ú .o file ±×¸®°í TEX.log fileÀ» »èÁ¦Çϸ鼭 ¹Ýº¹ÀûÀ¸·Î µð·ºÅ丮 °ÔÃþ±¸Á¶¸¦ °¨¼Ò½ÃÅ°´Â °£´ÜÇÑ two-liner°¡ ÀÖ´Ù. ÀÌ°ÍÀº ¶ÇÇÑ .tex¿Í README fileÀ» ¾ÐÃàÇϱ⵵ ÇÑ ´Ù. ³ª´Â ³» ½Ã½ºÅÛÀÇ ÀÌ°ÍÀ» 'sqeeze'¶ó ºÎ¸¥´Ù. ______________________________________________________________________ #!/bin/sh #SQUEEZE removes unnecessary files and compresses .tex and README files #By Barry tolnas, tolnas@sun1.engr.utk.edu # echo squeezing $PWD find $PWD \( -name \*~ -or -name \*.o -or -name \*.log -or -name \*\#\) -exec rm -f {} \; find $PWD \( -name \*.tex -or -name \*README\* -or -name \*readme\* \) -exec gzip -9 {} \; ______________________________________________________________________ 2.13. ¾î¶² ÇÁ·Î¼¼½º°¡ ¸Þ¸ð¸®¸¦ °¡Àå ¸¹ÀÌ Àâ¾Æ¸Ô°í ÀÖ´ÂÁö ¾Ë¾Æ³»±â simon@foobar.co.uk ¾î¶² ÇÁ·Î¼¼½º°¡ ¸Þ¸ð¸®¸¦ °¡Àå ¸¹ÀÌ Àâ¾Æ¸Ô°í ÀÖ´ÂÁö ¾Ë¾Æ³»±â ps -aux | sort +4n -OR- ps -aux | sort +5n 3. ¼¼ºÎÀûÀÎ tip 3.1. Linux¿Í windows¿¡¼­ swap ÆÄƼ¼Ç °øÀ¯Çϱâ. Tony acero, ace3@midway.uchicagi.edu 1. ÇØ´ç ÆÄƼ¼ÇÀ» µµ½º ÆÄƼ¼ÇÀ¸·Î Æ÷¸ËÇÏ°í, °Å±â¿¡ À©µµ¿ì swap file À» »ý¼ºÇÑ µÚ ¾ÆÁ÷ À©µµ¿ì¸¦ ½ÇÇàÇÏÁö´Â ¸»¾Æ¶ó. ( ¿©·¯ºÐÀº ¿ì¼±Àº swap fileÀÌ ¿ÏÀüÈ÷ ºñ¾îÀÖ´Â »óÅ·Πº¸Á¸µÇ±â¸¦ ¹Ù¶ö °ÍÀÌ°í, ±×·¯¹Ç ·Î ±×°ÍÀº Àß ¾ÐÃàµÈ´Ù.) 2. Linux·Î ºÎÆÃÇѵڿ¡ ±× ÆÄƼ¼ÇÀ» file·Î ÀúÀåÇÑ´Ù. ¿¹¸¦µé¾î ÆÄƼ¼Ç ÀÌ /dev/hda8À̾ú´Ù¸é dd if=/dev/hda8 of=/etc/dosswap 3. ±× µµ½º swap fileÀ» ¾ÐÃàÇÑ´Ù. ±×°ÍÀº °¡»óÀûÀ¸·Î ¸ðµÎ 0À̱⠶§¹® ¿¡ ¸Å¿ì Àß ¾ÐÃàµÉ °ÍÀÌ´Ù. gzip -9 /etc/dosswap 4. Linux¿¡ swap °ø°£À» ÁغñÇÏ°í ¼³Ä¡ÇϱâÀ§ÇØ /etc/rc file¿¡ ´ÙÀ½ÀÇ ¶óÀÎÀ» Ãß°¡ÇÑ´Ù. xxxxx´Â swap ÆÄƼ¼ÇÀÇ block °³¼öÀÌ´Ù. mkswap /dev/hda8 XXXXX swapon -av /etc/fstab file¿¡ swap ÆÄƼ¼ÇÀ» À§ÇÑ ¿£Æ®¸®¸¦ Ãß°¡ÇßÀ½À» È®ÀÎÇ϶ó. 5. init/reboot ÆÐÅ°Áö°¡ /etc/brc ȤÀº /sbin/brc¸¦ Áö¿øÇÑ´Ù¸é ´ÙÀ½À» /etc/brc¿¡ Ãß°¡ÇÏ°í, ±×·¸Áö ¾ÊÀº °æ¿ì dos | os/2·Î ºÎÆÃÇÏ°í ½ÍÀ» ¶§ ±×¸®°í swap ÆÄƼ¼ÇÀ» dos/windows ¹öÀüÀ¸·Î ¹Ù²Ù°í ½ÍÀ» ¶§ ÀÌ°ÍÀ» ¼ÕÀ¸·Î ÇØÁÖ¾î¶ó. swapoff -av zcat /etc/dosswap.gz | dd of=/dev/hda8 bs=1k count=100 # ÀÌ°ÍÀº ¿ÀÁ÷ óÀ½ÀÇ 100 ºí·Ï ¸¸À» ÆÄƼ¼Ç¿¡ ±â·ÏÇÔÀ» ¾Ë¾ÆµÎ¾î¶ó. ³ª´Â °æÇèÀûÀ¸·Î 100 À̸é ÃæºÐÇÔÀ» ¾Ë¾Æ³»¾ú´Ù. >> ÀÌ°ÍÀÇ ÀåÁ¡°ú ´ÜÁ¡Àº ¹«¾ùÀΰ¡. ÀåÁ¡ : »ó´çÇÑ ¾çÀÇ µð½ºÅ© ½ºÆäÀ̽º¸¦ Àý¾àÇÒ ¼ö ÀÖ´Ù. ´ÜÁ¡ : step 5°¡ ÀÚµ¿ÀûÀ¸·Î ÀÌ·ç¾îÁöÁö ¾ÊÀ» °æ¿ì, ¿©·¯ºÐÀº ±×°ÍÀ» Á÷Á¢ ÇØÁÖ¾î¾ß ÇÔÀ» ±â ¾ïÇØ¾ß Çϸç, reboot ÇÁ·Î¼¼½º°¡ Á¶±Ý ´À·ÁÁø´Ù. 3.2. º¯°æµÇÁö ¾Ê´Â flag »ç¿ëÇϱâ. Jim Dennis, jadestar@rahul.net º¯°æµÇÁö ¾Ê´Â flag »ç¿ëÇϱ⠿©·¯ºÐÀÇ ½Ã½ºÅÛÀ» ¼³Ä¡ÇÏ°í ȯ°æÀ» ¼³Á¤ÇÑ ¹Ù·Î µÚ¿¡ /bin, /sbin, /usr/bin, and /usr/lib ±×¸®°í ´Ù¸¥ usual suspects·Î °£ µÚ 'chattr +i command'¸¦ ÀÚÀ¯·ÎÀÌ »ç¿ëÇ϶ó. ¶ÇÇÑ ±×°ÍÀ» rootÀÇ Ä¿³Î file¿¡ Ãß°¡ Çضó. ÀÌÁ¦ 'mkdir /etc/.dist/'¸¦ ÇÏ°í /etc ÀÇ ¸ðµç °ÍÀ» ±× µð·ºÅ丮 ·Î º¹»çÇضó. (³ª´Â recursionÀ» ÇÇÇϱâÀ§ÇØ ÀÌ°ÍÀ» /tmp/etcdist.tar¸¦ »ç¿ëÇÏ´Â µÎ stepÀ» »ç¿ëÇÑ´Ù.) (¿É¼ÇÀ¸·Î ´ç½ÅÀº /etc/.dist.tar.gzÀ» ¸¸ µé¼öµµ ÀÖ´Ù)-- ±×¸®°í ±×°ÍÀ» º¯°æµÇÁö ¾Êµµ·Ï ¸¸µç´Ù. ÀÌ·±ÀÏÀ» ÇÏ ´Â ÀÌÀ¯´Â root·Î ·Î±×ÀÎ ÇßÀ» ¶§ ´çÇÒ¼ö ÀÖ´Â ÇÇÇظ¦ ÁÙÀ̱â À§Çؼ­ ÀÌ´Ù. ´ç½ÅÀº stray redirection ¿ÀÆÛ·¹À̼ÇÀ¸·Î ¿À¹ö¶óÀÌÆ®¸¦ ÇÏÁö ¾Ê À» °ÍÀ̸ç, 'rm -rf' ¸í·ÉÀ» »ç¿ëÇÒ ¶§ ½Ã½ºÅÛÀ» »ç¿ëºÒ°¡´ÉÇÏ°Ô ÇÏ´Â ÀÏÀÌ ¾øÀ» °ÍÀÌ´Ù. (¿©·¯ºÐÀº ¿©ÀüÈ÷ ¸¹Àº ÇÇÇظ¦ ÀÔ°ÚÁö¸¸, libs¿Í bins´Â Á»´õ ¾ÈÀüÇØÁú °ÍÀÌ´Ù) ÀÌ°ÍÀº ´Ù¾çÇÑ º¸¾È°ú denial of service exploits¸¦ ºÒ°¡´ÉÇÏ°Ô È¤Àº ´õ¿í ¾î·Æ°Ô ¸¸µé °ÍÀÌ´Ù. ( ±×µéÀÇ ¸¹Àº ºÎºÐÀÌ µ¶ÀÚÀûÀÎ shellÀ» Á¦ °øÇÏÁö ¾Ê´Â SUID ÇÁ·Î±×·¥ÀÇ È°µ¿À» ÅëÇØ fileÀ» overwrite Çϴµ¥ ÀÇÁ¸Çϱ⠶§¹®ÀÌ´Ù) ÀÌ°ÍÀÇ ¿ÀÁ÷ ÇÑ°¡Áö ºÒÆíÇÑ Á¡Àº ´Ù¾çÇÑ Á¾·ùÀÇ ½Ã½ºÅÛ ¹ÙÀ̳ʸ®µéÀ» overwriteÇÏÁö ¾Êµµ·Ï ÇØÁØ´Ù. ¿©·¯ºÐÀÌ MakefileÀ» Àд °ÍÀ» ±ô¹Ú ÀØ °í ´Ù½Ã ±â·ÏµÉ fileµéÀ» chattr -i ÇÒ ¶§(±×¸®°í ´ç½ÅÀÌ fileÀ» Ç®¾î³õ À» µð·ºÅ丮µµ), make´Â ½ÇÆÐÇϸç, chattr ¸í·ÉÀ» »ç¿ëÇÏ¿© ±×°ÍÀ» ´Ù ½Ã ½ÇÇàÇØ¾ß ÇÑ´Ù. ´ç½ÅÀº ÀÚ½ÅÀÇ ±âÁ¸ÀÇ bins, libs, ȤÀº ¹«¾ùÀÌ´ø°£ ¿¡ .old/ µð·ºÅ丮·Î ¿Å±æ ±âȸ¸¦ ¾ò°ÔµÈ´Ù. ¶Ç´Â ±×°ÍµéÀ» ¸®³×ÀÓÇÏ°Å ³ª tar·Î ¾ÐÃàµûÀ§¸¦ ÇÒ¼öµµ ÀÖ´Ù. 3.3. »õ·Î¿î stuff¸¦ ¾îµð¿¡ ³ÖÀ»°ÍÀΰ¡¿¡ ´ëÇÑ Á¦¾È Jim dennis, jadestar@rahul.net »õ·Î¿î stuff¸¦ ¾îµð¿¡ ³ÖÀ»°ÍÀΰ¡¿¡ ´ëÇÑ Á¦¾È ¸ðµç »õ·Î¿î stuffµéÀº /usr/local ȤÀº /usr/local/'hostname'¿¡¼­ ½ÃÀÛ ÇÑ´Ù. ´ç½ÅÀÇ ¹èÆ÷º»ÀÌ /usr/localÀ» ºñ¿ö³õ´Â °ÍÁßÀÇ Çϳª¶ó¸é /usr/local/src, /usr/local/bin µîÀ» ¸¸µé°í ±×°ÍÀ» »ç¿ëÇضó. ¸¸¾à ´ç½Å ÀÇ ¹èÆ÷º»ÀÌ /usr/local Æ®¸®¿¡ ¹º°¡¸¦ Áý¾î³Ö´Â´Ù¸é, ´ç½ÅÀº 'mkdir /usr/local/'hostname''À» ÇÏ°í ±×°Í¿¡ 'wheel' ±×·ì +w¸¦ ºÎ¿©ÇÏ°í ½Í À»Áö ¸ð¸¥´Ù. (³ª´Â wheel ±×·ìÀÇ ¸ðµç ¸â¹öµéÀÌ ±× ¾Æ·¡¿¡¼­ ¿ÀÁ÷ ±× µé ÀÚ½ÅÀÇ file¸¸À» ´Ù·çµµ·Ï, ±×¸®°í »ý¼ºµÇ´Â ¸ðµç fileÀÌ 'wheel' ±× ·ì¿¡ ¼ÓÇϵµ·Ï SUID¿Í SGIDµµ ¸¸µé¾ú´Ù) ÀÌÁ¦ »õ·Î¿î ÆÐÅ°ÁöµéÀ» /usr/local/src/.from/$WHEREVER_I_GOT_IT¿¡ Áý¾î³Öµµ·Ï Ç×»ó ÀÚ ½ÅÀ» ÈƷýÃÄѶó. ±×¸®°í ±×µéÀ» /usr/local/src¿¡¼­(ȤÀº .../$HOSTNAME¿¡¼­) build Çضó. ±×°ÍÀÌ ·ÎÄÃÀÇ heirarchy ¾Æ·¡¿¡ ¼³ Ä¡µÇ¾úÀ½À» È®ÀÎÇضó. ¸¸¾à ±×°ÍÀÌ Àý´ëÀûÀ¸·Î /bin ¶Ç´Â /sbin ¾Æ·¡¿¡ ¼³Ä¡°¡ µÇ¾ß ÇÑ´Ù¸é, ¾îµò°¡¿¡ Á¸ÀçÇÒ ¶§ ·ÎÄÃÀÇ heirarchy·ÎºÎÅÍ °¢°¢ ÀÇ ¿¤¸®¸ÕÆ®·ÎÀÇ ½Éº¼¸¯ ¸µÅ©¸¦ ¸¸µé¾î¶ó. ÀÌ·¸°Ô ÇÏ´Â ÀÌÀ¯´Â -- ±×°ÍÀÌ ¹ø°Å·Î¿î ÀÏÀÓ¿¡µµ ºÒ±¸ÇÏ°í -- ¸¸ÀÏ ÀÇ °æ¿ì¿¡ ¹é¾÷µÇ°í, ¸®½ºÅä¾îµÇ°í ¹èÆ÷º»À¸·ÎºÎÅÍ ¿ÏÀúÈ÷ ´Ù½Ã¼³Ä¡ÇÏ ´Â °Í µîÀ» ¸·´Âµ¥ µµ¿òÀ» Áֱ⠶§¹®ÀÌ´Ù. /usr/local/.from µð·ºÅ丮¸¦ »ç¿ëÇÔÀ¸·Î½á, ¼Ò½º°¡ ³ª¿Â°÷ÀÇ ºñ°ø½ÄÀû log¸¦ À¯ÁöÇÒ¼öµµ ÀÖ´Ù --ÀÌ °ÍÀº »õ·Î¿î ¾÷µ¥ÀÌÆ® »çÇ×À» ãÀ» ¶§ µµ¿òÀ» ÁØ´Ù -- . ¶Ç security announcement ¸®½ºÆ®¸¦ ¸ð´ÏÅ͸µ ÇÒ ¶§ Áß¿äÇÒ¼öµµ ÀÖ´Ù. Áý¿¡ ÀÖ´Â ³ªÀÇ ½Ã½ºÅÛÁß Çϳª´Â ³» ÀÚ½ÅÀÌ ÀÌ·¯ÇÑ ¹æÃ¥À» Àû¿ë½ÃÅ°±â Àü¿¡ ±¸¼ºµÈ´Ù. ³ª´Â ¿©ÀüÈ÷ ±×°ÍÀÌ ¼³Ä¡µÈ ½Ã½ºÅÛÀ¸·Î¼­ÀÇ stock°ú ´Ù¸¥Á¡ÀÌ ¹«¾ùÀÎÁö¸¦ ¸ð¸¥´Ù. ÀÌ°ÍÀº ³» ÁýÀÇ ½Ã½ºÅÛ¿¡ °ÅÀÇ ¼³Á¤À» ÇÏÁö ¾Ê¾Ò´Ù´Â Á¡°ú, ³»°¡ ±×°ÍÀ» »ç¿ëÇÏ´Â À¯ÀÏÇÑ »ç¶÷À̶ó´Â »ç½ÇÀ» ¹«½ÃÇÑ °ÍÀÌ´Ù. ¹Ý´ë·Î ³»°¡ Á÷Àå¿¡¼­ ¼³Á¤ ÇسõÀº ½Ã½ºÅÛ(³»°Ô ±×°÷ÀÇ ½Ã½ºÅÛ °ü¸®ÀÚ ·Î¼­ÀÇ ÀÓ¹«°¡ ¸Ã°ÜÁ³À» °æ¿ì)Àº ¸ðµÎ ÀÌ·±½ÄÀ¸·Î ¼³Á¤µÇ¾î ÀÖ°í, ¸¹ Àº ûºÎÀΰú ´Ù¸¥ MIS »ç¶÷µé¿¡ ÀÇÇØ °ü¸®µÇ¾î ¿ÔÀ¸¸ç, ¼ö¸¹Àº ¾÷±× ·¹À̵å¿Í ÆÐÅ°Áö ¼³Ä¡°¡ ÀÌ·ç¾îÁ³´Ù. ±×·³¿¡µµ ³ª¿¡°Ô´Â ÃʱâÀÇ ¼³Ä¡ ¿Í ¼³Á¤ÀÌ ³¡³­µÚ¿¡ Áý¾î ³Ö°ÔµÉ Áß¿äÇÑ ¿¤¸®¸ÕÆ®µé¿¡ ´ëÇÑ ÁÁÀº ¾ÆÀÌ µð¾î°¡ ÀÖ´Ù. 3.4. ½Ã½ºÅÛ°ü¸®ÀÚ¸¦ À§ÇÑ ¸î°¡Áö ÆÁ. Jim Dennis, jadestar@rahul.net ½Ã½ºÅÛ°ü¸®ÀÚ¸¦ À§ÇÑ ¸î°¡Áö ÆÁ. /README.'hostname'°ú /etc/README.'hostname'À» ¸¸µé°í °ü¸®ÇØ ¶ó. ȤÀº /usr/local/etc/README.'hostname'µµ °¡´ÉÇÏ´Ù. Àý´ëÀûÀ¸·Î, ½Ã½ºÅÛ °ü¸®¸¦ ½ÃÀÛÇÑ Ã¹³¯·ÎºÎÅÍ ¿Â¶óÀÎ ·Î±× file³»¿¡ ±â·ÏÀ» Çضó. rootÀÇ /bash_logout¿¡ | vi /README.$(hostname) | °ú °°Àº ¶óÀÎÀ» Àû¾îµµ ÁÁ´Ù. ÀÌ°ÍÀ» ÇÏ´Â ¶Ç ´Ù¸¥ ¹æ¹ýÀº su³ª sudo¿¡ ´ÙÀ½°ú °°Àº ÀÏÀ» ÇÏ´Â ½ºÅ©¸³Æ®¸¦ ±â·ÏÇÏ´Â °ÍÀÌ´Ù. function exit \ { unset exit; exit; \ cat ~/tmp/session.$(date +%y%m%d) \ >> /README.$(hostname) && \ vi /README.$(hostname) } script -a ~/tmp/session.$(date +%y%m%d) /bin/su.org - (session log¸¦ ¸¸µé±â À§ÇØ typescript¸¦ »ç¿ëÇÏ°í, ÀÚµ¿À¸·Î log¸¦ appending°ú updatingÀ» ÇÒ ÇÔ¼ö¸¦ ¸¸µç´Ù). ³ª´Â ³»°¡ ÀÌ ¹æ½ÄÀÇ ÀÚµ¿È­ µµ±¸¸¦ ¸¸µéÁö ¾Ê¾ÒÀ½À» ÀÎÁ¤ÇÒ °ÍÀÌ´Ù -- ³ª´Â ´ÜÁö ¿©Áö²¯ ½º½º·ÎÀÇ ÈƷÿ¡ ÀÇÁ¸ÇØ ¿ÔÀ» »ÓÀÌ´Ù. ±×·¯³ª ³ª ´Â Àå³­»ï¾Æ ±×·± ¾ÆÀ̵ð¾î¸¦ »ý°¢ÇØ ¿Ô¾ú´Ù. (½ÉÁö¾î´Â ÀÌ¹Ì º» ½º Å©¸³Æ®ÀÇ ÇÁ·ÎÅäŸÀÔÀ̳ª shell ±â´ÉÀÇ ¹®Á¦¿¡¼­ Á¶Â÷µµ.) ÀÌ°ÍÀ¸·Î ³ª ¸¦ ´Ù½Ã ºÙµå´Â °ÍÀº 'script' ¸í·É ±× ÀÚüÀÌ´Ù. ³ª´Â ÀÌ°ÍÀ» »ç¿ëÇϱâ Àü¿¡ ¼Ò½º¸¦ ÀÔ¼öÇÏ°í ¸î°¡Áö Ä¿¸Çµå ¶óÀÎ ÆĶó¸ÞÅ͸¦ Ãß°¡ÇØ¾ß°Ú´Ù°í »ý°¢ÇÑ´Ù(Ä¿¸Çµå ¶óÀÎÀ¸·ÎºÎÅÍ ½ºÅ©¸³Æ®¸¦ Àá½ÃÁß´ÜÇϰųª Á¤Áö½ÃÅ°±â À§Çؼ­). ³»°¡ ¸¶Áö¸·À¸·Î Á¦¾È ÇÏ´Â °ÍÀº : rootÀÇ 'PATH=/bin'À¸·Î ±¸¼ºµÇ¾ß ÇÑ´Ù´Â Á¡ÀÌ´Ù. ¹Ù·Î ±×·¸´Ù. ´Ù¸¥ ¹«¾ùµµ rootÀÇ path¿¡ À̾´Â ¾È µÈ´Ù. root°¡ ÇÏ´Â ¸ðµçÀÏÀº /binÀ¸·ÎºÎÅÍ È¤Àº alias³ª shell ÇÔ¼ö¿¡ ÀÇ Çؼ­ ½Éº¼¸¯ ¸µÅ©¸¦ ¹Þ´ø°¡ ¶Ç´Â ȤÀº /bin µð·ºÅ丮³»ÀÇ script³ª binaryÀÌ´ø°¡ ¶Ç´Â ¶Ñ·ÇÇÑ Æнº·Î ŸÀԵǴ °ÍÀÌ´Ù. ÀÌ°ÍÀº ´©±º°¡°¡ binary¸¦ ¾ó¸¶³ª ½ÅÀÓÇÏ´ÂÁö¸¦ ÀνÄÇÏ°í root·Î¼­ ½ÇÇàÇϵµ·Ï ¸¸µé¾î ÁØ´Ù. ¸ÖƼ À¯Àú È£½ºÆ®ÀÇ Çö¸íÇÑ °ü¸®Àڴ ƯÁ¤ ÆÐÅÏÀ̳ª loopholeÀ» ã¾Æ³»±â À§ÇØ ÀÚ½ÅÀÇ /bin°ú /*his­ tory¸¦ Á¤±âÀûÀ¸·Î »ìÆ캼 °ÍÀÌ´Ù. ½ÇÁ¦·Î µ¿±â°¡ ºÎ¿©µÈ ¾îµå¹ÎÀº ÀÚµ¿È­ µÉ ¼öÀÖ´Â sequence¸¦ ¾Ë¾Æä °í, ¿ÂÀüÇÑ Ã¼Å©°¡ »ðÀ﵃ ¼ö Àִ°÷¿¡ À§Ä¡½ÃÅ°¸ç, rootÀÇ Æ¯±ÇÀ» ÀÏ ½ÃÀûÀ¸·Î »ï°¡±â À§ÇÑ ÀÛ¾÷µéÀ» ÇÑ´Ù(¿¡µðÅ͸¦ ¼³Ä¡ÇÏ°í, Á¤±³ÇÑ ½ºÅ© ¸³Æ® ±¸Á¶¸¦ °¡Áø MTAÀÇ ¶Ç´Â ´Ù¸¥°÷ÀÇ Ä¿´Ù¶õ ÀÎÅ;×Ƽºê ÇÁ·Î±× ·¥À» ¼³Ä¡ÇÑ´Ù. (±×µéÀ» ºÒ¸í¿¹½º·¯¿î vi ./.exrc ±×¸®°í emacs ./.emacs ±×¸®°í ±³È°ÇÑ $EXINIT ±×¸®°í ÀÓº£µùµÈ header/footer ¸ÅÅ© ·Îó·³ transparent³ª data file³»¿¡ ÀÓº£µùµÉ ¼öµµ ÀÖ´Ù. ´ç¿¬È÷ ´ÙÀ½ °ú °°Àº Á¾·ùÀÇ Ä¿¸Çµå°¡ ½ÇÇàµÉ ¼ö ÀÖ´Ù: cp $data $some_users_home/tmp su -c $origcommand $whatever_switches cp $some_users_home/tmp $data ´ë°³ ¸¶Áö¸·ÀÇ ¿¹¹æÁ¶Ä¡´Â Ȩ ¶Ç´Â ½Ì±Û À¯Àú ¿öÅ©½ºÅ×ÀÌ¼Ç »ç¿ëÀÚ¿¡°Ô ÇØ´çÇÏ´Â °ÍÀÌ´Ù -- ±×·¯³ª ±×°ÍÀº ¸ÖƼÀ¯Àú ½Ã½ºÅÛ, ƯÈ÷ ´ëÁß¿¡°Ô ³ëÃâµÇ¾î ÀÖ´Â ½Ã½ºÅÛÀÇ °ü¸®ÀÚ¿¡°Ô µµ À¯¿ëÇÑ °ÍÀÌ´Ù. 3.5. xdmÀÇ host ¼±ÅÃÀÚ¸¦ ¾î¶»°Ô ¼³Á¤ÇÒ°ÍÀΰ¡. Arrigo Triiulzi, a.triulzi@ic.ac.uk 1. ´ë°³ etc/rc/rc.6 ȤÀº /etc/rc.local¿¡ xdmÀ» ¼³Ä¡ÇÏ´Â fileÀ» xdm startup ¶óÀÎÀ» Æ÷ÇÔÇÏ µµ·Ï ´ÙÀ½°ú °°Àº ¶óÀÎÀ» Ãß°¡Ç϶ó. /usr/bin/X11/xdm exec /usr/bin/X11/X -indirect hostname 2. /usr/lib/X11/xdm/Xserver¸¦ ¼öÁ¤ÇÏ¿© ¿¹¸¦µé¾î starting 0¿Í °°ÀÌ ·ÎÄà ¸Ó½Å»ó¿¡¼­ ¼­¹ö ¸¦ ½ÃÀÛÇÏ°ÔÇÏ´Â ´ÙÀ½°ú °°Àº ¶óÀÎÀ» ¾ð±ÞÇ϶ó. 3. ¸Ó½ÅÀ» ÀçºÎÆÃÇ϶ó. ±×·¯¸é you are home and away.(¹«½¼¶æÀÎÁö..^^;) ³»°¡ ±×°ÍÀ» ³ªÀÇ ¼­ºê³Ý¿¡ ¸Â°Ô ¼³Á¤Çϱâ À§ÇØ ÇÊ»çÀûÀ¸·Î ³ë·ÂÇÏ´ø ¶§, ¸ðµç ¹®Á¦¸¦ Á¶»çÇϱâ À§Çؼ­ °ÅÀÇ ÀÏÁÖÀÏÀ̳ª °É·È±â ¶§¹®¿¡ ³ª ´Â ÀÌ°ÍÀ» Ãß°¡ÇÏ¿´´Ù. °æ°í : ¿¹ÀüÀÇ SLS(1.1.1)À» °¡Áö°í¼­ ¸î°¡Áö ÀÌÀ¯ ¶§¹®¿¡ xdm ¶óÀÎ µÚ¿¡ -nodaemonÀ» ³² °Ü³õÀ» ¼öµµ ÀÖ´Ù. ÀÌ°ÍÀº ÀÌÈÄÀÇ ¸±¸®Áî¿¡¼­´Â µ¿ÀÛÇÏÁö ¾Ê´Â´Ù.