The Linux Tips HOWTO <author>Paul Anderson, <url url="mailto:paul@geeky1.ebtech.net" name="paul@geeky1.ebtech.net"> <date> v2.4, 12 October 1996 <abstract> ÀÌ ÇÏ¿ìÅõ ¹®¼­´Â »ç¶÷µéÀÌ Àß ¸ð¸£´Â ÈùÆ®¿Í ¸®´ª½º¸¦ Á» ´õ Æí¸®ÇÏ°Ô ¸¸µå´Â Á¶Á¤¹ýÀ» ¼³¸íÇÏ°í ÀÖ´Ù. (¹ø¿ªÅõÀÇ ¹®ÀåÀ» Çѱ¹¾î½Ä Ç¥ÇöÀ¸·Î °íÄ¡´Â ÀÛ¾÷ÀÌ ÇÊ¿äÇÒ°Í °°½À´Ï´Ù.) </abstract> <toc> <sect>¼Ò °³ <p> ¸®´ª½º¸¦ Á»´õ Àç¹Õ°Ô ¸¸µé¾îÁÖ´Â ÁÁÀº Æ®¸¯°ú ÃÖÀûÈ­ ¹æ¹ýÀÇ ¸®½ºÆ®ÀÎ ¸®´ª½º ÆÁ ÇÏ¿ìÅõ ¹®¼­¿¡ ¿Â °ÍÀ» ȯ¿µÇÑ´Ù. ³»°¡ ¿©±â¿¡ ±â·ÏÇØ ³õÀº °ÍÀº ¸ðµÎ ³» ¸Ó¸®¼Ó¿¡¼­ ³ª¿Â ÆÁµé°ú ¿¹ÀüÀÇ ÆÁ-ÇÏ¿ìÅõ ¹®¼­¿¡ ÀÖ´ø °ÍµéÀÌ´Ù. ¿©·¯ºÐÀÌ ÁÁ¾ÆÇÏ´Â ÈùÆ®³ª ÆÁÀÌ ÀÖ´Ù¸é ´ÙÀ½ ¹öÀüÀÇ ÆÁ-ÇÏ¿ìÅõ¿¡ ³ÖÀ»¼ö ÀÖµµ·Ï ³ª¿¡°Ô º¸³»ÁÖ±æ ¹Ù¶õ´Ù. Paul Anderson Maintainer--Linux TIPS HOWTO <url url="mailto:panderso@ebtech.net" name="panderso@ebtech.net"> </p> <sect> °£´ÜÇÑ ÆÁµé <sect1> °£´ÜÇÑ Syslog Æ®¸¯ (Paul Anderson, Tips-HOWTO maintainer) <p> /etc/syslog.conf¸¦ ¼öÁ¤ÇÏ¿© ´ÙÀ½ ¶óÀÎÀ» Ãß°¡ÇÕ´Ï´Ù: <verb> # ¸ðµç °ÍÀ» tty8¿¡ ¾²±â *.* /dev/tty8 </verb> °æ°í : syslog.conf ÆÄÀÏ¿¡¼­´Â ½ºÆäÀ̽º ´ë½Å ÅÇÀ» »ç¿ëÇϽʽÿÀ. </p> <sect1> Core ÆÄÀϵéÀ» Áö¿ì±â À§ÇÑ °£´ÜÇÑ ½ºÅ©¸³Æ® <p> <url url="mailto:ohammers@cu-online.com" name="ohammers@cu-online.com"> Core ÆÄÀÏÀ» Áö¿ì±â À§ÇÑ °£´ÜÇÑ ½ºÅ©¸³Æ® ´ÙÀ½°ú °°ÀÌ rmcores¶õ À̸§ÀÇ ÆÄÀÏÀ» ¸¸µå½Ê½Ã¿À. (À̸§Àº »ó°ü ¾øÁö¸¸ ¿©±â¼­´Â handle-cores¶ó°í ÇßÀ½): <code> #!/bin/sh USAGE="$0 <directory> <message-file>" 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 </code> cron¿¡ µî·Ï½ÃÄѼ­ ÁÖ±âÀûÀ¸·Î ½ÇÇà½ÃÅ°½Ê½Ã¿À. </p> <sect1> ÆÄÀÏ ½Ã½ºÅÛ°£ µð·ºÅ丮 ¿Å±â±â <p> Alan Cox,<url url="mailto:A.Cox@swansea.ac.uk" name="A.Cox@swansea.ac.uk"> ÇÑ µð½ºÅ©·ÎºÎÅÍ ´Ù¸¥ µð½ºÅ©·Î ÆÄÀÏ Æ®¸® Àüü¸¦ ºü¸£°Ô ¿Å±â´Â ¹æ¹ý <verb> (cd /source/directory && tar cf - . ) | (cd /dest/directory && tar xvfp -) </verb> ¹®Á¦°¡ ÀÖÀ» °æ¿ì µð·ºÅ丮°¡ ±úÁö´Â °ÍÀ» ¸·±â À§Çؼ­ cd /source/directory; tar...etc ¿´´ø °ÍÀ» ¼öÁ¤Çß½À´Ï´Ù. (By Jim Dennis <url url="mailto:jadestar@rahul.net" name="jadestar@rahul.net">) </p> <sect1> ¾î¶² µð·ºÅ丮°¡ °¡Àå Å«Áö ¾Ë¾Æ³»±â. <p> <url url="mailto:mghazey@miso.lowdown.com" name="mghazey@miso.lowdown.com"> ¿©·¯ºÐÀÇ ÄÄÇ»ÅÍ¿¡¼­ °¡Àå Å« µð·ºÅ丮°¡ ±Ã±àÇϽʴϱî? ¿©±â¿¡ ¹æ¹ýÀÌ ÀÖ½À´Ï´Ù. <verb> du -S | sort -n </verb> </p> <sect1> The Linux Gazette <p> Linux GazetteÀÇ Ã¢½ÃÀÚÀÎ John Fisk¿¡°Ô °¨»çÀÇ ¸»À» ÀüÇÕ´Ï´Ù. ÀÌ°ÍÀº ²Ï ³î¶ó¿î ¿Â¶óÀÎ ÀâÁöÀÌ¸ç ¹«·áÀÔ´Ï´Ù! ÀÌ°÷¿¡¼­ È®ÀÎÇϽñ⠹ٶø´Ï´Ù. <url url="http://linuxgazette.net/" name="http://linuxgazette.net/"> ÀÌ »çÀÌÆ®¿¡¼­ John Fisk¿¡°Ô ¿Â¶óÀÎ ÀâÁö Linux Gazette¿¡ °üÇÑ ¸Þ¸ð¸¦ ³²°Ü ÁֽʽÿÀ. </p> <sect1>Pointer to patch for GNU Make 3.70 to change VPATH behavor. <p> Ted Stern,<url url="mailto:stern@amath.washington.edu" name="stern@amath.washington.edu"> Pointer to patch for GNU Make 3.70 to change VPATH behavor. ¸¹Àº »ç¶÷µéÀÌ ÀÌ·¯ÇÑ ¹®Á¦Á¡À» Áö´Ï°í ÀÖ´ÂÁö´Â ¾Ë¼ö¾øÁö¸¸, ³»°¡ ÁÁ ¾ÆÇÏÁö ¾Ê´Â 3.70 ¹öÀüÀÇ GNU makeÀÇ Æ¯Â¡ÀÌ ÀÖ´Ù. ±×°ÍÀº Àý´ë °æ ·Î¸¦ ÁÙ °æ¿ì VPATH°¡ Àç¹ÌÀÖ´Â ÇൿÀ» ÇÑ´Ù´Â °ÍÀÌ´Ù. ÀÌ°ÍÀ» ¼öÁ¤ ÇÏ´Â Àý´ëÀûÀ¸·Î ¹ÏÀ»¸¸ÇÑ ÆÐÄ¡°¡ Àִµ¥, Paul Smith<<url url="mailto:psmith@wellfleet.com" name="psmith@wellfleet.com">>À¸·ÎºÎÅÍ ±×°ÍÀ» ±¸ÇÒ ¼ö ÀÖ´Ù. ¶Ç ±×´Â ¾ÕÀ¸·ÎÀÇ ¸ðµç »õ·Î¿î ¹öÀüÀÇ makeÀÇ ¹®¼­¿Í ÆÐÄ¡¸¦ ´º½º±×·ì |gnu.utils.bug|¿¡ ¿Ã·Á³õÀ» °ÍÀÌ´Ù. ÀϹÝÀûÀ¸·Î, ³ª´Â ³»°¡ ¾ï¼¼½ºÇÏ´Â ¸ðµç ½Ã½ºÅÛ¿¡ ÀÌ ÆÐÄ¡¸¦ Àû¿ëÇÏ°í gmake¸¦ ´Ù½Ã ÄÄÆÄÀÏÇÑ´Ù. </p> <sect1> ºÎÆÃÇÒ ¶§¸¶´Ù fsck ÇÏ´Â °Í ¸·±â <p> Dale Lutz, <url url="mailto:dal@wimsey.com" name="dal@wimsey.com"> Q: ¸Å¹ø ºÎÆÃÇÒ¶§¸¶´Ù e2fsck°¡ µð½ºÅ© °Ë»çÇÏ´Â °ÍÀ» ¸·À» ¼ö ÀÖ½À´Ï±î? A: Ä¿³ÎÀ» ´Ù½Ã ºÒ·¯¿Ã ¶§, ÆÄÀϽýºÅÛÀº 'dirty'·Î ±â·ÏµË´Ï´Ù. ±×·¡¼­ ºÎÆà ¶§¸¶´Ù µð½ºÅ© °Ë»ç¸¦ ÇÏ´Â °ÍÀ̸ç, ÀÌ°ÍÀ» ¹æÁöÇÏ·Á¸é ´ÙÀ½°ú °°ÀÌ ÇϽʽÿÀ: <verb> rdev -R /zImage 1 </verb> ÀÌ°ÍÀº ÆÄÀϽýºÅÛÀÌ 'dirty'·Î ±â·ÏµÇÁö ¾Êµµ·Ï Ä¿³ÎÀ» ¼öÁ¤ÇÕ´Ï´Ù. ¸Þ¸ð : lilo¸¦ »ç¿ëÇÑ´Ù¸é lilo config file ³»ÀÇ ¸®´ª½º ¼³Á¤¿¡ read-only¸¦ Ãß°¡ÇÕ´Ï´Ù. (ÈçÈ÷ /etc/lilo.conf) </p> <sect1>ºÎÆ®½Ã¿¡ "device busy"¿¡ ÀÇÇØ ¾ß±âµÇ´Â fscks ÇÇÇϱâ. <p> Jon Tombs, <url url="mailto:jon@gtex02.us.es" name="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ÇÒ ¶§ »ó´çÇÑ ½Ã°£À» Àý¾àÇØÁØ´Ù. </p> <sect1>Çϵåµð½ºÅ© »ó¿¡¼­ °¡Àå Å« ÆÄÀÏ ¾Ë¾Æ³»±â <p> Simon Amor, <url url="mailto:simon@foobar.co.uk" name="simon@foobar.co.uk"> <verb> ls -l | sort +4n </verb> ¶Ç´Â Çϵåµð½ºÅ©°¡ °ø°£»óÀÇ ¹®Á¦°¡ ÀÖ´Ù¸é ÀÌ°ÍÀº ½Ã°£Àº °É¸®Áö¸¸ Àß ÈǸ¢È÷ µ¿ÀÛÇÒ °ÍÀÌ´Ù. <verb> cd / ls -lR | sort +4n </verb> </p> <sect1>How to print pages with a margin for hole punching. <p> Mike Dickey, <url url="mailto:mdickey@thorplus.lib.perdue.edu" name="mdickey@thorplus.lib.perdue.edu"> <code> #!/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 </code> </p> <sect1>ÆÄÀÏ Æ®¸® Àüü¿¡ °ÉÃÄ Æ¯Á¤ Á¤±ÔÇ¥Çö½Ä °Ë»öÇϱâ. <p> Raul Deluth Miller, <url url="mailto:rockwell@nova.umd.edu" name="rockwell@nova.umd.edu"> ÆÄÀÏ Æ®¸® Àüü¿¡ °ÉÃÄ Æ¯Á¤ Á¤±ÔÇ¥Çö½Ä °Ë»öÇϱ⠳» 'forall' ½ºÅ©¸³Æ®ÀÌ´Ù. ÀÌ·¸°Ô »ç¿ëÇضó: <verb> forall /usr/include grep -i ioctl forall /usr/man grep ioctl </verb> forallÀº ´ÙÀ½°ú °°´Ù: <code> #!/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 "$@" </code> </p> <sect1>ÀÚµ¿ ¼¼À̺곪 ¹é¾÷ ÆÄÀÏÀ» ¸¸µå´Â ÇÁ·Î±×·¥À» »ç¿ëÇÑ µÚÀÇ Ã»¼Ò¸¦ À§ÇÑ ½ºÅ©¸³Æ®. <p> Barry Tolnas, <url url="mailto:tolnas@nestor.engr.utk.edu" name="tolnas@nestor.engr.utk.edu"> ÀÚµ¿ ¼¼À̺곪 ¹é¾÷ fileÀ» ¸¸µå´Â ÇÁ·Î±×·¥. ¿©±â µð·ºÅ丮 °èÃþ±¸Á¶¸¦ Ÿ°í ³»·Á°¡¸é¼­ emacsÀÇ ÀÚµ¿-¼¼À̺ê(#)¿Í ¹é¾÷(~) file°ú .o file ±×¸®°í TEX.log ÆÄÀϵéÀ» »èÁ¦ÇÏ´Â °£´ÜÇÑ µÎÁÙÂ¥¸®°¡ ÀÖ´Ù. ÀÌ°ÍÀº ¶ÇÇÑ .tex¿Í README fileÀ» ¾ÐÃàÇÏ´Â ±â´Éµµ ÇÑ´Ù. ³ª´Â ÀÌ°ÍÀ» 'sqeeze'¶ó À̸§Áö¾ú´Ù. <code> #!/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 {} \; </code> </p> <sect1>¾î¶² ÇÁ·Î¼¼½º°¡ ¸Þ¸ð¸®¸¦ °¡Àå ¸¹ÀÌ Àâ¾Æ¸Ô°í ÀÖ´ÂÁö ¾Ë¾Æ³»±â <p> <url url="mailto:simon@foobar.co.uk" name="simon@foobar.co.uk"> ¾î¶² ÇÁ·Î¼¼½º°¡ ¸Þ¸ð¸®¸¦ °¡Àå ¸¹ÀÌ Àâ¾Æ¸Ô°í ÀÖ´ÂÁö ¾Ë¾Æ³»±â <verb> ps -aux | sort +4n -OR- ps -aux | sort +5n </verb> </p> <sect> ¼¼ºÎÀûÀÎ tip <sect1>Linux¿Í windows¿¡¼­ swap ÆÄƼ¼Ç °øÀ¯Çϱâ. <p> Tony acero, <url url="mailto:ace3@midway.uchicagi.edu" name="ace3@midway.uchicagi.edu"> <enum> <item>ÇØ´ç ÆÄƼ¼ÇÀ» µµ½º ÆÄƼ¼ÇÀ¸·Î Æ÷¸ËÇÏ°í, °Å±â¿¡ À©µµ¿ì swap file À» »ý¼ºÇÑ µÚ ¾ÆÁ÷ À©µµ¿ì¸¦ ½ÇÇàÇÏÁö´Â ¸»¾Æ¶ó. ( ¿©·¯ºÐÀº ¿ì¼±Àº swap fileÀÌ ¿ÏÀüÈ÷ ºñ¾îÀÖ´Â »óÅ·Πº¸Á¸µÇ±â¸¦ ¹Ù¶ö °ÍÀÌ°í, ±×·¯¹Ç ·Î ±×°ÍÀº Àß ¾ÐÃàµÈ´Ù.) <item>Linux·Î ºÎÆÃÇѵڿ¡ ±× ÆÄƼ¼ÇÀ» file·Î ÀúÀåÇÑ´Ù. ¿¹¸¦µé¾î ÆÄƼ¼Ç ÀÌ /dev/hda8À̾ú´Ù¸é <verb> dd if=/dev/hda8 of=/etc/dosswap </verb> <item>±× µµ½º swap fileÀ» ¾ÐÃàÇÑ´Ù. ±×°ÍÀº °¡»óÀûÀ¸·Î ¸ðµÎ 0À̱⠶§¹® ¿¡ ¸Å¿ì Àß ¾ÐÃàµÉ °ÍÀÌ´Ù. <verb> gzip -9 /etc/dosswap </verb> <item>Linux¿¡ swap °ø°£À» ÁغñÇÏ°í ¼³Ä¡ÇϱâÀ§ÇØ /etc/rc file¿¡ ´ÙÀ½ÀÇ ¶óÀÎÀ» Ãß°¡ÇÑ´Ù. <verb> xxxxx´Â swap ÆÄƼ¼ÇÀÇ block °³¼öÀÌ´Ù. mkswap /dev/hda8 XXXXX swapon -av </verb> /etc/fstab file¿¡ swap ÆÄƼ¼ÇÀ» À§ÇÑ ¿£Æ®¸®¸¦ Ãß°¡ÇßÀ½À» È®ÀÎÇ϶ó. <item> init/reboot ÆÐÅ°Áö°¡ /etc/brc ȤÀº /sbin/brc¸¦ Áö¿øÇÑ´Ù¸é ´ÙÀ½À» /etc/brc¿¡ Ãß°¡ÇÏ°í, ±×·¸Áö ¾ÊÀº °æ¿ì dos | os/2·Î ºÎÆÃÇÏ°í ½ÍÀ» ¶§ ±×¸®°í swap ÆÄƼ¼ÇÀ» dos/windows ¹öÀüÀ¸·Î ¹Ù²Ù°í ½ÍÀ» ¶§ ÀÌ°ÍÀ» ¼ÕÀ¸·Î ÇØÁÖ¾î¶ó. <verb> swapoff -av zcat /etc/dosswap.gz | dd of=/dev/hda8 bs=1k count=100 </verb> # ÀÌ°ÍÀº ¿ÀÁ÷ óÀ½ÀÇ 100 ºí·Ï ¸¸À» ÆÄƼ¼Ç¿¡ ±â·ÏÇÔÀ» ¾Ë¾ÆµÎ¾î¶ó. ³ª´Â °æÇèÀûÀ¸·Î 100 À̸é ÃæºÐÇÔÀ» ¾Ë¾Æ³»¾ú´Ù. >> ÀÌ°ÍÀÇ ÀåÁ¡°ú ´ÜÁ¡Àº ¹«¾ùÀΰ¡. ÀåÁ¡ : »ó´çÇÑ ¾çÀÇ µð½ºÅ© ½ºÆäÀ̽º¸¦ Àý¾àÇÒ ¼ö ÀÖ´Ù. ´ÜÁ¡ : step 5°¡ ÀÚµ¿ÀûÀ¸·Î ÀÌ·ç¾îÁöÁö ¾ÊÀ» °æ¿ì, ¿©·¯ºÐÀº ±×°ÍÀ» Á÷Á¢ ÇØÁÖ¾î¾ß ÇÔÀ» ±â ¾ïÇØ¾ß Çϸç, reboot ÇÁ·Î¼¼½º°¡ Á¶±Ý ´À·ÁÁø´Ù. </enum> </p> <sect1>º¯°æµÇÁö ¾Ê´Â flag »ç¿ëÇϱâ. <p> Jim Dennis, <url url="mailto:jadestar@rahul.net" name="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 Çϴµ¥ ÀÇÁ¸Çϱ⠶§¹®ÀÌ´Ù) ÀÌ°ÍÀÇ ¿ÀÁ÷ ÇÑ°¡Áö ºÒÆíÇÑ Á¡Àº ´Ù¾çÇÑ Á¾·ùÀÇ ½Ã½ºÅÛ ¹ÙÀ̳ʸ®µéÀ» 'make install' ÇÒ ¶§ÀÌ´Ù. ¹Ý¸é¿¡ ±×°ÍÀº ¶ÇÇÑ 'make install'ÀÌ fileÀ» overwriteÇÏÁö ¾Êµµ·Ï ÇØÁØ´Ù. ¿©·¯ºÐÀÌ MakefileÀ» Àд °ÍÀ» ±ô¹Ú ÀØ °í ´Ù½Ã ±â·ÏµÉ fileµéÀ» chattr -i ÇÒ ¶§(±×¸®°í ´ç½ÅÀÌ fileÀ» Ç®¾î³õ À» µð·ºÅ丮µµ), make´Â ½ÇÆÐÇϸç, chattr ¸í·ÉÀ» »ç¿ëÇÏ¿© ±×°ÍÀ» ´Ù ½Ã ½ÇÇàÇØ¾ß ÇÑ´Ù. ´ç½ÅÀº ÀÚ½ÅÀÇ ±âÁ¸ÀÇ bins, libs, ȤÀº ¹«¾ùÀÌ´ø°£ ¿¡ .old/ µð·ºÅ丮·Î ¿Å±æ ±âȸ¸¦ ¾ò°ÔµÈ´Ù. ¶Ç´Â ±×°ÍµéÀ» ¸®³×ÀÓÇÏ°Å ³ª tar·Î ¾ÐÃàµûÀ§¸¦ ÇÒ¼öµµ ÀÖ´Ù. </p> <sect1>»õ·Î¿î stuff¸¦ ¾îµð¿¡ ³ÖÀ»°ÍÀΰ¡¿¡ ´ëÇÑ Á¦¾È <p> Jim dennis, <url url="mailto:jadestar@rahul.net" name="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 »ç¶÷µé¿¡ ÀÇÇØ °ü¸®µÇ¾î ¿ÔÀ¸¸ç, ¼ö¸¹Àº ¾÷±× ·¹À̵å¿Í ÆÐÅ°Áö ¼³Ä¡°¡ ÀÌ·ç¾îÁ³´Ù. ±×·³¿¡µµ ³ª¿¡°Ô´Â ÃʱâÀÇ ¼³Ä¡ ¿Í ¼³Á¤ÀÌ ³¡³­µÚ¿¡ Áý¾î ³Ö°ÔµÉ Áß¿äÇÑ ¿¤¸®¸ÕÆ®µé¿¡ ´ëÇÑ ÁÁÀº ¾ÆÀÌ µð¾î°¡ ÀÖ´Ù. </p> <sect1>½Ã½ºÅÛ°ü¸®ÀÚ¸¦ À§ÇÑ ¸î°¡Áö ÆÁ. <p> Jim Dennis, <url url="mailto:jadestar@rahul.net" name="jadestar@rahul.net"> ½Ã½ºÅÛ°ü¸®ÀÚ¸¦ À§ÇÑ ¸î°¡Áö ÆÁ. /README.'hostname'°ú /etc/README.'hostname'À» ¸¸µé°í °ü¸®ÇØ ¶ó. ȤÀº /usr/local/etc/README.'hostname'µµ °¡´ÉÇÏ´Ù. Àý´ëÀûÀ¸·Î, ½Ã½ºÅÛ °ü¸®¸¦ ½ÃÀÛÇÑ Ã¹³¯·ÎºÎÅÍ ¿Â¶óÀÎ ·Î±× file³»¿¡ ±â·ÏÀ» Çضó. rootÀÇ /bash_logout¿¡ | vi /README.$(hostname) | °ú °°Àº ¶óÀÎÀ» Àû¾îµµ ÁÁ´Ù. ÀÌ°ÍÀ» ÇÏ´Â ¶Ç ´Ù¸¥ ¹æ¹ýÀº su³ª sudo¿¡ ´ÙÀ½°ú °°Àº ÀÏÀ» ÇÏ´Â ½ºÅ©¸³Æ®¸¦ ±â·ÏÇÏ´Â °ÍÀÌ´Ù. <verb> 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 - </verb> (session log¸¦ ¸¸µé±â À§ÇØ typescript¸¦ »ç¿ëÇÏ°í, ÀÚµ¿À¸·Î log¸¦ appending°ú updatingÀ» ÇÒ ÇÔ¼ö¸¦ ¸¸µç´Ù). ³ª´Â ³»°¡ ÀÌ ¹æ½ÄÀÇ ÀÚµ¿È­ µµ±¸¸¦ ¸¸µéÁö ¾Ê¾ÒÀ½À» ÀÎÁ¤ÇÒ °ÍÀÌ´Ù -- ³ª´Â ´ÜÁö ¿©Áö²¯ ½º½º·ÎÀÇ ÈƷÿ¡ ÀÇÁ¸ÇØ ¿ÔÀ» »ÓÀÌ´Ù. ±×·¯³ª ³ª ´Â Àå³­»ï¾Æ ±×·± ¾ÆÀ̵ð¾î¸¦ »ý°¢ÇØ ¿Ô¾ú´Ù. (½ÉÁö¾î´Â ÀÌ¹Ì º» ½º Å©¸³Æ®ÀÇ ÇÁ·ÎÅäŸÀÔÀ̳ª shell ±â´ÉÀÇ ¹®Á¦¿¡¼­ Á¶Â÷µµ.) ÀÌ°ÍÀ¸·Î ³ª ¸¦ ´Ù½Ã ºÙµå´Â °ÍÀº 'script' ¸í·É ±× ÀÚüÀÌ´Ù. ³ª´Â ÀÌ°ÍÀ» »ç¿ëÇϱâ Àü¿¡ ¼Ò½º¸¦ ÀÔ¼öÇÏ°í ¸î°¡Áö Ä¿¸Çµå ¶óÀÎ ÆĶó¸ÞÅ͸¦ Ãß°¡ÇØ¾ß°Ú´Ù°í »ý°¢ÇÑ´Ù(Ä¿¸Çµå ¶óÀÎÀ¸·ÎºÎÅÍ ½ºÅ©¸³Æ®¸¦ Àá½ÃÁß´ÜÇϰųª Á¤Áö½ÃÅ°±â À§Çؼ­). ³»°¡ ¸¶Áö¸·À¸·Î Á¦¾È ÇÏ´Â °ÍÀº : rootÀÇ 'PATH=/bin'À¸·Î ±¸¼ºµÇ¾ß ÇÑ´Ù´Â Á¡ÀÌ´Ù. ¹Ù·Î ±×·¸´Ù. ´Ù¸¥ ¹«¾ùµµ rootÀÇ path¿¡ À̾´Â ¾È µÈ´Ù. root°¡ ÇÏ´Â ¸ðµçÀÏÀº /binÀ¸·ÎºÎÅÍ È¤Àº alias³ª shell ÇÔ¼ö¿¡ ÀÇ Çؼ­ ½Éº¼¸¯ ¸µÅ©¸¦ ¹Þ´ø°¡ ¶Ç´Â ȤÀº /bin µð·ºÅ丮³»ÀÇ script³ª binaryÀÌ´ø°¡ ¶Ç´Â ¶Ñ·ÇÇÑ Æнº·Î ŸÀԵǴ °ÍÀÌ´Ù. ÀÌ°ÍÀº ´©±º°¡°¡ binary¸¦ ¾ó¸¶³ª ½ÅÀÓÇÏ´ÂÁö¸¦ ÀνÄÇÏ°í root·Î¼­ ½ÇÇàÇϵµ·Ï ¸¸µé¾î ÁØ´Ù. ¸ÖƼ À¯Àú È£½ºÆ®ÀÇ Çö¸íÇÑ °ü¸®Àڴ ƯÁ¤ ÆÐÅÏÀ̳ª loopholeÀ» ã¾Æ³»±â À§ÇØ ÀÚ½ÅÀÇ /bin°ú /*history¸¦ Á¤±âÀûÀ¸·Î »ìÆ캼 °ÍÀÌ´Ù. ½ÇÁ¦·Î µ¿±â°¡ ºÎ¿©µÈ ¾îµå¹ÎÀº ÀÚµ¿È­ µÉ ¼öÀÖ´Â sequence¸¦ ¾Ë¾Æä °í, ¿ÂÀüÇÑ Ã¼Å©°¡ »ðÀ﵃ ¼ö Àִ°÷¿¡ À§Ä¡½ÃÅ°¸ç, rootÀÇ Æ¯±ÇÀ» ÀÏ ½ÃÀûÀ¸·Î »ï°¡±â À§ÇÑ ÀÛ¾÷µéÀ» ÇÑ´Ù(¿¡µðÅ͸¦ ¼³Ä¡ÇÏ°í, Á¤±³ÇÑ ½ºÅ© ¸³Æ® ±¸Á¶¸¦ °¡Áø MTAÀÇ ¶Ç´Â ´Ù¸¥°÷ÀÇ Ä¿´Ù¶õ ÀÎÅ;×Ƽºê ÇÁ·Î±× ·¥À» ¼³Ä¡ÇÑ´Ù. (±×µéÀ» ºÒ¸í¿¹½º·¯¿î vi ./.exrc ±×¸®°í emacs ./.emacs ±×¸®°í ±³È°ÇÑ $EXINIT ±×¸®°í ÀÓº£µùµÈ header/footer ¸ÅÅ© ·Îó·³ transparent³ª data file³»¿¡ ÀÓº£µùµÉ ¼öµµ ÀÖ´Ù. ´ç¿¬È÷ ´ÙÀ½ °ú °°Àº Á¾·ùÀÇ Ä¿¸Çµå°¡ ½ÇÇàµÉ ¼ö ÀÖ´Ù: <verb> cp $data $some_users_home/tmp su -c $origcommand $whatever_switches cp $some_users_home/tmp $data </verb> ´ë°³ ¸¶Áö¸·ÀÇ ¿¹¹æÁ¶Ä¡´Â Ȩ ¶Ç´Â ½Ì±Û À¯Àú ¿öÅ©½ºÅ×ÀÌ¼Ç »ç¿ëÀÚ¿¡°Ô ÇØ´çÇÏ´Â °ÍÀÌ´Ù -- ±×·¯³ª ±×°ÍÀº ¸ÖƼÀ¯Àú ½Ã½ºÅÛ, ƯÈ÷ ´ëÁß¿¡°Ô ³ëÃâµÇ¾î ÀÖ´Â ½Ã½ºÅÛÀÇ °ü¸®ÀÚ¿¡°Ô µµ À¯¿ëÇÑ °ÍÀÌ´Ù. </p> <sect1>xdmÀÇ host ¼±ÅÃÀÚ¸¦ ¾î¶»°Ô ¼³Á¤ÇÒ°ÍÀΰ¡. <p> Arrigo Triiulzi, <url url="mailto:a.triulzi@ic.ac.uk" name="a.triulzi@ic.ac.uk"> <enum> <item>´ë°³ etc/rc/rc.6 ȤÀº /etc/rc.local¿¡ xdmÀ» ¼³Ä¡ÇÏ´Â fileÀ» xdm startup ¶óÀÎÀ» Æ÷ÇÔÇÏ µµ·Ï ´ÙÀ½°ú °°Àº ¶óÀÎÀ» Ãß°¡Ç϶ó. <verb> /usr/bin/X11/xdm exec /usr/bin/X11/X -indirect hostname </verb> <item>/usr/lib/X11/xdm/Xserver¸¦ ¼öÁ¤ÇÏ¿© ¿¹¸¦µé¾î starting 0¿Í °°ÀÌ ·ÎÄà ¸Ó½Å»ó¿¡¼­ ¼­¹ö ¸¦ ½ÃÀÛÇÏ°ÔÇÏ´Â ´ÙÀ½°ú °°Àº ¶óÀÎÀ» ¾ð±ÞÇ϶ó. <item>¸Ó½ÅÀ» ÀçºÎÆÃÇ϶ó. ±×·¯¸é you are home and away.(¹«½¼¶æÀÎÁö..^^;) ³»°¡ ±×°ÍÀ» ³ªÀÇ ¼­ºê³Ý¿¡ ¸Â°Ô ¼³Á¤Çϱâ À§ÇØ ÇÊ»çÀûÀ¸·Î ³ë·ÂÇÏ´ø ¶§, ¸ðµç ¹®Á¦¸¦ Á¶»çÇϱâ À§Çؼ­ °ÅÀÇ ÀÏÁÖÀÏÀ̳ª °É·È±â ¶§¹®¿¡ ³ª ´Â ÀÌ°ÍÀ» Ãß°¡ÇÏ¿´´Ù. </enum> </p> <p> °æ°í : ¿¹ÀüÀÇ SLS(1.1.1)À» °¡Áö°í¼­ ¸î°¡Áö ÀÌÀ¯ ¶§¹®¿¡ xdm ¶óÀÎ µÚ¿¡ -nodaemonÀ» ³²°Ü ³õÀ» ¼öµµ ÀÖ´Ù. ÀÌ°ÍÀº ÀÌÈÄÀÇ ¸±¸®Áî¿¡¼­´Â µ¿ÀÛÇÏÁö ¾Ê´Â´Ù. </p> </article>