·Qµ²Ãѧó¦h·sªB¤Í¶Ü?·Q´M§ä§A(©p)ªº¥t¤@¥b¶Ü?«ö¦¹§Y¶}©l§¹¥þ§K¶O.
¡¸ («ö¦¹) ³Ì ·s ¹C À¸ ±o ¤À ¤Î ¾± ³¹ ±Æ ¦æ º] ¡¸

 
¼ÐÃD: Linux§@·~¨t²Î¤W¶i¦æ¦Û°Ê³Æ¥÷ªº¤èªk¨BÆJ
wijyr
·s¤â¤W¸ô
Rank: 1



UID 0066582
ºëµØ 0
¿n¤À 57
©«¤l 22
«Â±æ 57
ª÷¿ú 2006
¦s´Ú 0
¾\ŪÅv­­ 10
µù¥U 4-5-2008
ª¬ºA Â÷½u
  ¤j ¤¤ ¤p
µoªí©ó 4-5-2008 22:37  ¸ê®Æ  ­Ó¤HªÅ¶¡  µu®ø®§  ¥[¬°¦n¤Í 
Linux§@·~¨t²Î¤W¶i¦æ¦Û°Ê³Æ¥÷ªº¤èªk¨BÆJ@ngchk.com E-Mail ¦¹¥DÃDµ¹ªB¤Í
Linux§@·~¨t²Î¤W¶i¦æ¦Û°Ê³Æ¥÷ªº¤èªk¨BÆJ

­«­n¼Æ¾Úªº¥á¥¢¥i¯à·N¨ýµÛ­P©Rªº¯}Ãa¡C¾¨ºÞ¦p¦¹¡AÁÙ¬O¦³µL¼Æ±M·~¤H­û©¿µø¤F¹ï¥L­Ìªº¼Æ¾Úªº³Æ¥÷¡CÁöµM­ì¦]¥i¯à¦U¤£¬Û¦P¡A¦ý¬O¡A³Ì±`¨£ªº¤@­Ó¸ÑÄÀ¬O¡A°õ¦æ¨Ò¦æ³Æ¥÷½T¹ê·Ðº¾¡C¥Ñ©ó¾÷¾¹¾Õªø¤_§¹¦¨´¶³q¦Ó­«´_ªº¥ô°È¡A¦]¦¹¡A¦Û°Ê¤Æ³Æ¥÷ªº¹Lµ{¬O­°§C¤u§@¤º¦bªº¬\Àê©Ê©M¤H­Ì»P¥Í­Ñ¨Óªº©ì©µ¶É¦VªºÃöÁä©Ò¦b¡C
¦pªG±z¨Ï¥Î Linux¡A¨º»ò±z´N¤w¸g¥i¥H¨Ï¥Î¨º¨Ç³Ð«Ø©w»s³Æ¥÷¸Ñ¨M¤è®×ªº·¥¨ä±j¤jªº¤u¨ã¡C¥»¤å¤¤ªº¤è®×¡A¥i¥HÅý±z¨Ï¥Î´X¥G¨C­Ó Linux µo¦æª©¥»³£ªþ±aªº¶}©ñ·½¥N½X¤u¨ã¨Ó°õ¦æ±q²³æªº¨ì§ó°ª¯Å¦Ó¥B¦w¥þªººô¸ô³Æ¥÷¡C

²³æ³Æ¥÷
¥»¤å«ö·Ó¤@¨B¤@¨Bªº¤èªk¨Ó¶i¦æÁ¿­z¡A¥u­n±z¿í´`¨º¨Ç°ò¥»ªº¨BÆJ¡A¦¹¤èªk·|¬O«D±`ª½Æ[ªº¡C
¦b¬ã¨s§ó°ª¯Åªº¤À§G¦¡³Æ¥÷¸Ñ¨M¤è®×¤§«e¡AÅý§Ú­Ì­º¥ý¨Ó¬Ý¤@­Ó²³æ¦Ó±j¤jªº¦sÀɾ÷¨î¡CÅý§Ú­Ì¨Ó¤ÀªR¤@­Ó¦W¬° arc ªº¤è«Kªº¸}¥»¡A¥¦¥i¥HÅý§Ú­Ì¦b Linux shell ´£¥Ü²Å¤¤³Ð«Ø³Æ¥÷§Ö·Ó¡C

²M³æ 1. arc shell ¸}¥»
#!/bin/sh   tar czvf $1.$(date +%Y%m%d%-H%M%S).tgz $1   exit $?
arc¸}¥»±µ¦¬¤@­Ó³æ¿Wªº¤å¥ó©Î¥Ø¿ý¦W§@¬°°Ñ¼Æ¡A³Ð«Ø¤@­ÓÀ£ÁYªº¦sÀɤå¥ó¡A¦P®É±N·í«e¤é´Á´O¤J¨ì¥Í¦¨ªº¦sÀɤå¥óªº¦W¦r¤§¤¤¡C¨Ò¦p¡A¦pªG±z¦³¤@­Ó¦W¬°beoserver ªº¥Ø¿ý¡A±z¥i¥H½Õ¥Î arc ¸}¥»¡A±N beoserver ¥Ø¿ý¦W¶Ç»¼µ¹¥¦¥H³Ð«Ø¤@­ÓÀ£ÁYªº¦sÀɤå¥ó¡A¦p¡Gbeoserver.20040321-014844.tgz
¨Ï¥Î date ©R¥O¬O¬°¤F´O¤J¤@­Ó¤é´Á©M®É¶¡ÂW¥HÀ°§U±z²Õ´¦sÀɤå¥ó¡C¤é´Áªº®æ¦¡¬O¦~¡B¤ë¡B¤é¡B¤p®É¡B¤À¡B¬í ¡X¡X ÁöµM¬í°ìªº¨Ï¥Î¦³¤@¨Ç¦h¾l¡C¬d¬Ýdata ©R¥Oªº¤â¥U¡] man date¡^¨Ó¤F¸Ñ¨ä¥L¿ï¶µ¡C¥t¥~¡A¦b²M³æ 1 ¤¤¡A§Ú­Ì¦V tar ¶Ç»¼¤F -v¡]verbose¡^¿ï¶µ¡C³o´N¨Ï±otar Åã¥Ü¥X¥¦¥¿¦b¦sÀɪº¤å¥ó¡C¦pªG±z³ßÅwÀRÀq¦a¶i¦æ³Æ¥÷¡A¨º»ò§R°£³o­Ó -v ¿ï¶µ¡C
²M³æ 2. ¦sÀÉ beoserver ¥Ø¿ý
$ ls   arc  beoserver   
$ ./arc beoserver   beoserver/   beoserver/bookl.dat   

beoserver/beoserver_ab_off   beoserver/beoserver_ab_on   

$ ls   arc  beoserver  beoserver.20040321-014844.tgz
°ª¯Å³Æ¥÷
³o­Ó²³æ³Æ¥÷¬O¹ê¥Îªº¡F¤£¹L¡A¥¦¤´µM¥]§t¤@­Ó¤H¤u³Æ¥÷ªº¹Lµ{¡C¦æ·~³Ì¨Î¸gÅç³q±`«ØÄ³±N¼Æ¾Ú³Æ¥÷¨ì¦h­Ó´CÅé¤W¡A¨Ã³Æ¥÷¨ì¤À¶}ªº¤£¦P¦a²z¦ì¸m¡C¤¤¤ß«ä·Q¬OÁ×§K¨Ì¿à©ó¥ô¦ó¤@­Ó³æ¿Wªº¦sÀx´CÅé©Î³æ¿Wªº¦ì¸m¡C
¦b¤U¤@­Ó¨Ò¤l¤¤§Ú­Ì±NÀ³¹ï³o¤@¬D¾Ô¡A§Ú­Ì±N¤ÀªR¤@­Ó¦p¹Ï 1 ©Ò¥Üªº°²·Qªº¤À§G¦¡ºô¸ô¡A¥¦®i¥Ü¤F¹ï¨â¥x»·µ{¦øªA¾¹©M¤@¥xÂ÷½u¦sÀx¦øªA¾¹ªº¨t²ÎºÞ²z¡C

¹Ï 1. ¤À§G¦¡ºô¸ô
¦øªA¾¹ #1 ©M #2¤Wªº³Æ¥÷¤å¥ó±N¦w¥þ¦a¶Ç¿é¨ìÂ÷½u¦sÀx¦øªA¾¹¤W¡A¦Ó¥B¾ã­Ó¤À§G¦¡³Æ¥÷¹Lµ{±N¦b¨S¦³¤H¤u¤z¯Aªº±¡ªp¤U©w´Á¶i¦æ¡C§Ú­Ì±N¨Ï¥Î¤@²Õ¼Ð·Çªº¤u¨ã¡]¶}©ñ¦w¥þshell ¤u¨ã®M¥ó¡]OpenSSH¡^ªº¤@³¡¤À¡^¡A¥H¤ÎºÏ±a¦sÀɾ¹¡]tar¡^©M cron ¥ô°È½Õ«×ªA°È¡C§Ú­Ìªº¥þ³¡­p¹º¬O¡A¨Ï¥Î cron¶i¦æ½Õ«×¡A¨Ï¥Î shell µ{¦¡©M tar À³¥Îµ{¦¡§¹¦¨³Æ¥÷¹Lµ{¡A¨Ï¥Î OpenSSH ¦w¥þ shell¡]ssh¡^¥[±K¶i¦æ»·µ{³X°Ý¡B»{ÃÒ¡B¦w¥þshell «þ¨©¡]scp¡^¥H¦Û°Ê§¹¦¨¤å¥ó¶Ç¿é¡C­nÀò±o¥t¥~ªº¸ê®Æ½Ð°È¥²¬d¬Ý¨C­Ó¤u¨ãªº¤â¥U¡C
¨Ï¥Î¤½Æ_/¨pÆ_¶i¦æ¦w¥þªº»·µ{³X°Ý
¦b¼Æ¦r¦w¥þªº¤W¤U¤å¤¤¡A±KÆ_¡]key¡^«üªº¬O¥Î¨Ó¥[±K©Î¸Ñ±K¨ä¥L¼Æ¾Ú¤ùÂ_ªº¤@­Ó¼Æ¾Ú¤ùÂ_¡C¤½Æ_¨pÆ_¼Ò¦¡ªº¦³½ì¤§³B¦b©ó¡A¨Ï¥Î¤½Æ_¥[±Kªº¼Æ¾Ú¡A¥u¦³¥Î¬ÛÀ³ªº¨pÆ_¤~¥i¥H¸Ñ±K¡C±z¥i¥H¦Û¥Ñ¦aµo§G¤@­Ó¤½Æ_¡A³o¼Ë§O¤H´N¥i¥H¹ïµo°eµ¹±zªº®ø®§¶i¦æ¥[±K¡C¤½Æ_/¨pÆ_¼Ò¦¡¹ý©³§ïÅܤF¼Æ¦r¦w¥þªº­ì¦]¤§¤@¬O¡Aµo°eªÌ©M±µ¦¬ªÌ¤£¥²¦A¦@¥Î¤@­Ó³q¥Îªº±K½X¡C°£¤F¨ä¥L¤è­±ªº°^Äm¡A¤½Æ_/¨pÆ_¥[±K¨Ï¥Î¹q¤l°Ó°È©M¨ä¥L¦w¥þ¶Ç¿é¦¨¬°¥i¯à¡C¦b¥»¤å¤¤¡A§Ú­Ì±N³Ð«Ø¨Ã¨Ï¥Î¤½Æ_©M¨pÆ_¨Ó³Ð«Ø¤@­Ó«D±`¦w¥þªº¤À§G¦¡³Æ¥÷¸Ñ¨M¤è®×¡C
­n¶i¦æ³Æ¥÷¹Lµ{ªº¨C¥x¾÷¾¹³£¥²¶·¹B¦æ OpenSSH ¦w¥þ shell ªA°È¡]sshd¡^¡A¦P®ÉÅý 22 ºÝ¤f¥i¥H³q¹L¥ô¦ó¤º³¡¨¾¤õÀð³Q³X°Ý¡C¦pªG±z³X°Ý»·µ{ªº¦øªA¾¹¡A¨º»ò«Ü¦³¥i¯à±z¥¿¦b¨Ï¥Î¦w¥þ shell¡C
§Ú­Ìªº¥Ø¼Ð±N¬O¡A¤£»Ý­n¤H¤u´£¨Ñ±K½X´N¥i¥H¦w¥þ¦a³X°Ý¾÷¾¹¡C¤@¨Ç¤H»{¬°³Ì²³æªº¿ìªk¬O³]¸mµL±K½Xªº³X°Ý¡G¤£­n³o¼Ë°µ¡C³o¼Ë°µ¤£¦w¥þ¡C¤£¥Î¨º¼Ë¡A¥»¤å¤¤§Ú­Ì±N¨Ï¥Îªº¤èªk¥i¯à·|¦û¥Î±z¤j¬ù¤@­Ó¤p®Éªº®É¶¡¡A«Ø¥ß°_¤@­Ó»P¨Ï¥Î¡§µL±K½X¡¨±b¸¹¦P¼Ë¤è«Kªº¨t²Î ¡X¡X ¤£¹L¥¦¬O¤½»{«D±`¦w¥þªº¡C
Åý§Ú­Ì­º¥ý½T«O OpenSSH ¤w¸g¦w¸Ë¡A±µ¤U¨Ó¬d¬Ý¥¦ªºª©¥»¸¹¡C§¹¦¨¥»¤å®É¡A³Ì·sªºµo¦æªº OpenSSH ¬O 2004 ¦~ 2 ¤ë 24¤éµo§Gªºª©¥» 3.8¡C±zÀ³¸Ó¦Ò¼{¨Ï¥Î¤@­Ó¸û·sªº¦Ó¥Bí©wªºµo§Gª©¥»¡A¦Ü¤Ö©Ò¥Îªºª©¥»À³¸Ó­n¤ñª©¥» 2.x ·s¡C³X°Ý OpenSSHSecurity ºô­¶¥HÀò±oÃö©ó¯S©wª©¥»ªº¯Ê³´ªº²Ó¸`¡C¨ì¥Ø«e¬°¤î¡AOpenSSH ¬O«D±`í©wªº¡A¦Ó¥B¤w¸gÃÒ©ú¤£¦s¦b¨ä¥L SSH¤u¨ã©Ò³ø§iªº«Ü¦h¯Ê³´¡C
¦b shell ´£¥Ü²Å¤¤¡A¿é¤J ssh ¨Ãµ¹¥X­«­nªº V ¿ï¶µ¨ÓÀˬdª©¥»¸¹¡G
$ ssh -V
OpenSSH_3.5p1, SSH protocols 1.5/2.0, OpenSSL 0x0090701f

¦pªG ssh ªð¦^ªºª©¥»¸¹¤j©ó 2.x¡A«h¾÷¾¹³B©ó¬Û¹ï¨}¦nªºª¬ºA¡CµL½×¦p¦ó¡A«ØÄ³±z©Ò¦³ªº³nÅé³£¨Ï¥Î³Ì·sªºÃ­©wª©¥»¡A³o¹ï©ó¦w¥þ¬ÛÃöªº³nÅé¨Ó»¡¤×¨ä­«­n¡C
§Ú­Ìªº²Ä¤@­Ó¨BÆJ¬O¡A¨Ï¥Î±N·|¦³¯SÅv³X°Ý¦øªA¾¹ 1 ©M 2 ªº±b¸¹µn¿ý¨ìÂ÷½u¦sÀx¦øªA¾¹¾÷¾¹¡]¨£¹Ï 1¡^¡C
$ ssh accountname@somedomain.com

µn¿ý¨ìÂ÷½u¦sÀx¦øªA¾¹¥H«á¡A¨Ï¥Î ssh-keygen µ{¦¡¨Ãµ¹¥X -t dsa ¿ï¶µ¨Ó³Ð«Ø¤@­Ó¤½Æ_/±KÆ_¹ï¡C -t¿ï¶µ¬O¥²¶·ªº¡A¥Î¨Ó«ü©w§Ú­Ì­n¥Í¦¨ªº±KÆ_Ãþ«¬¡C§Ú­Ì±N¨Ï¥Î¼Æ¦rñ¦Wºtºâªk¡]Digital SignatureAlgorithm¡ADSA¡^¡A¥¦Åý§Ú­Ì¥i¥H¨Ï¥Î§ó·sªº SSH2 ¨óij¡C°Ñ¾\ ssh-keygen ¤â¥U¥HÀò±o§ó¦h²Ó¸`¡C
¦bssh-keygen °õ¦æªº¹Lµ{¤¤¡A¦b¸ß°Ý±z±K½X¡]passphrase¡^¤§«e¡A±N´£¥Ü±z¿é¤J ssh±KÆ_¦sÀxªº¦ì¸m¡C·í¸ß°Ý¦b¦ó³B¦sÀx±KÆ_®É¥u»Ý­n«ö¤U¦^¨®Áä¡AµM«á ssh-keygen µ{¦¡±N³Ð«Ø¤@­Ó¦W¬° .sshªºÁôÂåؿý¡]¦pªG­ì¨Ó¤£¦s¦b¡^¡A¥H¤Î¨â­Ó¤å¥ó¡A¤@­Ó¤½Æ_¤å¥ó©M¤@­Ó¨pÆ_¤å¥ó¡C
ssh-keygenªº¤@­Ó¦³½ì¯S©Ê¬O¡A·í´£¥Ü¿é¤J¤@­Ó±K½X®É¡A¥¦Åý±z¥i¥H¥u¬O²³æ¦a«ö¤U¦^¨®Áä¡C¦pªG±z¨S¦³µ¹¥X±K½X¡A¨º»ò ssh-keygen±N¥Í¦¨¨S¦³¥[±Kªº±KÆ_!¦p±z©Ò·Q¡A³o¤£¬O­Ó¦n¥D·N¡C·í­n¨D¿é¤J±K½X®É¡A½T«O¿é¤J¤@­Ó¨¬°÷ªøªº¦r²Å®ø®§¡A³Ì¦n¥]§t²V¦X¦r²Å¦Ó¤£¶È¶È¬O¤@­Ó²³æªº±K½X¦r²Å¦ê¡C
²M³æ 3. ¥Ã»·¿ï¾Ü¦nªº±K½X
[offsite] ssh-keygen -t dsa   Generating public/private dsa key pair.   
Enter file in which to save the key (/home/accountname/.ssh/id_dsa):   

Enter passphrase (empty for no passphrase):

(enter passphrase)  

Enter same passphrase again:

(enter passphrase)   

Your identification has been saved in /home/accountname/.ssh/id_dsa.   

Your public key has been saved in /home/accountname/.ssh/id_dsa.pub.   

The key fingerprint is:   

7e:5e:b2:f2:d4:54:58:6a:fa:6b:52:9c:da:a8:53:1b accountname@offsite
¥Ñ©ó ssh-keygen ¥Í¦¨ªº .ssh ¥Ø¿ý¬O¤@­ÓÁôÂ꺡§dot¡¨¥Ø¿ý¡A©Ò¥H­nµ¹ ls ©R¥O¶Ç¤J¤@­Ó -a ¿ï¶µ¨Ó¬d¬Ý·s³Ð«Øªº¥Ø¿ý¡G
[offsite]$ ls -a . .. .bash_logout .bash_profile .bashrc .emacs .gtkrc .ssh
¶i¤JÁôÂêº .ssh ¥Ø¿ý¨Ã¦C¥X¨ä¤º®e¡G
[offsite]$ cd .ssh [offsite]$ ls -lrt id_dsa id_dsa.pub
²{¦b¡A¦bÁôÂêº .ssh ¥Ø¿ý¤¤¡A§Ú­Ì¤w¸g¾Ö¦³¤F¤@­Ó¨pÆ_¡]id_dsa¡^©M¤@­Ó¤½Æ_¡]id_dsa.pub¡^¡C±z¥i¥H¨Ï¥Î vi ©Î emacsµ¥¤å¥»½s¿è¤u¨ã©ÎªÌ²³æ¦a¨Ï¥Î less ©Î cat ©R¥O¨Ó¤ÀªR¨C­Ó±KÆ_¤å¥óªº¤º®e¡C±z±N¬Ý¨ì¥Ñ²V¦X¦r²Åºc¦¨ªº¤º®e¤w¸g¸g¹L¤F base64 ½s½X¡C
µM«á¡A§Ú­Ì»Ý­n±N¤½Æ_«þ¨©¨Ã¦w¸Ë¨ì¦øªA¾¹ 1 ©M 2 ¤W¡C¤£­n¨Ï¥Î ftp¡C§ó¦X²zªº¬O¡A¨Ï¥Î¦w¥þ«þ¨©µ{¦¡¨Ó±N¤½Æ_¶Ç°e¨ì¨C¤@¥x»·µ{¾÷¾¹¤W¡C
²M³æ 4. ±N¤½Æ_¦w¸Ë¨ì»·µ{¦øªA¾¹¤W
[offsite]$ scp .ssh/id_dsa.pub accountname@server1.comffsite.pub   
accountname@server1.com's password:

(enter password, not new   passphrase!)   

id_dsa.pub 100% |*****************************| 614 00:00   

[offsite]$ scp .ssh/id_dsa.pub accountname@server2.comffsite.pub

accountname@server2.com's password:

(enter password, not new   passphrase!)  

id_dsa.pub 100% |*****************************| 614 00:00
¦b¦w¸Ë§¹·sªº¤½Æ_«á¡A§Ú­Ì´N¥i¥H¨Ï¥Î³Ð«Ø¨pÆ_©M¤½Æ_®É«ü©wªº±K½X¨Óµn¿ý¨ì¨C¤@¥x¾÷¾¹¡C²{¦b¡Aµn¿ý¨ì¨C¥x¾÷¾¹¡A¨Ã±N offsite.pub¤å¥óªº¤º®eªþ¥[¨ì¤@­Ó¦W¬° authorized_keys ªº¤å¥ó¤¤¡A³o­Ó¤å¥ó¦sÀx¦b¨C¥x»·µ{¾÷¾¹ªº .ssh¥Ø¿ý¤U¡C§Ú­Ì¥i¥H¨Ï¥Î¤@­Ó¤å¥»½s¿è¾¹©ÎªÌ²³æ¦a¨Ï¥Î cat ©R¥O¨Ó±N offsite.pub ¤å¥óªº¤º®eªþ¥[¨ì authorized_keys¤å¥ó¡G
²M³æ 5. ±N offsite.pub ²K¥[¨ì¤w±ÂÅv±KÆ_¦Cªí
[offsite]$ ssh accountname@server1.com   
accountname@server1.com's password:

(enter password, not new   passphrase!)   

[server1]$ cat offsite.pub >> ./ssh/authorized_keys
±µ¤U¨Óªº¨BÆJ¬O¦Ò¼{¤@¨ÇÃB¥~ªº¦w¥þ©Ê¡C­º¥ý¡A§Ú­Ì­×§ï .ssh ªº³X°Ý³\¥iÅv¡A¥H¨Ï±o¥u¦³©Ò¦³ªÌ¦³Åª¡B¼g©M°õ¦æªº³\¥iÅv¡CµM«á¡A§Ú­Ì½T«Oauthorized_keys ¤å¥ó¥u¯à¥Ñ©Ò¦³ªÌ¨Ó³X°Ý¡C³Ì«á¡A±N¥ý«e¤W¶Çªº offsite.pub±KÆ_¤å¥ó§R°£¡A¦]¬°¦A¤]¤£»Ý­n¥¦¤F¡C½T«O³]¸m¾A·íªº³X°Ý³\¥iÅv«Ü­«­n¡A¦]¬° OpenSSH ¦øªA¾¹¥i¯à·|©Úµ´¨Ï¥Î¨ã¦³¤£¦w¥þ³X°Ý³\¥iÅvªº±KÆ_¡C
²M³æ 6. ¨Ï¥Î chmod ­×§ï³\¥iÅv
[server1]$ chmod 700 .ssh   
[server1]$ chmod 600 ./ssh/authorized_keys   

[server1]$ rm offsite.pub   [server1]$ exit
¦b¦øªA¾¹ 2 ¤W§¹¦¨¦P¼Ëªº¨BÆJ«á¡A§Ú­Ì´N¥i¥Hªð¦^¨ìÂ÷½u¦sÀx¾÷¾¹¤W¨Ó´ú¸Õ·sªº±K½XÃþ«¬ªº³X°Ý¡C¦bÂ÷½u¦øªA¾¹¤W±z¥i¥H¿é¤J¤U­±ªº¤º®e¡G
[offsite]$ ssh -v accountname@server1.com

¦bÀËÅç±zªº±b¸¹²{¦b¥i¥H¨Ï¥Î·sªº±K½X¦Ó¤£¬O­ì¨Óªº±K½X¨Ó³X°Ý»·µ{ªº¦øªA¾¹®É¡A¨Ï¥Î -v ©Î verbose¼Ð°O¿ï¶µ¨ÓÅã¥Ü½Õ¸Õ¸ê°T¡C½Õ¸Õ¿é¥X°£¤F¯àÅý±z¦b¤@­Ó°ªªº¼h­±¤WÆ[¹î¨ì»{ÃÒ¹Lµ{¬O¦p¦ó¤u§@ªº¤§¥~¡AÁÙ¥i¥HÅã¥Ü¥X±z¥i¥H¥H¨ä¥L¤è¦¡µLªk±o¨ìªº­«­n¸ê°T¡C¦b¥H«áªº³s±µ¤¤±z¥i¯à¨Ã¤£»Ý­n«ü©w -v ¼Ð°O¡F¦ý¬O¦b´ú¸Õ³s±µ®É¥¦¬Û·í¦³¥Î¡C
ª`¡G¦pªG¥Í¦¨±KÆ_¹ïªº®É­Ô¿é¤Jªº±K½X¬°ªÅ¡A¨º»ò³s±µªº®É­Ô¤£»Ý­n¿é¤J±K½X¡C
¨Ï¥Î ssh-agent ¦Û°Ê¤Æ¾÷¾¹³X°Ý

¡@¡@ssh-agent µ{¦¡¦p¦P¤@­Ó¬Ýªù¤H¡A¥¦®Ú¾Ú»Ý­n¦w¥þ¦a´£¨Ñ¹ï¦w¥þ±KÆ_ªº³X°Ý¡Cssh-agent ±Ò°Ê«á¡A¥¦´N·|¦b«á»O¹B¦æ¡A¨Ã¥B¥i¥H¥Ñssh ©M scp µ{¦¡µ¥¨ä¥L OpenSSH À³¥Îµ{¦¡©Ò¨Ï¥Î¡C³o´N¨Ï±o sshµ{¦¡¥i¥H½Ð¨D¤@­Ó¤w¸g¸Ñ±K¤Fªº±KÆ_¡A¦Ó¤£¬O¦b¨C¦¸»Ý­n®É¦V±z¸ß°Ý¨pÆ_ªº¦w¥þ±K½X¡C

Åý§Ú­Ì¨Ó¥J²Ó¬ã¨s¤@¤U ssh -agent¡Cssh-agent ¹B¦æ®É¥¦·|¿é¥X shell ©R¥O¡G

¡@¡@²M³æ 7. ssh-agent À³¥Î


[offsite]$ ssh-agent   
SSH_AUTH_SOCK=/tmp/ssh-XX1O24LS/agent.14179;

export SSH_AUTH_SOCK;   SSH_AGENT_PID=14180;

export SSH_AGENT_PID;   echo Agent pid 14180;


¡@¡@§Ú­Ì¥i¥H¨Ï¥Î shell ªº eval ©R¥O¨ÓÅý shell °õ¦æ ssh-agent Åã¥Üªº¿é¥X©R¥O¡G


[offsite]$ eval `ssh-agent` Agent pid 14198


¡@¡@eval ©R¥O§i¶D shell ¥hµû»ù¡]°õ¦æ¡^ssh-agent µ{¦¡¥Í¦¨ªº©R¥O¡C½T«O±z«ü©wªº¬O¤Ï¤Þ¸¹¡]`¡^¦Ó¤£¬O³æ¤Þ¸¹¡I°õ¦æ«á¡Aeval`ssh-agent` »y¥y±Nªð¦^¥N²zªº¶iµ{¼ÐÃѲšC¦b¹õ«á¡ASSH_AUTH_SOCK ©M SSH_AGENT_PID shellÅܼƤw¸g³Q¾É¥X¦Ó¥i¥H¨Ï¥Î¡C±z¥i¥H±N¥¦­ÌÅã¥Ü¦b shell ±±¨î¥x¤¤¨Ó¬d¬Ý¥¦­Ìªº­È¡G


[offsite]$ echo $SSH_AUTH_SOCK /tmp/ssh-XX7bhIwq/agent.14197


¡@¡@$SSH_AUTH_SOCK ¡]SSH Authentication Socket ªºÁY¼g¡^¬O¤@­Ó¥»¦a®M±µ¦rªº¦ì¸m¡AÀ³¥Îµ{¦¡¥i¥H³q¹L¥¦¨Ó»Pssh-agent ³q«H¡C±N eval `ssh-agent` »y¥y¥[¤J¨ì±zªº ~/.bash_profile ¤å¥ó¥H½T«OSSH_AUTH_SOCK ©M SSH_AGENT_PID ©l²×³Qµù¥U¡C
ssh-agent ²{¦b´N¤w¸g¦¨¬°¤@­Ó«á»O¶iµ{¡A¥i¥H¥Î top ©M ps ©R¥O¬d¬Ý±o¨ì¡C

¡@¡@²{¦b§Ú­Ì´N¤w¸g¥i¥H¨Ï¥Î ssh-agent ¦@¥Î§Ú­Ìªº±K½X¡C¬°¦¹¡A§Ú­Ì¥²¶·¨Ï¥Î¤@­Ó¦W¬° ssh-add ªºµ{¦¡¡A³o­Óµ{¦¡±N§Ú­Ìªº±K½X²K¥[¡]µo°e¡^¨ì¹B¦æµÛªº ssh-agent µ{¦¡¡C

³»³¡
[¼s§i]
wijyr
·s¤â¤W¸ô
Rank: 1



UID 0066582
ºëµØ 0
¿n¤À 57
©«¤l 22
«Â±æ 57
ª÷¿ú 2006
¦s´Ú 0
¾\ŪÅv­­ 10
µù¥U 4-5-2008
ª¬ºA Â÷½u
  ¤j ¤¤ ¤p
µoªí©ó 4-5-2008 22:37  ¸ê®Æ  ­Ó¤HªÅ¶¡  µu®ø®§  ¥[¬°¦n¤Í 
¡@²M³æ 8. ¥Î©ó§K±K½Xµn¿ýªº ssh-add



[offsite]$ ssh-add

   Enter passphrase for /home/accountname/.ssh/id_dsa:

(enter passphrase)

   Identity added: /home/accountname/.ssh/id_dsa

   (/home/accountname/.ssh/id_dsa)



¡@¡@²{¦b¡A·í§Ú­Ì³X°Ý server1 ®É¡A¤£·|¦A³Q´£¥Ü¿é¤J±K½X¡G
[offsite]$ ssh accountname@server1.com
[server1]$ exit

¡@¡@¦pªG±zÁÙ¤£¬Û«H¡A¨º»ò¹Á¸Õ¥h±¼¡]kill -9¡^ssh-agent ¶iµ{¡AµM«á­«·s³s±µ server1¡C³o¤@¦¸¡A±z±Nª`·N¨ì¡Aserver1 ±N·|¸ß°Ý¦sÀx¦b


.ssh ¥Ø¿ý¤U id_dsa ¤¤ªº¨pÆ_ªº±K½X¡G

[offsite]$ kill -9 $SSH_AGENT_PID

[offsite]$ ssh accountname@server1.com

Enter passphrase for key '/home/accountname/.ssh/id_dsa':



¡@¡@¨Ï¥Î keychain ²¤Æ±KÆ_³X°Ý

¡@¡@¨ì²{¦b¬°¤î¡A§Ú­Ì¤w¸g¤F¸Ñ¤F´X­Ó OpenSSH µ{¦¡¡]ssh¡Bscp¡Bssh-agent ©Mssh-add¡^¡A¦Ó¥B§Ú­Ì¤w¸g³Ð«Ø¨Ã¦w¸Ë¤F¨pÆ_©M¤½Æ_¨Ó±Ò¥Î¤@­Ó¦w¥þ¦Ó¥B¦Û°Êªºµn¿ý¹Lµ{¡C±z¥i¯à¤w¸g·NÃѨì¡A¤j³¡¤À³]¸m¤u§@¥u»Ý­n¶i¦æ¤@¦¸¡C¨Ò¦p¡A³Ð«Ø±KÆ_¡B¦w¸Ë±KÆ_¡B³q¹L .bash_profile °õ¦æ ssh-agent ªº¹Lµ{¦b¨C¥x¾÷¾¹¥u»Ý­n¶i¦æ¤@¦¸¡C¨º¯u¬O¦n®ø®§¡C

¡@¡@¤£¤Ó²z·Qªº®ø®§¬O¡A§Ú­Ì¨C¦¸µn¿ý¨ìÂ÷½uªº¾÷¾¹¤W®É¡A³£¥²¶·½Õ¥Î ssh-add¡A¦Ó¥B¡Assh-agent »P§Ú­Ì±N­n¥Î¨Ó¦Û°Ê¤Æ³Æ¥÷¤u§@ªºcron ½Õ«×¶iµ{¨Ã¤£ª½±µ¬Û®e¡Ccron ¶iµ{¤£¯à»P ssh-agent ³q«Hªº­ì¦]¬O¡Acron §@·~¬O§@¬° cronªº¤l¶iµ{¨Ó°õ¦æ¡A³o¼Ë¥¦­Ì´N¤£·|Ä~©Ó $SSH_AUTH_SOCK shell ÅܼơC

¡@¡@©¯¹Bªº¬O¡A¦³¤@­Ó¸Ñ¨M¤è®×¤£¦ý¥i¥H®ø°£ssh-agent ©M ssh-add ªº§½­­¡A¦Ó¥B¥i¥HÅý§Ú­Ì¨Ï¥Î cron ¨Ó¦Û°Ê¶i¦æ¦UºØ»Ý­n¹ï¨ä¥L¾÷¾¹¶i¦æ¦w¥þ¦aµL±K½X³X°Ýªº¹Lµ{¡C¦b¥L2001 ¦~µoªíªº¤T½g developerWorks ¨t¦C¤å³¹¤¤¡A§Y OpenSSH key management¡ADanielRobbins ¤¶²Ð¤F¤@­Ó¦W¬° keychain ªº shell ¸}¥»¡A¥¦¬O ssh-add ©M ssh-agentªº¤@­Ó«eºÝ¡A²¤Æ¤F¾ã­ÓµL±K½Xªº¹Lµ{¡CÀHµÛ®É¶¡ªº¹L¥h¡Akeychain ¸}¥»¤w¸g¸g¾ú¤F«Ü¦h§ï¶i¡A²{¦b¥Ñ Aron Griffis ºûÅ@¡A¨ä³Ì·sªº2.3.2-1 µo§Gª©¥»¤½¥¬©ó 2004 ¦~ 6 ¤ë 17 ¤é¡C

¡@¡@keychain shell ¸}¥»¤Óªø¥H­P¤_µLªk¦b¥»¤å¤¤¦C¥X¡A¦]¬°ºë¤ß½s¼gªº¸}¥»¤¤¥]¬A¤F«Ü¦h¿ù»~ÀË´ú¡BÂ×´Iªº¤åÀÉ¥H¤Î«D±`¦hªº¸ó¥­»O¥N½X¡C¤£¹L¡Akeychain ¥i¥H¦Û¶µ¥Øªº Web ¯¸ÂI¤W¤è«K¦a¤U¸ü±o¨ì¡C

¡@¡@¤U¸ü¨Ã¦w¸Ë¤F keychain «á¡A¨Ï¥Î¥¦´N«Ü²³æ¤F¡C¥u»Ý­nµn¿ý¨ì¨C¥x¾÷¾¹¨Ã±N¤U­±¨â¦æ²K¥[¨ì¨C­Ó .bash_profile ¤å¥ó¡G
keychain id_dsa
. ~/.keychain/$HOSTNAME-sh

¡@¡@¦b±z²Ä¤@¦¸­«·sµn¿ý¨ì¨C¥x¾÷¾¹®É¡Akeychain ±N¦V±z¸ß°Ý±K½X¡C¤£¹L¡A°£«D¾÷¾¹³Q­«·s±Ò°Ê¡A§_«h¡A¥H«á¦Aµn¿ý®É¡Akeychain±N¤£·|¦A­n¨D±z­«·s¿é¤J±K½X¡C³Ì¦nªº¬O¡Acron ¥ô°È²{¦b¥i¥H¨Ï¥Î OpenSSH©R¥O¨Ó¦w¥þ¦a³X°Ý»·µ{ªº¾÷¾¹¡A¦Ó¤£»Ý­n¥æ¤¬¦a¨Ï¥Î±K½X¡C§ó¦nªº¦w¥þ©M§ó®e©öªº¨Ï¥Î¡A²{¦b§Ú­Ì¤w¸g­Ý±o¡C

¡@¡@²M³æ 9. ¦b¨C¥x¾÷¾¹¤Wªì©l¤Æ


KeyChain 2.3.2; http://www.gentoo.org/projects/keychain   
Copyright 2002-2004 Gentoo Technologies, Inc.;

Distributed under the   GPL   

* Initializing /home/accountname/.keychain/localhost.localdomain-sh   

file...   

* Initializing /home/accountname/.keychain/localhost.localdomain-csh   

file...   * Starting ssh-agent   

* Adding 1 key(s)...   

Enter passphrase for /home/accountname/.ssh/id_dsa:

(enter passphrase)

¡@¡@¸}¥»¤Æ³Æ¥÷¹Lµ{

¡@¡@§Ú­Ìªº¤U¤@­Ó¥ô°È¬O³Ð«Ø°õ¦æ¥²­nªº³Æ¥÷¹Lµ{ªº shell ¸}¥»¡C¥Ø¼Ð¬O°õ¦æ¦øªA¾¹ 1 ©M 2ªº§¹¥þ¼Æ¾Ú®w³Æ¥÷¡C¦b§Ú­Ìªº¨Ò¤l¤¤¡A¨C­Ó¦øªA¾¹³£¹B¦æµÛ MySQL ¼Æ¾Ú®w¦øªA¾¹¡A§Ú­Ì¨Ï¥Î mysqldump©R¥O¦æ¤u¨ã¨Ó±N¤@¨Ç¼Æ¾Ú®wªí¾É¥X¨ì¤@­Ó SQL ¿é¤J¤å¥ó¤¤¡C

¡@¡@²M³æ 10. ¦øªA¾¹ 1 ªº dbbackup.sh shell ¸}¥»


#!/bin/sh   
# change into the backup_agent directory where data files are stored.

cd /home/backup_agent  

# use mysqldump utility to export the sites database tables   

mysqldump -u sitedb -pG0oDP@sswrd --add-drop-table sitedb --tables   

tbl_ccode tbl_machine tbl_session tbl_stats > userdb.sql   

# compress and archive   tar czf userdb.tgz userdb.sql


¡@¡@¦b¦øªA¾¹ 2 ¤W¡A§Ú­Ì±N³]¸m¤@­ÓÃþ¦üªº¸}¥»¨Ó³Æ¥÷¯¸ÂI¼Æ¾Ú®w¤¤µ¹¥Xªº¿W¦³ªí³æ¡C¨C­Ó¸}¥»³£³q¹L¤U­±ªº¨BÆJ¼Ð°O¬°¥i°õ¦æªº¡G
[server1] chmod +x dbbackup.sh

¡@¡@¦b¦øªA¾¹ 1 ©M 2 ¤W³]¸m¤F dbbackup.sh «á¡A§Ú­Ìªð¦^¨ìÂ÷½uªº¼Æ¾Ú¦øªA¾¹¡A¦b¨ºùاڭ̱N³Ð«Ø¤@­Ó shell ¸}¥»¨Ó½Õ¥Î¦U­Ó»·µ{ dbbackup.sh ¸}¥»¨ÃÀH«á¶Ç¿éÀ£ÁYªº¡].tgz¡^¸ê®ÆÀɮסC

¡@¡@²M³æ 11. ¥Î¦bÂ÷½uªº¼Æ¾Ú¦øªA¾¹¤Wªº backup_remote_servers.sh shell ¸}¥»


#!/bin/sh   
# use ssh to remotely execute the dbbackup.sh script on server 1   

/usr/bin/ssh backup_agent@server1.com "/home/backup_agent/dbbackup.sh"   

# use scp to securely copy the newly archived userdb.tgz file   

# from server 1.  Note the use of the date command to timestamp   

# the file on the offsite data server.   /usr/bin/scp

backup_agent@server1.com:/home/backup_agent/userdb.tgz   

/home/backups/userdb-$(date +%Y%m%d-%H%M%S).tgz   

# execute dbbackup.sh on server 2   /usr/bin/ssh

backup_agent@server2.com "/home/backup_agent/dbbackup.sh"   

# use scp to transfer transdb.tgz to offsite server.   

/usr/bin/scp

backup_agent@server2.com:/home/backup_agent/transdb.tgz   

/home/backups/transdb-$(date +%Y%m%d-%H%M%S).tgz

¡@¡@backup_remote_servers.sh shell ¸}¥»¨Ï¥Î ssh©R¥O¨Ó°õ¦æ»·µ{¦øªA¾¹¤Wªº¸}¥»¡C¥Ñ©ó§Ú­Ì¤w¸g³]¸mªºµL±K½Xªº³X°Ý¡Assh ©R¥O¥i¥H³q¹LÂ÷½uªº¦øªA¾¹¦b¦øªA¾¹ 1 ©M 2 ¤W»·µ{¦a°õ¦æ©R¥O¡C·PÁÂkeychain¡A¾ã­Ó»{ÃÒ¹Lµ{²{¦b¥i¥H¦Û°Ê§¹¦¨¡C

¡@¡@½Õ«×

¡@¡@§Ú­Ìªº¤U¤@­Ó¨BÆJ¡A¤]¬O³Ì«á¤@­Ó¨BÆJ¡A¬O½Õ«× backup_remote_servers.sh shell ¸}¥»¦bÂ÷½uªº¼Æ¾Ú¦sÀx¦øªA¾¹¤Wªº°õ¦æ¡C§Ú­Ì±N¦V cron½Õ«×¦øªA¾¹¤¤²K¥[¨â­Ó±ø¥Ø¡A¥H­n¨D¨C¤Ñ°õ¦æ³Æ¥÷¸}¥»¨â¦¸¡A3:34 °õ¦æ¤@¦¸¡A8:34 ¦A°õ¦æ¤@¦¸¡C¦bÂ÷½uªº¦øªA¾¹¤W¨Ï¥Î edit¡]-e¡^¿ï¶µ½Õ¥Îcrontab µ{¦¡¡C
[offsite] crontab -e

¡@¡@crontab ½Õ¥Î VISUAL ©Î EDITOR shell Àô¹ÒÅܼƩҫü©wªºÀq»{ªº½s¿è¾¹¡CµM«á¡A¿é¤J¨â­Ó±ø¥Ø¨Ã«O¦s©MÃö³¬¤å¥ó¡C

¡@¡@²M³æ 12. Â÷½uªº¦øªA¾¹¤Wªº Crontab ±ø¥Ø
34 3 * * * /home/backups/remote_db_backup.sh
34 20 * * * /home/backups/remote_db_backup.sh

¡@¡@¤@­Ó crontab ¦æ¥]¬A¨â­Ó¥D­n³¡¤À¡A®É¶¡ªí³¡¤À©M«á­±ªº©R¥O³¡¤À¡C®É¶¡ªí¤À¬°¦h­Ó°ì¡A¥Î¨Ó«ü©w¤@­Ó©R¥OÀ³¸Ó¦ó®É°õ¦æ¡G

¡@¡@²M³æ 13. Crontab ®æ¦¡



+---- minute

          | +----- hour

          | | +------ day of the month

          | | | +------ month

          | | | | +---- day of the week

          | | | | | +-- command to execute

          | | | | | |

         34 3 * * * /home/backups/remote_db_backup.sh




¡@¡@ÀËÅç±zªº³Æ¥÷

¡@¡@±zÀ³¸Ó¹ï³Æ¥÷¶i¦æ¨Ò¦æ¦aÀˬd¡A¥H½T«Oµ{¦¡¥¿½T¶i¦æ¡C¦Û°Êµ{¦¡¥i¥H¨Ï·Ðº¾ªº¤u§@±o¨ìÁ×§K¡A¦ý¬O¥Ã»·¤£¯à¦]¦¹¦ÓÃi´k¡C¦pªG±zªº¼Æ¾Ú­È±o³Æ¥÷¡A¨º»ò¥¦¤]­È±o±z®É±`¶i¦æ©â¼ËÀˬd¡C

¡@¡@¦Ò¼{²K¥[¤@­Ó cron §@·~¨Ó´£¿ô±z¦Û¤v¦Ü¤Ö¨C­Ó¤ë¹ï³Æ¥÷¶i¦æ¤@¦¸Àˬd¡C¥t¥~¡A¸g±`­×§ï¦w¥þ±KÆ_¤]¬O¤@­Ó¦n¥D·N¡A¦P¼Ë±z¤]¥i¥H½Õ«×¤@­Ó cron §@·~¨Ó´£¿ô±z°µ³o¥ó¨Æ¡C

¡@¡@¥t¥~ªº¦w¥þ¨¾½d

¡@¡@­nÀò±o§ó°ªªº¦w¥þ©Ê¡A¥i¥H¦Ò¼{¦b¨C¥x¾÷¾¹¤W¦w¸Ë¨Ã°t¸m¤@­Ó¤J«IÀË´ú¨t²Î¡]ntrusion Detection System¡AIDS¡^¡A¤ñ¦pSnort¡C¥i¥H¹w¨£¡A·í¤J«I¥¿¦bµo¥Í©ÎªÌªñ´Áµo¥Í¹L®É¡AIDS ±N·|³qª¾±z¡CIDS¨ì¦ì«á¡A±z±N¥i¥H²K¥[¨ä¥L¼h¦¸¤Wªº¦w¥þ¡A¤ñ¦p¹ï±zªº³Æ¥÷¶i¦æ¼Æ¦rñ¦W©M¥[±K¡C

¡@¡@GNU Privacy Guard¡]GnuPG¡^¡BOpenSSL ©M ncrypt µ¥¬y¦æªº¶}©ñ·½¥N½X¤u¨ã¥i¥H¤ä´©³q¹L shell ¸}¥»¹ï¦sÀɤå¥ó¶i¦æ¥[±K¡A¤£¹L¤£«ØÄ³¦b¨S¦³ IDS ´£¨ÑªºÃB¥~¼h¦¸«OÅ@ªº±¡ªp¤U³o¼Ë°µ¡C

¡@¡@µ²§ô»y

¡@¡@¥»¤å¦V±z®i¥Ü¤F¦p¦óÅý±zªº¸}¥»¦b»·µ{¦øªA¾¹°õ¦æ¥H¤Î¦p¦ó°õ¦æ¦w¥þ¦Û°Êªº¤å¥ó¶Ç¿é¡C§Ú§Æ±æ±z¯à¥Ñ¦¹±o¨ìÆF·P¦Ó¶}©l¦Ò¼{«OÅ@±z¦Û¤vªº­«­n¼Æ¾Ú¡A¨Ã¨Ï¥Î OpenSSH ©M Snort µ¥¶}©ñ·½¥N½X¤u¨ã¨Óºc«Ø·sªº¸Ñ¨M¤è®×¡C

³»³¡
[¼s§i]
 



·í«e®É°Ï GMT+8, ²{¦b®É¶¡¬O 3-12-2008 08:06

    本论坛支付平台由支付宝提供
携手打造安全诚信的交易社区 Powered by Discuz!  © 2001-2009 Comsenz Inc.
Processed in 0.251338 second(s), 6 queries , Gzip enabled

²M°£ Cookies - Ápô§Ú­Ì - ¨Ï¥Î±ø´Ú/§K³dÁn©ú - Archiver - WAP
­«­nÁn©ú¡G¥»°Q½×°Ï¬O¥H§Y®É¤W¸ü¯d¨¥ªº¤è¦¡¹B§@¡ANGC ­»´ä°Q½×°Ï ¹ï©Ò¦³¯d¨¥ªº¯u¹ê©Ê¡B§¹¾ã©Ê¤Î¥ß³õµ¥¡A¤£­t¥ô¦ó ªk«ß³d¥ô¡C¦Ó¤@¤Á¯d¨¥¤§¨¥½×¥u¥Nªí¯d¨¥ªÌ­Ó¤H·N¨£¡A¨Ã«D¥»ºô¯¸¤§¥ß³õ¡A¥Î¤á¤£À³«H¿à¤º®e¡A¨ÃÀ³¦Û¦æ§PÂ_¤º®e¤§¯u¹ê©Ê¡C©ó¦³Ãö±¡§Î¤U¡A¥Î¤áÀ³´M¨D±M·~·N¨£ (¦p¯A¤ÎÂåÀø¡Bªk«ß©Î§ë¸êµ¥°ÝÃD)¡C ¥Ñ©ó¥»°Q½×°Ï¨ü¨ì¡u§Y®É¤W¸ü¯d¨¥¡v¹B§@¤è¦¡©Ò³W­­¡A¬G¤£¯à§¹¥þºÊ¹î©Ò¦³¯d¨¥¡A­YŪªÌµo²{¦³¯d¨¥¥X²{°ÝÃD¡A½ÐÁpµ¸§Ú­Ì¡CNGC ­»´ä°Q½×°Ï ¦³Åv§R°£¥ô¦ó¯d¨¥¤Î©Úµ´¥ô¦ó¤H¤h¤W¸ü¯d¨¥¡A¦P®É¥ç¦³¤£§R°£¯d¨¥ªºÅv§Q¡C¤Á¤Å¼¶¼g²Ê¨¥Â©»y¡B½ÚÁ½¡B´è¬V¦â±¡¼É¤O©Î¤H¨­§ðÀ»ªº¨¥½×¡A·q½Ð¦Û«ß¡C¥»ºô¯¸«O¯d¤@¤Áªk«ßÅv§Q¡C