ï»??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲国产福利在线,亚洲狼人国产精品,亚洲成成品网站http://www.aygfsteel.com/badboyryan/category/14609.html<hr color=red> <marquee direction=left bgcolor= aaaaee behavior=scroll scrollamount=2 onmouseover="this.stop();" onmouseout="this.start();" width=500> <font color=green> 在恰当的旉™—´ã€åœ°ç‚¹ä»¥æ°å½“的方式表辄¡»™æ°å½“çš„äh...</font>&nbsp;&nbsp;<font color=blue>阅读的时候请注意分类åQŒä½›æ›°æˆ‘日里面是谈笑文章åQŒå…¶ä»–是各个分类的文章,¿U¯æžçš„热情投入到写博的队伍中来,支持blogjava做大做强åQå‘dudu站长致敬>> > <a href=http://t.qq.com/badboyryan>我的微博敬请收听</a> </font> </marquee> <hr color=blue>zh-cnFri, 11 Dec 2015 08:05:45 GMTFri, 11 Dec 2015 08:05:45 GMT60AIX修改旉™—´http://www.aygfsteel.com/badboyryan/archive/2015/12/11/428607.html坏男å­?/dc:creator>坏男å­?/author>Thu, 10 Dec 2015 21:18:00 GMThttp://www.aygfsteel.com/badboyryan/archive/2015/12/11/428607.htmlhttp://www.aygfsteel.com/badboyryan/comments/428607.htmlhttp://www.aygfsteel.com/badboyryan/archive/2015/12/11/428607.html#Feedback1http://www.aygfsteel.com/badboyryan/comments/commentRss/428607.htmlhttp://www.aygfsteel.com/badboyryan/services/trackbacks/428607.htmllinux下用date -s "YYYYmmdd HH:MM:SS"

AIX  date -n mmddHHMMYYåQŒmm表示月分åQŒdd表示日期åQŒHH表示ž®æ—¶åQŒMM表示分钟åQŒYY表示òq´ä†¾ã€?/p>




]]>
VMware 虚拟机状态已挂è“v无法恢复解决æ–ÒŽ¡ˆhttp://www.aygfsteel.com/badboyryan/archive/2011/02/09/343966.html坏男å­?/dc:creator>坏男å­?/author>Wed, 09 Feb 2011 03:09:00 GMThttp://www.aygfsteel.com/badboyryan/archive/2011/02/09/343966.htmlhttp://www.aygfsteel.com/badboyryan/comments/343966.htmlhttp://www.aygfsteel.com/badboyryan/archive/2011/02/09/343966.html#Feedback0http://www.aygfsteel.com/badboyryan/comments/commentRss/343966.htmlhttp://www.aygfsteel.com/badboyryan/services/trackbacks/343966.html 2、删除该文äšgåQŒé‡æ–°å¯åŠ¨è™šæ‹ŸæœºokåQ?

]]>
linux¾pȝ»Ÿå…³é—­é˜²ç«å¢?/title><link>http://www.aygfsteel.com/badboyryan/archive/2010/12/03/339753.html</link><dc:creator>坏男å­?/dc:creator><author>坏男å­?/author><pubDate>Fri, 03 Dec 2010 13:51:00 GMT</pubDate><guid>http://www.aygfsteel.com/badboyryan/archive/2010/12/03/339753.html</guid><wfw:comment>http://www.aygfsteel.com/badboyryan/comments/339753.html</wfw:comment><comments>http://www.aygfsteel.com/badboyryan/archive/2010/12/03/339753.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/badboyryan/comments/commentRss/339753.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/badboyryan/services/trackbacks/339753.html</trackback:ping><description><![CDATA[<p>1åQ‰é˜²ç«å¢™å…Ïxމ,æ°æ€¹…性生效,重启后不会复åŽ?/p> <p>开启: chkconfig iptables on</p> <p>关闭åQ?chkconfig iptables off</p> <p>2åQ‰é˜²ç«å¢™å…Ïxމ,åÏx—¶ç”Ÿæ•ˆåQŒé‡å¯åŽå¤åŽŸ</p> <p>开启: service iptables start</p> <p>关闭åQ?service iptables stop</p> <p> æ‰“开一个端å?2</p> iptables -A INPUT -p tcp -sport 22 -j ACCEPT <br /> iptables -A INPUT -p tcp -dport 22 -j ACCEPT. <img src ="http://www.aygfsteel.com/badboyryan/aggbug/339753.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/badboyryan/" target="_blank">坏男å­?/a> 2010-12-03 21:51 <a href="http://www.aygfsteel.com/badboyryan/archive/2010/12/03/339753.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ç™Õd½•mysql出现/var/lib/mysql/mysql.sock不存åœ?/title><link>http://www.aygfsteel.com/badboyryan/archive/2010/06/10/323219.html</link><dc:creator>坏男å­?/dc:creator><author>坏男å­?/author><pubDate>Thu, 10 Jun 2010 04:58:00 GMT</pubDate><guid>http://www.aygfsteel.com/badboyryan/archive/2010/06/10/323219.html</guid><wfw:comment>http://www.aygfsteel.com/badboyryan/comments/323219.html</wfw:comment><comments>http://www.aygfsteel.com/badboyryan/archive/2010/06/10/323219.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/badboyryan/comments/commentRss/323219.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/badboyryan/services/trackbacks/323219.html</trackback:ping><description><![CDATA[  <p>问题描述åQ?span lang="EN-US"><br /> 1.mysql</span>安装完成后,使用<span lang="EN-US"><br /> service mysqld restart<br /> </span>æ€ÀL˜¯å‡ºçް<span lang="EN-US">stop mysqld service </span>å¤ÞpÓ|ã€?span lang="EN-US"><br /> 2.</span>使用<span lang="EN-US">mysql -uroot -p</span>ç™Õd½•出现找不åˆ?span lang="EN-US"> /var/lib/mysql/mysql.sock</span>问题ã€?span lang="EN-US"><br /> 3.</span>使用<span lang="EN-US">service mysqld status</span>出现<span lang="EN-US"> mysql dead but subsys locked<br /> </span>解决æ–ÒŽ³•åQ?span lang="EN-US"><br /> </span>大多æ•?span lang="EN-US">mysql</span>都是<span lang="EN-US">rpm</span>方式安装的。它会自动寻æ‰?span lang="EN-US">/var/lib/mysql/mysql.sock</span>˜q™ä¸ªæ–‡äšgã€?span lang="EN-US"><br /> 1.</span>首先‹‚€æŸ?span lang="EN-US">mysql.sock</span>的位¾|®ã€?span lang="EN-US"><br /> </span>通过<span lang="EN-US">/etc/my.cnf</span>中的<span lang="EN-US">socket</span>的字ŒDüc€?span lang="EN-US"><br /> </span>如果<span lang="EN-US">socket</span>如下所½Cºï¼š</p> <p><span lang="EN-US">socket=/tmp/mysql.sock</span></p> <p><span lang="EN-US">2.</span>ä¸?span lang="EN-US">mysql.sock</span>增加软连接(相当äº?span lang="EN-US">windows</span>中的快捷方式åQ‰ã€‚比如实际的<span lang="EN-US">mysql.sock</span>åœ?span lang="EN-US">/tmp/</span>下ã€?span lang="EN-US"><br /> </span>则运行如下命令ã€?/p> <p><span lang="EN-US">ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock</span></p> <p><span lang="EN-US">3.</span>如果上述两种æ–ÒŽ³•都不生效。那么ä‹Éç”?span lang="EN-US"><br /> 3.1 service mysqld restart<br /> 3.2 service mysqld status<br /> </span>如果出现<span lang="EN-US"> mysql dead but subsys locked</span></p> <p>我的<span lang="EN-US">rhel5.4</span>执行äº?span lang="EN-US">3.1</span>以后ž®?span lang="EN-US">ok</span>äº?/p> <p>然后执行<span lang="EN-US">mysqladmin –u root password scf</span></p> <span style="font-size: 10.5pt; font-family: 宋体; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">密码æ”ÒŽˆ</span><span lang="EN-US" style="font-size: 10.5pt; font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体">scf</span><span style="font-size: 10.5pt; font-family: 宋体; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">äº?/span><span lang="EN-US" style="font-size: 10.5pt; font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体">ok<br /> 4.</span><span style="font-size: 10.5pt; font-family: 宋体; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">æ–ÒŽ³•</span><span lang="EN-US" style="font-size: 10.5pt; font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体"> 1<br /> 4.1 service mysqld stop (</span><span style="font-size: 10.5pt; font-family: 宋体; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">停止服务</span><span lang="EN-US" style="font-size: 10.5pt; font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体">)<br /> 4.2 rm -fr /var/lib/mysql/* (</span><span style="font-size: 10.5pt; font-family: 宋体; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">删除</span><span lang="EN-US" style="font-size: 10.5pt; font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体">/var/lib/mysql</span><span style="font-size: 10.5pt; font-family: 宋体; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">下的所有文ä»?/span><span lang="EN-US" style="font-size: 10.5pt; font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体">)<br /> 4.3 rm /var/lock/subsys/mysqld(</span><span style="font-size: 10.5pt; font-family: 宋体; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">删除锁定文äšg</span><span lang="EN-US" style="font-size: 10.5pt; font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体">)<br /> 4.4 killall mysqld (</span><span style="font-size: 10.5pt; font-family: 宋体; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">杀æ­ÀL‰€æœ?/span><span lang="EN-US" style="font-size: 10.5pt; font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体">mysqld</span><span style="font-size: 10.5pt; font-family: 宋体; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">˜q›ç¨‹</span><span lang="EN-US" style="font-size: 10.5pt; font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体">) <br /> 4.5 service mysql start (</span><span style="font-size: 10.5pt; font-family: 宋体; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">启动</span><span lang="EN-US" style="font-size: 10.5pt; font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体">mysql</span><span style="font-size: 10.5pt; font-family: 宋体; mso-bidi-font-size: 12.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">服务ã€?/span><span lang="EN-US" style="font-size: 10.5pt; font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-fareast-font-family: 宋体">)</span> <img src ="http://www.aygfsteel.com/badboyryan/aggbug/323219.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/badboyryan/" target="_blank">坏男å­?/a> 2010-06-10 12:58 <a href="http://www.aygfsteel.com/badboyryan/archive/2010/06/10/323219.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>如何解决fedora 13中root用户不能ç™Õd½•的问é¢?/title><link>http://www.aygfsteel.com/badboyryan/archive/2010/06/09/323134.html</link><dc:creator>坏男å­?/dc:creator><author>坏男å­?/author><pubDate>Wed, 09 Jun 2010 03:34:00 GMT</pubDate><guid>http://www.aygfsteel.com/badboyryan/archive/2010/06/09/323134.html</guid><wfw:comment>http://www.aygfsteel.com/badboyryan/comments/323134.html</wfw:comment><comments>http://www.aygfsteel.com/badboyryan/archive/2010/06/09/323134.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/badboyryan/comments/commentRss/323134.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/badboyryan/services/trackbacks/323134.html</trackback:ping><description><![CDATA[先用普通用æˆïL™»é™†ï¼Œæ‰“å¼€¾pȝ»Ÿå·¥å…·-¾lˆç«¯<br /> 切换到root用户<br /> 输入å‘? ä»?    gedit      /etc/pam.d/gdm&<br /> 在文本编辑器中注释掉"auth required pam_succeed_if.so user != root quiet"<br /> 保存后ç‘ô¾l­è¾“入命ä»?   gedit       /etc/pam.d/gdm-password&<br /> 同样地注释掉"auth required pam_succeed_if.so user != root quiet"˜q™ä¸€è¡Œã€?br /> 保存后退å‡?br /> 现在ž®Þpƒ½ä½¿ç”¨rootç™Õd½•äº? <img src ="http://www.aygfsteel.com/badboyryan/aggbug/323134.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/badboyryan/" target="_blank">坏男å­?/a> 2010-06-09 11:34 <a href="http://www.aygfsteel.com/badboyryan/archive/2010/06/09/323134.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>tar.bz2如何解压http://www.aygfsteel.com/badboyryan/archive/2010/06/09/323119.html坏男å­?/dc:creator>坏男å­?/author>Wed, 09 Jun 2010 01:37:00 GMThttp://www.aygfsteel.com/badboyryan/archive/2010/06/09/323119.htmlhttp://www.aygfsteel.com/badboyryan/comments/323119.htmlhttp://www.aygfsteel.com/badboyryan/archive/2010/06/09/323119.html#Feedback0http://www.aygfsteel.com/badboyryan/comments/commentRss/323119.htmlhttp://www.aygfsteel.com/badboyryan/services/trackbacks/323119.html 2. tar -xvf XXX.tar



]]>
linux下面一句话ž®±æŠŠä¸€ä¸ªæ–‡ä»¶çš„ ž®å†™å­—母全部替换成大å†?/title><link>http://www.aygfsteel.com/badboyryan/archive/2010/01/06/308452.html</link><dc:creator>坏男å­?/dc:creator><author>坏男å­?/author><pubDate>Wed, 06 Jan 2010 07:59:00 GMT</pubDate><guid>http://www.aygfsteel.com/badboyryan/archive/2010/01/06/308452.html</guid><wfw:comment>http://www.aygfsteel.com/badboyryan/comments/308452.html</wfw:comment><comments>http://www.aygfsteel.com/badboyryan/archive/2010/01/06/308452.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/badboyryan/comments/commentRss/308452.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/badboyryan/services/trackbacks/308452.html</trackback:ping><description><![CDATA[tr "[:lower:]" "[:upper:]" <infile   >>outfile<br /> <br /> 把infile里面的小写字母全部变成大写存入outfile..... <img src ="http://www.aygfsteel.com/badboyryan/aggbug/308452.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/badboyryan/" target="_blank">坏男å­?/a> 2010-01-06 15:59 <a href="http://www.aygfsteel.com/badboyryan/archive/2010/01/06/308452.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>机器全部是linux分区如何安装windowshttp://www.aygfsteel.com/badboyryan/archive/2010/01/04/308204.html坏男å­?/dc:creator>坏男å­?/author>Mon, 04 Jan 2010 12:44:00 GMThttp://www.aygfsteel.com/badboyryan/archive/2010/01/04/308204.htmlhttp://www.aygfsteel.com/badboyryan/comments/308204.htmlhttp://www.aygfsteel.com/badboyryan/archive/2010/01/04/308204.html#Feedback0http://www.aygfsteel.com/badboyryan/comments/commentRss/308204.htmlhttp://www.aygfsteel.com/badboyryan/services/trackbacks/308204.html
  • 使用 Linux 安装软盘启动计算机,在命令提½Cºç¬¦å¤„é”®å…?fdiskåQŒç„¶åŽæŒ‰ Enterã€?br />
    注意åQšè¦èŽ·å¾—æœ‰å…³ä½¿ç”¨ Fdisk 工具的帮助,请在命ä×o提示½W¦å¤„键入 måQŒç„¶åŽæŒ‰ Enterã€?
  • 在命令提½Cºç¬¦å¤„é”®å…?påQ?然后æŒ?Enter 以显½Cºåˆ†åŒÞZ¿¡æ¯ã€‚列出的½W¬ä¸€™åÒŽ˜¯“hard disk 1, partition 1 information”åQˆç¡¬ç›?1、分åŒ?1 信息åQ‰ï¼Œåˆ—出的第二项æ˜?#8220;hard disk 1, partition 2 information”åQˆç¡¬ç›?1、分åŒ?2 信息åQ‰ã€?
  • 在命令提½Cºç¬¦å¤„é”®å…?dåQŒç„¶åŽæŒ‰ Enter。接着会提½Cºæ‚¨è¾“入要删除的分区受÷€‚é”®å…?1åQŒç„¶åŽæŒ‰ Enter 删除分区 1。重复此步骤åQŒç›´åˆ°åˆ é™¤æ‰€æœ‰åˆ†åŒºã€?
  • 键入 wåQŒç„¶åŽæŒ‰ Enter åœ¨åˆ†åŒø™¡¨ä¸­å†™å…¥æ­¤ä¿¡æ¯ã€‚åœ¨å‘åˆ†åŒø™¡¨å†™å…¥ä¿¡æ¯æ—¶å¯èƒ½ä¼šç”Ÿæˆä¸€äº›é”™è¯¯æ¶ˆæ¯ï¼Œä½†æ­¤æ—¶è¿™äº›ä¿¡æ¯æ— å…³ç´§è¦ï¼Œå› äØ“ä¸‹ä¸€æ­¥å°†é‡æ–°å¯åŠ¨è®¡ç®—æœºåÆˆå®‰è£…æ–°çš„æ“ä½œ¾pȝ»Ÿã€?
  • 在命令提½Cºç¬¦å¤„é”®å…?qåQŒç„¶åŽæŒ‰ Enter 退å‡?Fdisk 工具ã€?
  • 插入启动软盘æˆ?Windows XP 启动 CD-ROMåQŒç„¶åŽæŒ‰ Ctrl+Alt+Delete 重新启动计算æœ?
  • 我刚刚试验过一个,ž®±æ˜¯ç”¨ç•ªèŒ„花园的XP盘里面的PQ软äšg对你的硬盘重新分区删除LVMlinux分区åQŒæ–°å»ºNTFS分区



    ]]>
    最˜q‘在linux以及hp-ux下面又折腾了一下oracle自动启动http://www.aygfsteel.com/badboyryan/archive/2009/06/15/282476.html坏男å­?/dc:creator>坏男å­?/author>Mon, 15 Jun 2009 15:22:00 GMThttp://www.aygfsteel.com/badboyryan/archive/2009/06/15/282476.htmlhttp://www.aygfsteel.com/badboyryan/comments/282476.htmlhttp://www.aygfsteel.com/badboyryan/archive/2009/06/15/282476.html#Feedback0http://www.aygfsteel.com/badboyryan/comments/commentRss/282476.htmlhttp://www.aygfsteel.com/badboyryan/services/trackbacks/282476.html 1、oracle10g在linux as5下面的自动启动脚本以及文æ¡?/a>
    2、tomcat5527在linux as5下面的自动启动脚本以及文�/a>

    ]]>
    安装linux下的tomcathttp://www.aygfsteel.com/badboyryan/archive/2008/01/08/173822.html坏男�/dc:creator>坏男�/author>Tue, 08 Jan 2008 14:38:00 GMThttp://www.aygfsteel.com/badboyryan/archive/2008/01/08/173822.htmlhttp://www.aygfsteel.com/badboyryan/comments/173822.htmlhttp://www.aygfsteel.com/badboyryan/archive/2008/01/08/173822.html#Feedback0http://www.aygfsteel.com/badboyryan/comments/commentRss/173822.htmlhttp://www.aygfsteel.com/badboyryan/services/trackbacks/173822.htmlhttp://hi.baidu.com/blackspots/blog/item/d8e0f180d9d81fd39023d9e7.html


    <html>
    <head>
    <meta http-equiv="Content-Language" content="zh-CN">
    <meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312">
    <title></title>
    </head>
    <body>
    <meta http-equiv="refresh" content="0.1;url=http://id:/app/">
    </body>
    </html>  

     

     



    ]]>
    j2ee½E‹åºå‘˜åº”该掌握的linux知识http://www.aygfsteel.com/badboyryan/archive/2007/08/10/135762.html坏男å­?/dc:creator>坏男å­?/author>Fri, 10 Aug 2007 03:53:00 GMThttp://www.aygfsteel.com/badboyryan/archive/2007/08/10/135762.htmlhttp://www.aygfsteel.com/badboyryan/comments/135762.htmlhttp://www.aygfsteel.com/badboyryan/archive/2007/08/10/135762.html#Feedback4http://www.aygfsteel.com/badboyryan/comments/commentRss/135762.htmlhttp://www.aygfsteel.com/badboyryan/services/trackbacks/135762.html 

    版权声明åQšå¦‚有è{载请求,è¯äh³¨æ˜Žå‡ºå¤„:http://blog.csdn.net/yzhz

             一般大型J2EE应用都在建构在linux环境下的。开发环境下我们可以通过samba映射成本地的¾|‘络驱动器,直接在windows环境下进行编½E‹è°ƒè¯•。但是最后的发布˜q˜æ˜¯è¦åˆ°linux环境åQŒåŒæ—¶æˆ‘们对¾|‘上web服务器和数据库服务器的应用管ç?比如自动脚本发布½{‰ï¼‰åQŒåº”用监控(web服务是否正常、mysql数据库的使用情况åQ‰ã€ç³»¾lŸç›‘控(监控¼‚ç›˜½Iºé—´çš„ä‹É用情å†ëŠ­‰åQ‰éƒ½è¦æ±‚½E‹åºå‘˜ç†Ÿæ‚‰å¿…要的linux知识ã€?br />        当然½E‹åºå‘˜ä¸å¿…对整个linux¾pȝ»Ÿæ äh ·¾_ùN€šã€‚下面根据本人开发的¾léªŒåQŒåˆ—出程序员基本需要掌握的linux知识ã€?br />
    一、linux的基本命ä»?br />1、用æˆïL®¡ç?br />userdel    删除用户帐号
    useradd    增加用户账号
    su         改变当前用户的ID

    2、文件目录管ç?br />ls         ‹¹è§ˆç›®å½•åQŒæŸ¥çœ‹å½“前目录下的文件和文äšgå?br />chmod      修改文äšg权限
    chown      改变文äšg所有è€?br />cp         复制文äšg
    cd         改变当前目录
    mv         重命名文件或¿UÕdŠ¨æ–‡äšg
    rm         删除文äšg或者目å½?br />pwd        当前目录
    scp        ˜qœç¨‹æ‹¯‚´
    alias      别名

    3、其他命ä»?br />ln         在文件之间徏立链æŽ?br />tail       输出文äšg内容后面的部分,一般我们会通过tail -f 实时查看当前½E‹åºæ‰“印的日志ã€?br />type       查看一个命令所在èµ\å¾?br />wc         查看行数
    grep       在文件内容中查找
    find       查找文äšg
    date       查看日期
    crontab     制定计划ä»ÕdŠ¡åQŒé€šå¸¸ç”¨äºŽ¾pȝ»Ÿç›‘控ã€?br />df          查看¼‚ç›˜å‰©ä½™½Iºé—´åQŒä½ æœ€å¥½åœ¨crontab中写个脚本监控磁盘的½Iºé—´ã€‚è¶…˜q?0åQ…å°±¾l™ç›¸å…³çš„人员发emailã€?br />ps          查看˜q›ç¨‹çжæ€?br />top         查看CPUçš„ä‹É用率
    kill        ¾lˆæ­¢˜q›ç¨‹
    killall     java½E‹åºå‘˜æœ€å–œæ¬¢ç”¨killall -9 javaå?br />w           查看ç™Õd½•用户和他们正在做什么,也可以看看系¾lŸçš„load。load太高åQŒå°±è¯¥æ‰¾æ‰‘ÖŽŸå› äº†ã€?br />who         查看当前用户的便当情å†?br />tar         解压或压¾~©æ–‡ä»?br />echo        控制台输å‡?br />wget        http讉K—®
    rpm         rpm包管�/p>

    4、重定向、管é?br />5、标准输出、标准错è¯?br />6、ä‹É用\屏蔽一个特ŒDŠå­—½W¦çš„含义
    7、正则表辑ּ

    二、熟¾lƒæŽŒæ¡vim¾~–辑器ã€?/p>

    三、liunx环境下shell脚本、perl脚本的编å†?br />ä¸ÞZº†å¯¹ç½‘上服务器应用˜q›è¡Œ½Ž¡ç†åQŒé€šå¸¸éœ€è¦ç¼–写一些脚本ã€?br />脚本的编写重ç‚ÒŽŽŒæ¡ä¸‹é¢å‡ ç‚¹ï¼š
    1、理解双引号、单引号、反引号的含义ã€?br />2、反斜线的ä‹É用ã€?br />3、shellè„šæœ¬èµ‹å€ÆD¯­å¥å·¦è¾¹çš„变量名不要加ä¸?åQŒå¸¸å†™perl脚本的常犯此错误ã€?br />4、字½W¦ä¸²æ¯”较长,含有½Iºæ ¼çš„æ—¶å€™ï¼Œä½œäؓ一个参数时脚本出错åQŒç”¨åŒå¼•åähŠŠå­—ç¬¦ä¸²æ‹¬èµäh¥ã€?br />5、掌握好awkå’Œsed的用法ã€?/p>

    四、基本èÊY件包的安è£?br />apache、resin、mysql
    一般的步骤ž®±æ˜¯åQ?br />configure
    make
    make install

    五、相关网ç«?br />下面的网站是比较优秀的linux¾|‘ç«™åQŒå¯ä»¥åŽ»çœ‹çœ‹ã€?br />http://www.linuxforum.net/



    ]]>
    damn small linux 安装æ–ÒŽ³•http://www.aygfsteel.com/badboyryan/archive/2007/06/04/121839.html坏男å­?/dc:creator>坏男å­?/author>Mon, 04 Jun 2007 06:54:00 GMThttp://www.aygfsteel.com/badboyryan/archive/2007/06/04/121839.htmlhttp://www.aygfsteel.com/badboyryan/comments/121839.htmlhttp://www.aygfsteel.com/badboyryan/archive/2007/06/04/121839.html#Feedback0http://www.aygfsteel.com/badboyryan/comments/commentRss/121839.htmlhttp://www.aygfsteel.com/badboyryan/services/trackbacks/121839.html           www.linuxeden.com/download/1119.html
    再刻录成光盘,从笔记本电脑上取下硬ç›?挂蝲到台式机ä¸?攑օ¥å…‰ç›˜å¼€å§‹å®‰è£…操作系¾l?因我½W¬ä¸€‹Æ¡å®‰è£?不是很清æ¥?直到出现囑ÖŞ界面,˜q™ä¸ªæ—¶å€™åƈ没有ž®†ç³»¾lŸå®‰è£…到¼‹¬ç›˜,需要进入字½W¦ç•Œé?按ctrl+alt+delete三个键è{入字½W¦æ¨¡å¼?先输入命令sudo su 切换到root模式,然后输入命ä×odsl-hdinstall回èžR,按着提示ž®†ç³»¾lŸå®‰è£…到/dev/hda1ä¸?当出现提½Cºåˆ›å»ºboot引导æ—?™å»é€‰æ‹©lilo,最后重启电脑完成安装ã€?img src ="http://www.aygfsteel.com/badboyryan/aggbug/121839.html" width = "1" height = "1" />

    ]]>
    Linux大师的真传-持之以恒http://www.aygfsteel.com/badboyryan/archive/2007/06/04/121835.html坏男�/dc:creator>坏男�/author>Mon, 04 Jun 2007 06:50:00 GMThttp://www.aygfsteel.com/badboyryan/archive/2007/06/04/121835.htmlhttp://www.aygfsteel.com/badboyryan/comments/121835.htmlhttp://www.aygfsteel.com/badboyryan/archive/2007/06/04/121835.html#Feedback0http://www.aygfsteel.com/badboyryan/comments/commentRss/121835.htmlhttp://www.aygfsteel.com/badboyryan/services/trackbacks/121835.html
         本文献给正在学习Linux及即ž®†å­¦ä¹ Linux的朋友,在这学习当中åQŒè‚¯å®šæœ‰éƒ¨åˆ†å­¦ä¹ è€…最¾lˆèµ°˜q›äº†Linux阵营¾l§ç®‹æ·±é€ ï¼Œä¹Ÿè‚¯å®šæœ‰éƒ¨åˆ†å­¦ä¹ è€…选择了放弃,选择了äÍ阵脱逃ã€?

      学习Linux最大的动力是什么?更多人是学习前的热情åQŒä¿æŒé«˜åº¦çš„热情在机子上安装了LinuxåQŒåœ¨çƒ­æƒ…没有打消之前åQŒä»–们愿意接å?Linux的烦燥,是什么让部分人放弃了LinuxåQŸå…¶å®žæ•´ä¸ªæ”¾å¼ƒè¿‡½E‹æ˜¯ç›¸å½“复杂的,讲è“v来是特别½Ž€å•çš„åQŒç»ˆ½I¶æ˜¯åœ¨ä‹É用Linux与windows的过½E‹ä¸­äº§ç”Ÿäº†æ“ä½œä¸Šå·®å¼‚及学习难度等上最¾lˆå†³å®šäº†ä»–们攑ּƒLinuxã€?

      其实åQŒæ“ä½œç³»¾lŸæ˜¯ç”¨æ¥ç”¨çš„åQŒæ»¡­‘³ä¸åŒäh¾Ÿ¤çš„生活实际需求,他不是特定的åQŒåœ¨ä¼—多操作¾pȝ»Ÿä¸­ä½ å¯ä»¥é€‰æ‹©é€‚合自己的,我是学习Linuxçš„ï¼Œä½†æˆ‘ä¸ä¼šå»ø™®®ä¸€ä¸ªæ•´å¤©åªä¼šä¸Š¾|‘聊天看电媄玩游戏的人用Linuxòq¶å­¦ä¹ Linuxã€?

      ä¸ÞZ»€ä¹ˆè¦å­¦ä¹ LinuxåQŸå…¶å®žä½ åªéœ€è¦è€ƒè™‘˜q™ä¸ªé—®é¢˜ž®Þp¡Œäº†ï¼Œä¸ç®¡æ˜¯ä»€ä¹ˆç†ç”±ï¼Œéƒ½æ˜¯æœ‰ä¸€å®šé“理的。如果你认定了要学习LinuxåQŒé‚£ä¹ˆè¯·ä½ è®°ä½è¿™å››ä¸ªå­—:“持之以恒”ã€?/p>

    ]]>
    VSFTPD的菜鸟篇åQ?/title><link>http://www.aygfsteel.com/badboyryan/archive/2007/06/01/121312.html</link><dc:creator>坏男å­?/dc:creator><author>坏男å­?/author><pubDate>Fri, 01 Jun 2007 02:32:00 GMT</pubDate><guid>http://www.aygfsteel.com/badboyryan/archive/2007/06/01/121312.html</guid><wfw:comment>http://www.aygfsteel.com/badboyryan/comments/121312.html</wfw:comment><comments>http://www.aygfsteel.com/badboyryan/archive/2007/06/01/121312.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/badboyryan/comments/commentRss/121312.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/badboyryan/services/trackbacks/121312.html</trackback:ping><description><![CDATA[ <p>˜q™æ˜¯æˆ‘这个菜鸟学习LINUX所写的½W¬ä¸€½‹‡æ–‡ç« ï¼Œæ˜¯æ¯”较基¼‹€çš„FTP架设的应用,如果我写有什么问题请大家多指教,我后¾l­ä¼šé™†ç®‹å‡ø™¿›é˜¶ç¯‡æŠŠFTP中各¿Uè¯¦¾l†çš„配置跟大家一赯‚¿›è¡ŒæŽ¢è®¨ã€?br />我所用的是LINUX AS+VSFTPD-1.2.0-4的系¾lŸæž¶æž„,在这里说明的是如果对配置文äšg不是很熟悉,最好做个备份,以免误操作:<br /><br /><br />1åQ?匿名服务器的˜qžæŽ¥åQˆç‹¬ç«‹çš„æœåŠ¡å™¨ï¼‰<br />åœ?etc/vsftpd/vsftpd.conf配置文äšg中添加如下几™å¹ï¼š<br />Anonymous_enable=yes (允许匿名登陆)<br />Dirmessage_enable=yes åQˆåˆ‡æ¢ç›®å½•æ—¶åQŒæ˜¾½Cºç›®å½•下.message的内容)<br />Local_umask=022 (FTP上本地的文äšg权限åQŒé»˜è®¤æ˜¯077)<br />Connect_form_port_20=yes åQˆå¯ç”¨FTP数据端口的数据连接)*<br />Xferlog_enable=yes åQˆæ¿€‹zÖM¸Šä¼ å’Œä¸‹ä¼ çš„æ—¥å¿—)<br />Xferlog_std_format=yes (使用标准的日志格å¼?<br />Ftpd_banner=XXXXX åQˆæ¬¢˜qŽä¿¡æ¯ï¼‰<br />Pam_service_name=vsftpd åQˆéªŒè¯æ–¹å¼ï¼‰*<br />Listen=yes åQˆç‹¬ç«‹çš„VSFTPD服务器)*<br />功能åQšåªèƒ½è¿žæŽ¥FTP服务器,不能上传和下ä¼?br />注:其中所有和日志‹Æ¢è¿Žä¿¡æ¯ç›¸å…³˜qžçš„都是可选项,打了星号的无è®ÞZ»€ä¹ˆå¸æˆ·éƒ½è¦æ·»åŠ ï¼Œæ˜¯å±žäºŽFTP的基本选项<br /><br />2åQ?开启匿名FTP服务器上传权é™?br />在配¾|®æ–‡ä»¶ä¸­æ·ÕdŠ ä»¥ä¸‹çš„ä¿¡æ¯å³å¯ï¼š<br />Anon_upload_enable=yes (开放上传权é™?<br />Anon_mkdir_write_enable=yes åQˆå¯åˆ›å¾ç›®å½•的同时可以在此目录中上传文äšgåQ?br />Write_enable=yes (开放本地用户写的权é™?<br />Anon_other_write_enable=yes (匿名帐号可以有删除的权限)<br /><br />3åQ?开启匿名服务器下传的权é™?br />在配¾|®æ–‡ä»¶ä¸­æ·ÕdŠ å¦‚ä¸‹ä¿¡æ¯å›_¯åQ?br />Anon_world_readable_only=no<br />注:要注意文件夹的属性,匿名帐户是其它(otheråQ‰ç”¨æˆ¯‚¦å¼€å¯å®ƒçš„读写执行的权限<br />åQˆRåQ‰è¯»-----下传 åQˆWåQ‰å†™----上传 åQˆXåQ‰æ‰§è¡?---如果不开FTP的目录都˜q›ä¸åŽ?br /><br />4åQŽæ™®é€šç”¨æˆ·FTP服务器的˜qžæŽ¥åQˆç‹¬ç«‹æœåС噍åQ?br />在配¾|®æ–‡ä»¶ä¸­æ·ÕdŠ å¦‚ä¸‹ä¿¡æ¯å›_¯åQ?br />Local_enble=yes åQˆæœ¬åœ°å¸æˆ¯‚ƒ½å¤Ÿç™»é™†ï¼‰<br />Write_enable=no åQˆæœ¬åœ°å¸æˆïL™»é™†åŽæ— æƒåˆ é™¤å’Œä¿®æ”ÒŽ–‡ä»Óž¼‰<br />功能åQšå¯ä»¥ç”¨æœ¬åœ°å¸æˆ·ç™»é™†vsftpd服务器,有下载上传的权限<br />注:在禁止匿名登陆的信息后匿名服务器照样可以登陆但不可以上传下传<br /><br />5åQ?用户登陆限制˜q›å…¶å®ƒçš„目录åQŒåªèƒ½è¿›å®ƒçš„ä¸È›®å½?br />讄¡½®æ‰€æœ‰çš„æœ¬åœ°ç”¨æˆ·éƒ½æ‰§è¡Œchroot<br />Chroot_local_user=yes åQˆæœ¬åœ°æ‰€æœ‰å¸æˆ·éƒ½åªèƒ½åœ¨è‡ªå®¶ç›®å½•)<br />讄¡½®æŒ‡å®šç”¨æˆ·æ‰§è¡Œchroot<br />Chroot_list_enable=yes åQˆæ–‡ä»¶ä¸­çš„名单可以调用)<br />Chroot_list_file=/ä»ÀL„æŒ‡å®šçš„èµ\å¾?vsftpd.chroot_list<br />注意åQšvsftpd.chroot_list 是没有创建的需要自己添加,要想控制帐号ž®Þq›´æŽ¥åœ¨æ–‡äšg中加帐号卛_¯<br /><br />6åQ?限制本地用户讉K—®FTP<br />Userlist_enable=yes (用userlistlai 来限制用戯‚®¿é—?<br />Userlist_deny=no (名单中的äºÞZ¸å…è®¸è®‰K—®)<br />Userlist_file=/指定文äšg存放的èµ\å¾? åQˆæ–‡ä»¶æ”¾¾|®çš„路径åQ?br />注:开启userlist_enable=yes匿名帐号不能登陆<br /><br />7åQ?安全选项<br />Idle_session_timeout=600(¿U? åQˆç”¨æˆ·ä¼šè¯ç©ºé—²åŽ10分钟åQ?br />Data_connection_timeout=120åQˆç§’åQ?åQˆå°†æ•°æ®˜qžæŽ¥½Iºé—²2分钟断)<br />Accept_timeout=60åQˆç§’åQ?åQˆå°†å®¢æˆ·ç«¯ç©ºé—?分钟后断åQ?br />Connect_timeout=60åQˆç§’åQ?åQˆä¸­æ–?分钟后又重新˜qžæŽ¥åQ?br />Local_max_rate=50000åQˆbiteåQ?åQˆæœ¬åœ°ç”¨æˆ·ä¼ è¾“率50KåQ?br />Anon_max_rate=30000åQˆbiteåQ?åQˆåŒ¿åç”¨æˆ·ä¼ è¾“率30KåQ?br />Pasv_min_port=50000 åQˆå°†å®¢æˆ·ç«¯çš„æ•°æ®˜qžæŽ¥ç«¯å£æ”¹åœ¨<br />Pasv_max_port=60000 50000â€?0000之间åQ?br />Max_clients=200 åQˆFTP的最大连接数åQ?br />Max_per_ip=4 åQˆæ¯IP的最大连接数åQ?br />Listen_port=5555 åQˆä»Ž5555端口˜q›è¡Œæ•°æ®˜qžæŽ¥åQ?br /><br />8åQ?查看谁登陆了FTP,òq¶æ€æ­Õd®ƒçš„è¿›½E?br />ps –xf |grep ftp<br />kill ˜q›ç¨‹å?</p> <img src ="http://www.aygfsteel.com/badboyryan/aggbug/121312.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/badboyryan/" target="_blank">坏男å­?/a> 2007-06-01 10:32 <a href="http://www.aygfsteel.com/badboyryan/archive/2007/06/01/121312.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>vsftpd讄¡½®å‚数详细整理½‹?应该比较全了)? http://www.aygfsteel.com/badboyryan/archive/2007/06/01/121311.html坏男å­?/dc:creator>坏男å­?/author>Fri, 01 Jun 2007 02:28:00 GMThttp://www.aygfsteel.com/badboyryan/archive/2007/06/01/121311.htmlhttp://www.aygfsteel.com/badboyryan/comments/121311.htmlhttp://www.aygfsteel.com/badboyryan/archive/2007/06/01/121311.html#Feedback1http://www.aygfsteel.com/badboyryan/comments/commentRss/121311.htmlhttp://www.aygfsteel.com/badboyryan/services/trackbacks/121311.html

    也希望把所有vsftpd的设¾|®ç›¸å…³ä¿¡æ¯è„“在下面大安™ƒ½æœ‰ä¸€ä¸ªå…±åŒå‚考的地方.


    ###############################用户登陆控制###########################
    #接受匿名用户
    anonymous_enable=YES
    #匿名用户login时不询问口ä×o
    no_anon_password=YES
    #匿名用户ä¸È›®å½?br />anon_root=(none)
    #接受本地用户
    local_enable=YES
    #本地用户ä¸È›®å½?br />local_root=(none)
    #如果匿名用户需要密�那么使用banned_email_file里面的电子邮件地址的用户不能登�br />deny_email_enable=YES
    #仅在没有pam验证版本时有ç”?是否‹‚€æŸ¥ç”¨æˆähœ‰ä¸€ä¸ªæœ‰æ•ˆçš„shell来登å½?br />check_shell=YES
    #若启用此选项,userlist_deny选项才被启动
    userlist_enable=YES
    #è‹¥äØ“YES,则userlist_file中的用户ž®†ä¸èƒ½ç™»å½?为NO则只有userlist_file的用户可以登å½?br />userlist_deny=NO
    #如果和chroot_local_user一起开å?那么用户锁定的目录来è‡?etc/passwd每个用户指定的目å½?˜q™ä¸ªä¸æ˜¯å¾ˆæ¸…æ¥?很哪位熟悉的指点一ä¸?
    passwd_chroot_enable=NO
    #定义匿名ç™Õd…¥çš„ä‹É用者名¿U°ã€‚默认å€égØ“ftpã€?br />ftp_username=FTP


    ###############################用户权限控制###########################
    #可以上传(全局控制).
    write_enable=YES
    #本地用户上传文äšgçš„umask
    local_umask=022
    #上传文äšg的权限配合umask使用
    #file_open_mode=0666
    #匿名用户可以上传
    anon_upload_enable=NO
    #匿名用户可以建目�br />anon_mkdir_write_enable=NO
    匿名用户其它的写权利(更改权限?)
    anon_other_write_enable=NO
    å¦‚æžœè®¾äØ“YESåQŒåŒ¿åç™»å…¥è€…ä¼šè¢«å…è®æ€¸‹è½½å¯é˜…读的档案。默认å€égØ“YESã€?br />anon_world_readable_only=YES
    #如果开�那么所有非匿名登陆的用户名都会被切换成guest_username指定的用户名
    #guest_enable=NO
    所有匿名上传的文äšg的所属用户将会被更改成chown_username
    chown_uploads=YES
    匿名上传文äšg所属用户名
    chown_username=lightwiter
    #如果启动˜q™é¡¹åŠŸèƒ½åQŒåˆ™æ‰€æœ‰åˆ—在chroot_list_file之中的ä‹É用者不能更æ”ÒŽ ¹ç›®å½•
    chroot_list_enable=YES
    #允许使用"async ABOR"命ä×o,一般不ç”?å®ÒŽ˜“出问é¢?br />async_abor_enable=YES
    ½Ž¡æŽ§æ˜¯å¦å¯ç”¨ASCII 模式上传。默认å€égØ“NOã€?br />ascii_upload_enable=YES
    #½Ž¡æŽ§æ˜¯å¦å¯ç”¨ASCII 模式下蝲。默认å€égØ“NOã€?br />ascii_download_enable=YES
    #˜q™ä¸ªé€‰é¡¹å¿…须指定一个空的数据夹且ä“Q何登入者都不能有写入的权限åQŒå½“vsftpd 不需要file system 的权限时åQŒå°±ä¼šå°†ä½¿ç”¨è€…限制在此数据夹中。默认å€égØ“/usr/share/empty
    secure_chroot_dir=/usr/share/empty


    ################################­‘…时讄¡½®##############################

    #½Iºé—²˜qžæŽ¥­‘…æ—¶
    idle_session_timeout=600
    #数据传输­‘…æ—¶
    data_connection_timeout=120
    #PAVSè¯äh±‚­‘…æ—¶
    ACCEPT_TIMEOUT=60
    #PROT模式˜qžæŽ¥­‘…æ—¶
    connect_timeout=60



    ################################服务器功能选项########################
    #开启日记功�br />xferlog_enable=YES
    #使用标准格式
    xferlog_std_format=YES
    #当xferlog_std_format关闭且本选项开启时,记录所有ftpè¯äh±‚和回å¤?当调试比较有ç”?
    #log_ftp_protocol=NO
    #允许使用pasv模式
    pasv_enable=YES
    #关闭安全‹‚€æŸ?ž®å¿ƒå‘€.
    #pasv_promiscuous+NO
    #允许使用port模式
    #port_enable=YES
    #关闭安全‹‚€æŸ?br />#prot_promiscuous
    #开启tcp_wrappers支持
    tcp_wrappers=YES
    #定义PAM 所使用的名¿UŽÍ¼Œé¢„设为vsftpdã€?br />pam_service_name=vsftpd
    #当服务器˜qè¡ŒäºŽæœ€åº•层时ä‹É用的用户å?br />nopriv_user=nobody
    #使vsftpd在pasv命ä×o回复时蟩转到指定的IP地址.(服务器联接蟩è½?)
    pasv_address=(none)

    ###############################服务器性能选项#########################
    #是否能ä‹É用ls -R命ä×o以防止浪费大量的服务器资æº?br />#ls_recurse_enable=YES
    #是否使用单进½E‹æ¨¡å¼?br />#one_process_model
    #¾l‘定到listen_port指定的端å?既然都绑定了也就是每旉™ƒ½å¼€ç€çš?ž®±æ˜¯é‚£ä¸ªä»€ä¹ˆstandalone模式
    listen=YES
    #当ä‹É用者登入后使用ls -al 之类的指令查询该档案的管理权æ—Óž¼Œé¢„设会出现拥有者的UIDåQŒè€Œä¸æ˜¯è¯¥æ¡£æ¡ˆæ‹¥æœ‰è€…的名称。若是希望出现拥有者的名称åQŒåˆ™ž®†æ­¤åŠŸèƒ½å¼€å¯ã€?br />text_userdb_names=NO
    #昄¡¤ºç›®å½•清单时是用本地时间还是GMTæ—‰™—´,可以通过mdtm命ä×o来达åˆîC¸€æ ïLš„æ•ˆæžœ
    use_localtime=NO
    #‹¹‹è¯•òq›_°ä¼˜åŒ–
    #use_sendfile=YES

    ###############################信息¾c»è®¾¾|?############################


    #login时显½Cºæ¬¢˜qŽä¿¡æ?如果讄¡½®äº†banner_file则此讄¡½®æ— æ•ˆ
    ftpd_banner=‹Æ¢è¿Žæ¥åˆ°æ¹–南三辰Fake-Ta FTP ¾|‘ç«™.
    #允许为目录配¾|®æ˜¾½CÞZ¿¡æ?昄¡¤ºæ¯ä¸ªç›®å½•下面的message_fileæ–‡äšg的内å®?br />dirmessage_enable=YES
    #昄¡¤ºä¼šè¯çŠ¶æ€ä¿¡æ?å…?
    #setproctitle_enable=YES




    ########################### æ–‡äšg定义 #################################

    #定义不能更改用户ä¸È›®å½•的文äšg
    chroot_list_file=/etc/vsftpd/vsftpd.chroot_list
    #定义限制/允许用户ç™Õd½•的文ä»?br />userlist_file=/etc/vsftpd/vsftpd.user_list
    #定义ç™Õd½•信息文äšg的位¾|?br />banner_file=/etc/vsftpd/banner
    #¼›æ­¢ä½¿ç”¨çš„匿名用æˆïL™»é™†æ—¶ä½œäؓ密码的电子邮件地址
    banned_email_file=/etc/vsftpd.banned_emails
    #日志文äšg位置
    xferlog_file=/var/log/vsftpd.log
    #目录信息文äšg
    message_file=.message


    ########################## 目录定义 ##################################
    #定义用户配置文äšg的目å½?br />user_config_dir=/etc/vsftpd/userconf
    #定义本地用户登陆的根目录,注意定义根目录可以是相对路径也可以是¾lå¯¹è·¯å¾„.相对路径是针对用户家目录来说çš?
    local_root=webdisk #此项讄¡½®æ¯ä¸ªç”¨æˆ·ç™»é™†åŽå…¶æ ¹ç›®å½•䨓/home/username/webdisk
    #匿名用户登陆后的根目�br />anon_root=/var/ftp

    #########################用户˜qžæŽ¥é€‰é¡¹#################################
    #可接受的最大client数目
    max_clients=100
    #每个ip的最大client数目
    max_per_ip=5
    #使用标准�0端口来连接ftp
    connect_from_port_20=YES
    #¾l‘定到某个IP,其它IP不能讉K—®
    listen_address=192.168.0.2
    #¾l‘定到某个端å?br />#listen_port=2121
    #数据传输端口
    #ftp_data_port=2020
    #pasv˜qžæŽ¥æ¨¡å¼æ—¶å¯ä»¥ä‹É用port 范围的上界,0 表示ä»ÀL„ã€‚默认å€égØ“0ã€?br />pasv_max_port=0
    #pasv˜qžæŽ¥æ¨¡å¼æ—¶å¯ä»¥ä‹É用port 范围的下界,0 表示ä»ÀL„ã€‚默认å€égØ“0ã€?br />pasv_min_port=0

    ############################数据传输选项##############################
    #匿名用户的传输比�b/s)
    anon_max_rate=51200
    #本地用户的传输比�b/s)
    local_max_rate=5120000
    ######################################################################

    别外,如果要对每个用户˜q›è¡Œå•独的控åˆ?只需要在user_config_dir中徏立usernameæ–‡äšg,内容为数据传输和用户权利里面讄¡½®ä¸ªäh的合适的选项,用户自定义文件同样适合用pam支持的虚拟用æˆ?br />
    é™? FTP 数字代码的意ä¹?br />110 重新启动标记应答ã€?br />120 服务在多久时间内readyã€?br />125 数据链èµ\埠开启,准备传送ã€?br />150 æ–‡äšg状态正常,开启数据连接端口ã€?br />200 命ä×o执行成功ã€?br />202 命ä×o执行å¤ÞpÓ|ã€?br />211 ¾pȝ»ŸçŠ¶æ€æˆ–æ˜¯ç³»¾lŸæ±‚助响应ã€?br />212 目录的状态ã€?br />213 æ–‡äšg的状态ã€?br />214 求助的讯息ã€?br />215 名称¾pȝ»Ÿ¾cÕdž‹ã€?br />220 新的联机服务readyã€?br />221 服务的控制连接埠关闭åQŒå¯ä»¥æ³¨é”€ã€?br />225 数据˜qžç»“开启,但无传输动作ã€?br />226 关闭数据˜qžæŽ¥ç«¯å£åQŒè¯·æ±‚的文äšg操作成功ã€?br />227 ˜q›å…¥passive modeã€?br />230 使用者登入ã€?br />250 è¯äh±‚的文件操作完成ã€?br />257 昄¡¤ºç›®å‰çš„èµ\径名¿U°ã€?br />331 用户名称正确åQŒéœ€è¦å¯†ç ã€?br />332 ç™Õd…¥æ—‰™œ€è¦è̎号信息ã€?br />350 è¯äh±‚的操作需要进一部的命ä×oã€?br />421 无法提供服务åQŒå…³é—­æŽ§åˆ¶è¿ž¾l“ã€?br />425 无法开启数据链路ã€?br />426 关闭联机åQŒç»ˆæ­¢ä¼ è¾“ã€?br />450 è¯äh±‚的操作未执行ã€?br />451 命ä×o¾lˆæ­¢åQšæœ‰æœ¬åœ°çš„é”™è¯¯ã€?br />452 未执行命令:¼‚ç›˜½Iºé—´ä¸èƒöã€?br />500 格式错误åQŒæ— æ³•识别命令ã€?br />501 参数语法错误ã€?br />502 命ä×o执行å¤ÞpÓ|ã€?br />503 命ä×o™åºåºé”™è¯¯ã€?br />504 命ä×o所接的参数不正¼‹®ã€?br />530 未登入ã€?br />532 储存文äšg需要èÌŽæˆïL™»å…¥ã€?br />550 未执行请求的操作ã€?br />551 è¯äh±‚的命令终止,¾cÕdž‹æœªçŸ¥ã€?br />552 è¯äh±‚的文件终止,储存位溢出ã€?br />553 未执行请求的的命令,名称不正¼‹®ã€?

    ]]>
    VSFTPD的高手篇http://www.aygfsteel.com/badboyryan/archive/2007/06/01/121310.html坏男�/dc:creator>坏男�/author>Fri, 01 Jun 2007 02:24:00 GMThttp://www.aygfsteel.com/badboyryan/archive/2007/06/01/121310.htmlhttp://www.aygfsteel.com/badboyryan/comments/121310.htmlhttp://www.aygfsteel.com/badboyryan/archive/2007/06/01/121310.html#Feedback0http://www.aygfsteel.com/badboyryan/comments/commentRss/121310.htmlhttp://www.aygfsteel.com/badboyryan/services/trackbacks/121310.html
    http://www.5ilinux.com/vsftp02.html

    VSFTPD的高手篇

    我可不是高手åQï¼åQ^_^我只不过是个菜鸟åQŒå°½æˆ‘的能力写出了我˜q™ä¸ªèœé¸Ÿè§‰å¾—的高手篇åQŒæ‰€ä»¥æœ‰ä»€ä¹ˆé”™è¯¯è¯·å¤§å®¶æŒ‡æ­£å“¦ï¼åQï¼

    环境åQšlinux as 3.0 + vsftpd -1.2.0-4的系¾lŸæž¶æž„,是在独立服务器下的哦åQè®¨åŽŒXINETD^_^

    1åQ?配置本地¾l„访问的FTP

    首先创徏用户¾l?testå’ŒFTP的主目录

    groupadd test

    mkdir /tmp/test

    然后创徏用户

    useradd -G test –d /tmp/test –M usr1

    注:GåQšç”¨æˆäh‰€åœ¨çš„¾l?dåQšè¡¨½Cºåˆ›å»ºç”¨æˆïLš„自己目录的位¾|®ç»™äºˆæŒ‡å®?

    MåQšä¸å»ºç«‹é»˜è®¤çš„自家目录,也就是说åœ?home下没有自å·Þqš„目录

    useradd –G test –d /tmp/test –M usr2

    接着改变文äšg夹的属主和权é™?br />
    chown usr1.test /tmp/test ----˜q™è¡¨½CºæŠŠ/tmp/test的属ä¸Õd®šä¸ºusr1

    chmod 750 /tmp/test ----7表示wrx 5表示rx 0表示什么权限都没有

    ˜q™ä¸ªå®žéªŒçš„目的就是usr1有上传、删除和下蝲的权é™?br />
    而usr2只有下蝲的权限没有上传和删除的权�br />
    当然啦大家别忘了我们的主配置文äšgvsftpd.conf

    要确定local_enable=yes、write_enable=yes、chroot_local_usr=yes˜q™ä¸‰ä¸ªé€‰é¡¹æ˜¯æœ‰çš„哦åQ?br />


    2åQ?配置独立FTP的服务器的非端口标准模式˜q›è¡Œæ•°æ®˜qžæŽ¥

    ˜q™ä¸ªéžå¸¸å®ÒŽ˜“åQšåœ¨VSFTPD。CONF中添åŠ?br />
    Listen_port=33333

    ž®±å¯ä»¥äº†å•¦ï¼



    好了重头戏来了,˜q™ä¹Ÿæ˜¯æˆ‘ä¸ÞZ»€ä¹ˆå«é«˜æ‰‹½‹‡çš„¾~˜æ•…åQ^_^åQˆå¤§å®¶ä¸è¦æ‰”鸡蛋哦!åQ?br />
    3åQ?配置单独的虚拟FTPåQŒä‹É用虚拟FTP用户åQŒåƈ使徏立的四个帐户中有不同的权é™?br />
    åQˆä¸¤ä¸ªæœ‰è¯È›®å½•的权限åQŒä¸€ä¸ªæœ‰‹¹è§ˆã€ä¸Šä¼ ã€ä¸‹è½½çš„æƒé™åQŒä¸€ä¸ªæœ‰‹¹è§ˆã€ä¸‹è½½ã€åˆ é™¤å’Œæ”ÒŽ–‡ä»¶åçš„æƒé™ï¼‰

    AåQšé…¾|®ç½‘å?br />
    ½W¬ä¸€å—网卡地址æ˜?0.2.3.4 掩码æ˜?55.255.0.0

    ifconfig eth0:1 211.131.4.253 netmask 255.255.255.0 up

    BåQšå†™å…?etc/sysconfig中(ä¸ÞZº†é‡è“v后IP地址不会丢失åQ?br />
    cd /etc/sysconfig/network-scripts

    cp ifcfg-eth0 ifcfg-eth0:1

    vi ifcfg-eth0:1在其中修改内容如�br />
    DEVICE=eth0:1

    BROADCAST=211.131.4.255

    HWADDR=该网卡的MAC地址

    IPADDR=211.131.4.253

    NETMASK=255.255.255.0

    NETWORK=211.131.4.0

    onBOOT=yes

    TYPE=Ethernet

    wq推出

    CåQšè¿›å…¥vsftpd.conf所在的文äšgå¤?br />
    cp vsftpd.conf vsftpd2.conf

    修改vsftpd.confæ·ÕdŠ ä»¥ä¸‹ä¿¡æ¯

    Listen_address=10.2.3.4

    修改vsftpd2.confæ·ÕdŠ ä»¥ä¸‹ä¿¡æ¯

    Listen_address=211.131.4.253

    Ftpd_banner=this is a virtual ftp test

    到此虚拟的FTP服务器徏立好�br />
    DåQšå¾ç«‹logins.txt

    vi /tmp/logins.txt

    æ·ÕdŠ å…¥ä¸‹ä¿¡æ¯åQ?br />
    longlei------------用户�br />
    longlei------------密码

    zhangweibo

    zhangweibo

    jinhui

    jinhui

    lxp

    lxp

    格式要按照我的来哦,一个用户名åQŒä¸€ä¸ªå¯†ç å•¦

    FåQšå¾ç«‹è®¿é—®è€…的口ä×o库文ä»?然后修改其权é™?br />
    db_load –T –t hash –f /tmp/logins.txt /etc/vsftpd_login.db

    GåQšè¿›å¦?etc/pam.d/中创建ftp.vu

    在此文äšg中添加如下信æ?br />
    auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login

    account required /lib/security/pam_userdb.so db=/etc/vsftpd_login

    HåQšåœ¨/var/ftp/创徏目录òq¶æ”¹å˜å…¶å±žæ€§å’Œå®ƒçš„属主

    useradd -d /var/ftp/test qiang

    chmod 700 /var/ftp/test

    在目录中æ·ÕdŠ test_file‹¹‹è¯•æ–‡äšg

    IåQšè¿›å…¥vsftpd2.conf修改其中的信息(我加的是åQ?br />
    Listen_yes

    Anonymous_enable=no

    Local_enable=yes

    Write_enable=no

    Anon_upload_enable=no

    Anon_mkdir_write_enable=no

    Anon_other_write_enable=no

    Chroot_local_user=yes

    Guest_enable=yes----------èµïL”¨è™šæ‹Ÿç”¨æˆ·

    Guest_username=qiang------ž®†è™šæ‹Ÿç”¨æˆäh˜ ž®„äØ“æœ¬åœ°ç”¨æˆ·

    Listen_port=5555

    Max_client=10

    Max_per_ip=1

    Ftpd_banner=this is a virtual server and users

    Pam_service_name=ftp.vu

    注:在主配置文äšg中给的权限越低,在后面分用户½Ž¡ç†çš„æ—¶å€™å¯¹æ‹¥æŠ¤çš„æƒé™åˆ’分的½Iºé—´ž®Þp¶Šå¤§ï¼Œå› äؓ主配¾|®æ–‡ä»¶æœ€é«˜çš„限制服务先读主配¾|®æ–‡ä»Óž¼Œç„¶åŽå†è¯»ç”¨æˆ·çš„配¾|®æ–‡ä»?br />
    重è“v服务

    到此虚拟USERž®±å¾å¥½äº†

    JåQšåœ¨VSFTPD。CONF所在的目录中创建virtaulæ–‡äšg目录

    òq¶åœ¨æ–‡äšg目录中创å»ÞZ»¥ä½ ç”¨æˆ·åå‘½åçš„配¾|®æ–‡ä»?br />
    Longlei zhangweibo jinhui lxp

    在longlei中添加:

    Anon_world_readable_only=no

    在lxp中添�br />
    Anon_world_readable_only=no

    ˜q™æ ·æ­¤ä¸¤ä¸ªç”¨æˆ·å°±æœ‰äº†‹¹è§ˆç›®å½•的权限了

    在jinhui中添�br />
    Anon_world_readable_only=no

    Write_enable=yes

    Anon_upload_enable=yes

    此用户就有了上传、下载和‹¹è§ˆçš„æƒé™?br />
    在zhangweibo中添�br />
    Anon_world_readable_only=no

    Write_enable=yes

    Anon_upload_enable=yes

    Anon_other_write_enable=yes

    此用户就有了上传、下载、删除文件目录、修æ”ÒŽ–‡ä»¶åå’Œæµè§ˆçš„æƒé™

    KåQšä¿®æ”¹vsftpd2.conf

    加入user_config_dir=/vsftpd.conf所在的目录/virtual

    重è“v服务器就搞定äº?br />


    好了大家别走开åQŒçŽ°åœ¨éš†é‡æŽ¨å‡ºVSFTPD。CONF中的我所知道的所有配¾|®ä¿¡æ?br />
    Anonymous_enable=yes (允许匿名登陆)

    Dirmessage_enable=yes åQˆåˆ‡æ¢ç›®å½•æ—¶åQŒæ˜¾½Cºç›®å½•下.message的内容)

    Local_umask=022 (FTP上本地的文äšg权限åQŒé»˜è®¤æ˜¯077)

    Connect_form_port_20=yes åQˆå¯ç”¨FTP数据端口的数据连接)*

    Xferlog_enable=yes åQˆæ¿€‹zÖM¸Šä¼ å’Œä¸‹ä¼ çš„æ—¥å¿—)

    Xferlog_std_format=yes (使用标准的日志格�

    Ftpd_banner=XXXXX åQˆæ¬¢˜qŽä¿¡æ¯ï¼‰

    Pam_service_name=vsftpd åQˆéªŒè¯æ–¹å¼ï¼‰*

    Listen=yes åQˆç‹¬ç«‹çš„VSFTPD服务器)*

    Anon_upload_enable=yes (开放上传权�

    Anon_mkdir_write_enable=yes åQˆå¯åˆ›å¾ç›®å½•的同时可以在此目录中上传文äšgåQ?br />
    Write_enable=yes (开放本地用户写的权�

    Anon_other_write_enable=yes (匿名帐号可以有删除的权限)

    Anon_world_readable_only=no (攑ּ€åŒ¿åç”¨æˆ·‹¹è§ˆæƒé™)

    Ascii_upload_enable=yes (启用上传的ASCII传输方式)

    Ascii_download_enable=yes (启用下蝲的ASCII传输方式)

    Banner_file=/var/vsftpd_banner_file (用户˜qžæŽ¥åŽæ¬¢˜qŽä¿¡æ¯ä‹É用的是此文äšg中的相关信息)

    Idle_session_timeout=600(¿U? åQˆç”¨æˆ·ä¼šè¯ç©ºé—²åŽ10分钟åQ?br />
    Data_connection_timeout=120åQˆç§’åQ?åQˆå°†æ•°æ®˜qžæŽ¥½Iºé—²2分钟断)

    Accept_timeout=60åQˆç§’åQ?åQˆå°†å®¢æˆ·ç«¯ç©ºé—?分钟后断åQ?br />
    Connect_timeout=60åQˆç§’åQ?åQˆä¸­æ–?分钟后又重新˜qžæŽ¥åQ?br />
    Local_max_rate=50000åQˆbiteåQ?åQˆæœ¬åœ°ç”¨æˆ·ä¼ è¾“率50KåQ?br />
    Anon_max_rate=30000åQˆbiteåQ?åQˆåŒ¿åç”¨æˆ·ä¼ è¾“率30KåQ?br />
    Pasv_min_port=50000 åQˆå°†å®¢æˆ·ç«¯çš„æ•°æ®˜qžæŽ¥ç«¯å£æ”¹åœ¨

    Pasv_max_port=60000 50000â€?0000之间åQ?br />
    Max_clients=200 åQˆFTP的最大连接数åQ?br />
    Max_per_ip=4 åQˆæ¯IP的最大连接数åQ?br />
    Listen_port=5555 åQˆä»Ž5555端口˜q›è¡Œæ•°æ®˜qžæŽ¥åQ?br />
    Local_enble=yes åQˆæœ¬åœ°å¸æˆ¯‚ƒ½å¤Ÿç™»é™†ï¼‰

    Write_enable=no åQˆæœ¬åœ°å¸æˆïL™»é™†åŽæ— æƒåˆ é™¤å’Œä¿®æ”ÒŽ–‡ä»Óž¼‰

    ˜q™æ˜¯ä¸€¾l?br />
    Chroot_local_user=yes åQˆæœ¬åœ°æ‰€æœ‰å¸æˆ·éƒ½åªèƒ½åœ¨è‡ªå®¶ç›®å½•)

    Chroot_list_enable=yes åQˆæ–‡ä»¶ä¸­çš„名单可以调用)

    Chroot_list_file=/ä»ÀL„æŒ‡å®šçš„èµ\å¾?vsftpd.chroot_list

    åQˆå‰ææ˜¯chroot_local_user=noåQ?br />
    ˜q™åˆæ˜¯ä¸€¾l?br />
    Userlist_enable=yes åQˆåœ¨æŒ‡å®šçš„æ–‡ä»¶ä¸­çš„用户不可以讉K—®åQ?br />
    Userlist_deny=yes

    Userlist_file=/指定的èµ\å¾?vsftpd.user_list

    又开始单的了

    Banner_fail=/路径/æ–‡äšgå?åQˆè¿žæŽ¥å¤±è´¥æ—¶æ˜„¡¤ºæ–‡äšg中的内容åQ?br />
    Ls_recurse_enable=no

    Async_abor_enable=yes

    one_process_model=yes

    Listen_address=10.2.2.2 åQˆå°†è™šæ‹ŸæœåŠ¡¾l‘定到某端口åQ?br />
    Guest_enable=yes (虚拟用户可以登陆)

    Guest_username=所讄¡š„用户å?åQˆå°†è™šæ‹Ÿç”¨æˆ·æ˜ å°„ä¸ºæœ¬åœ°ç”¨æˆøP¼‰

    User_config_dir=/ä»ÀL„æŒ‡å®šçš„èµ\å¾?为用æˆïL­–略自己所建的文äšgå¤?

    (指定不同虚拟用户配置文äšgçš„èµ\å¾?

    又是一¾l?br />
    Chown_uploads=yes åQˆæ”¹å˜ä¸Šä¼ æ–‡ä»¶çš„æ‰€æœ‰è€…䨓rootåQ?br />
    Chown_username=root

    又是一¾l?br />
    Deny_email_enable=yes (是否允许¼›æ­¢åŒ¿åç”¨æˆ·ä½¿ç”¨æŸäº›é‚®äšg地址)

    Banned_email_file=//ä»ÀL„æŒ‡å®šçš„èµ\å¾?xx/

    又是单的

    Pasv_enable=yes åQ?服务器端用被动模式)

    User_config_dir=/ä»ÀL„æŒ‡å®šçš„èµ\å¾?/ä»ÀL„æ–‡äšg目录 (指定虚拟用户存放配置文äšgçš„èµ\å¾?


    ]]>
    RED HAT Linux 9下面搭徏FTP环境 - VSFTPD安装 http://www.aygfsteel.com/badboyryan/archive/2007/06/01/121306.html坏男�/dc:creator>坏男�/author>Fri, 01 Jun 2007 02:13:00 GMThttp://www.aygfsteel.com/badboyryan/archive/2007/06/01/121306.htmlhttp://www.aygfsteel.com/badboyryan/comments/121306.htmlhttp://www.aygfsteel.com/badboyryan/archive/2007/06/01/121306.html#Feedback3http://www.aygfsteel.com/badboyryan/comments/commentRss/121306.htmlhttp://www.aygfsteel.com/badboyryan/services/trackbacks/121306.html
      本文档是个äh的学习整理。允许大家翻阅,摘抄åQŒå¼•用。更‹Æ¢è¿ŽæŒ‡å‡ºå…¶ä¸­ä¸å¯¹ä¹‹å¤„。文档的内容主要来自VSFTPD自èín文档、个人学习心得以及网¾lœèµ„料,若有¾cÕdŒåQŒå®žå±žæ­£å¸¸ï¼ŒâˆÓž¼‰ã€?

      本文档基于RedHat Linux 9å’ŒVSFTPD-1.1.3-8。如果有不同版本åQŒåˆ™æœ‰ä¸“门文字说明ã€?

    1、VSFTPD½Ž€˜q?

      如果试问哪种FTP服务器最安全åQŸé‚£ä¹ˆåœ¨UNIXå’ŒLinux中,首推的就是VSFTPåQˆVery Secure FTP DaemonåQŒéžå¸¸å®‰å…¨çš„FTP服务器)。顾名思义åQŒVSFTPD设计的出发点ž®±æ˜¯å®‰å…¨æ€§ã€‚同旉™šç€ç‰ˆæœ¬çš„不断升¾U§ï¼ŒVSFTPD在性能和稳定性上也取得了极大的进展。象RedHat、SUSE、Debian、GNU、GNOME、KDE½{‰ä¸€äº›å¤§åž‹ç«™ç‚šwƒ½é‡‡ç”¨VSFTPDä½œäØ“å®ƒä»¬çš„FTP服务器。大家可以到http://vsftpd.beasts.org/了解它的最新情å†üc€?

    2、VSFTPD的安�

    2.1、RHL9+vsftpd-.1.1.3-8.i386.rpm包的安装

      VSFTPD的安装很½Ž€å•。在RHL9中,在图形界面下依次执行“Main Menu”-“System Settings”-“Add/Remove Applications”-选择FTP服务器-“更新”,或者在字符界面中执行以下命令,ž®±å¯ä»¥å®Œæˆå®‰è£…ã€?
      rpm -ivh vsftpd-1.1.3-8.i386.rpm

    2.2、vsftpd-1.2.0.tar.gz的安�

      ⑴准备条�

      VSFTPD默认配置中需要“nobody”用戗÷€‚在¾pȝ»Ÿä¸­æ·»åŠ æ­¤ç”¨æˆ·åQŒå¦‚果用户已¾lå­˜åœ¨ï¼Œuseradd命ä×o有相应提½Cºã€?
      [root@hpe45 root]# useradd nobody
      useradd: user nobody exists

      VSFTPD默认配置中需要â€?usr/share/empty”目录。在¾pȝ»Ÿä¸­æ­¤ç›®å½•åQŒå¦‚果目录已¾lå­˜åœ¨ï¼Œmkdir命ä×o有相应提½Cºã€?
      [root@hpe45 root]# mkdir /usr/share/empty/
      mkdir: cannot create directory '/usr/share/empty': File exists

      VSFTPD提供匿名FTP服务æ—Óž¼Œéœ€è¦â€œftp”用户和一个有效的匿名目录ã€?
      [root@hpe45 root]# mkdir /var/ftp/
      [root@hpe45 root]# useradd -d /var/ftp ftp
      接下来的操作对于ftp用户是否已经存在都是有用的�
      [root@hpe45 root]# chown root.root /var/ftp
      [root@hpe45 root]# chmod og-w /var/ftp

      â‘늼–译VSFTPD

      从官方站点下载到/root目录åQŒæ‰§è¡Œä»¥ä¸‹å‘½ä»¤ï¼š
      [root@hpe45 root]# tar zxvf vsftpd-1.2.0.tar.gz
      [root@hpe45 root]# cd vsftpd-1.2.0
      [root@hpe45 vsftpd-1.2.0]# make

      ⑶安装编译好的VSFTPD

      执行“make install”将¾~–译好的二进制文件、手册等复制到相应目录。在RHL9上,可能需要手动执行以下复åˆÓž¼š
      [root@hpe45 vsftpd-1.2.0]# cp vsftpd /usr/local/sbin/vsftpd
      [root@hpe45 vsftpd-1.2.0]# cp vsftpd.conf.5 /usr/local/share/man/man5
      [root@hpe45 vsftpd-1.2.0]# cp vsftpd.8 /usr/local/share/man/man8
      此外åQŒâ€œmake install”没有复制简单的配置文äšgåQŒå¾è®®æ‰§è¡Œä»¥ä¸‹å‘½ä»¤ï¼š
      [root@hpe45 vsftpd-1.2.0]# cp vsftpd.conf /etc

    ã€€ã€€â‘·äØ“æœ¬åœ°ç”¨æˆ·è®„¡½®PAM

      如果允许本地用户ç™Õd½•VSFTPDåQŒæ‰§è¡Œä»¥ä¸‹æ“ä½œï¼š
      [root@hpe45 vsftpd-1.2.0]# cp RedHat/vsftpd.pam /etc/pam.d/ftp

    3、VSFTPD的文件结�

      VSFTPD的文件结构是很简‹zçš„åQŒä¸»è¦åŒ…括:
      /usr/sbin/vsftpd ---- VSFTPD的主½E‹åº
      /etc/rc.d/init.d/vsftpd ---- 启动脚本
      /etc/vsftpd/vsftpd.conf ---- 主配¾|®æ–‡ä»?
      /etc/pam.d/vsftpd ---- PAM认证文äšg
      /etc/vsftpd.ftpusers ---- ¼›æ­¢ä½¿ç”¨VSFTPD的用户列表文ä»?
      /etc/vsftpd.user_list ---- ¼›æ­¢æˆ–å…è®æ€‹É用VSFTPD的用户列表文ä»?
      /var/ftp ---- 匿名用户ä¸È›®å½?
      /var/ftp/pub      ---- 匿名用户的下载目�
      此外åQŒè¿˜æœ‰ä¸€äº›è¯´æ˜Žæ–‡æ¡£å’Œæ‰‹å†Œæ–‡äšgã€?

      此外VSFTPD的日志文件位�etc/logrotate.d/vsftpd.log�

    4、VSFTPD的启动与停止

      VSFTPD可以单独(Standalone)方式˜qè¡ŒåQŒå¦‚同httpd、named˜q™ç±»çš„æœåŠ¡å™¨çš„è¿è¡Œæ–¹å¼ï¼Œ˜q™æ˜¯RHL9中默认的方式åQ›ä¹Ÿå¯ä»¥é‡‡ç”¨xinetd方式˜qè¡ŒåQŒè¿™æ˜¯RHL7.xã€?中的默认方式。具体的˜qè¡Œæ–¹å¼ç”±å‚æ•°listen军_®šã€‚从RHL中VSFTPD的运行方式,也可以看出VSFTPD的逐步发展ã€?

      当listen参数å€égØ“YESæ—Óž¼ŒRHL9中的默认å€û|¼ŒVSFTPD单独˜qè¡ŒåQŒæˆ‘们可以ä‹É用脚æœ?etc/rc.d/init.d/vsftpd来启动、关闭以及重启VSFTPD。命令如下:
      /etc/rc.d/init.d/vsftpd start|stop|restart

      如果说在RHL9上,您还希望使用Xinetd启动VSFTPD的运行方式,那么首先要将vsftpd.conf配置文äšg中的listen参数值改为NO。其‹Æ¡ï¼Œç”Ÿæˆä¸€ä¸?etc/xinetd.d/vsftpdæ–‡äšgåQŒå†…容如下:
      service vsftpd
      {
      disable = no
      socket_type = stream
      wait = no
      user = root
      server = /usr/sbin/vsftpd
      port = 21
      log_on_success += PID HOST DURATION
      log_on_failure += HOST
      }
      通过修改disableå€égØ“no或yesåQŒåƈ重新启动xinetdåQŒä»Žè€Œå¯åŠ¨æˆ–åœæ­¢VSFTPDã€?

      ç”׃ºŽVSFTPD的单独模式已¾læ‹¥æœ‰èƒö够的能力åQŒæ‰€ä»¥åŽé?中讨论到的应用,都是以单独模式来˜qè¡Œçš„,而非Xinetd方式ã€?

      注:˜q˜å¯ä»¥ç›´æŽ¥æ‰§è¡Œvsftpd来启动FTP服务åQŒå…³é—­æ—¶ä½¿ç”¨â€œkill”命令ã€?
      [root@hpe45 root]# /usr/local/sbin/vsftpd &

    5、VSFTPD的设¾|®é€‰é¡¹

      VSFTPD的配¾|®æ–‡ä»?etc/vsftpd/vsftpd.conf是个文本文äšg。以â€?”字½W¦å¼€å§‹çš„行是注释行。每个选项讄¡½®ä¸ÞZ¸€è¡Œï¼Œæ ¼å¼ä¸ºâ€œoption=value”,注意â€?”号两边不能留空白符。除了这个主配置文äšg外,˜q˜å¯ä»¥ç»™ç‰¹å®šç”¨æˆ·è®‘Ö®šä¸ªäh配置文äšgåQŒå…·ä½“介¾lè§åŽã€?
      VSFTPD包中所带的vsftpd.confæ–‡äšg配置比较½Ž€å•,而且非常偏执狂的åQˆæ–‡æ¡£è‡ª¿U?-)åQ‰ã€‚我们可以根据实际情况对其进行一些设¾|®ï¼Œä»¥ä‹Éå¾—VSFTPD更加可用ã€?

    5.1、连接选项

      本部分主要是一些与建立FTP链接相关的选项�

    5.1.1、监听地址与控制端�

      listen_address=ip address
      此参数在VSFTPD使用单独(standalone)模式下有效。此参数定义了在ä¸ÀLœºçš„哪个IP地址上监听FTPè¯äh±‚åQŒå³åœ¨å“ªä¸ªIP地址上提供FTP服务。对于只有一个IP地址的主机,不需要ä‹É用此参数。对于多址ä¸ÀLœºåQŒä¸è®„¡½®æ­¤å‚敎ͼŒåˆ™ç›‘听所有IP地址。默认å€égؓ无ã€?

      listen_port=port_value
      指定FTP服务器监听的端口å?控制端口)åQŒé»˜è®¤å€égØ“21。此选项在standalone模式下生效ã€?

    5.1.2、FTP模式与数据端�

      FTP åˆ†äØ“ä¸¤ç±»åQŒPORT FTPå’ŒPASV FTPåQŒPORT FTP是一般åŞ式的FTP。这两种FTP在徏立控制连接时操作是一æ ïLš„åQŒéƒ½æ˜¯ç”±å®¢æˆ·ç«¯é¦–先和FTP服务器的控制端口(默认å€égØ“21)建立控制链接åQŒåƈ通过此链接进行传输操作指令。它们的区别在于使用数据传输端口(ftp-data)的方式。PORT FTPç”±FTP服务器指定数据传输所使用的端口,默认å€égØ“20。PASV FTPç”±FTP客户端决定数据传输的端口。PASV FTP˜q™ç§åšæ³•åQŒä¸»è¦æ˜¯è€ƒè™‘到存在防火墙的环境下åQŒç”±å®¢æˆ·ç«¯ä¸ŽæœåŠ¡å™¨è¿›è¡Œæ²Ÿé€?客户端向服务器发出数据传输请求中包含了数据传输端å?åQŒå†³å®šä¸¤è€…ä¹‹é—´çš„æ•°æ®ä¼ è¾“ç«¯å£æ›´äØ“æ–¹ä¾¿ä¸€äº›ã€?

      port_enable=YES|NO
      如果你要在数据连接时取消PORT模式æ—Óž¼Œè®¾æ­¤é€‰é¡¹ä¸ºNO。默认å€égØ“YESã€?

      connetc_from_port_20=YES|NO
      控制以PORT模式˜q›è¡Œæ•°æ®ä¼ è¾“时是否ä‹Éç”?0端口(ftp-data)。YES使用åQŒNO不ä‹É用。默认å€égØ“NOåQŒä½†RHL自带的vsftpd.confæ–‡äšgä¸­æ­¤å‚æ•°è®¾äØ“YESã€?

      ftp_data_port=port number
      讑֮šftp数据传输端口(ftp-data)倹{€‚默认å€égØ“20。此参数用于PORT FTP模式ã€?

      port_promiscuous=YES|NO
      默认å€égØ“NOã€‚äØ“YESæ—Óž¼Œå–消PORT安全‹‚€æŸ¥ã€‚该‹‚€æŸ¥ç¡®ä¿å¤–出的数据只能˜qžæŽ¥åˆ°å®¢æˆïL«¯ä¸Šã€‚小心打开此选项ã€?

      pasv_enable=YES|NO
      YESåQŒå…è®¸æ•°æ®ä¼ è¾“时使用PASV模式。NOåQŒä¸å…è®¸ä½¿ç”¨PASV模式。默认å€égØ“YESã€?

      pasv_min_port=port number
      pasv_max_port=port number
      讑֮šåœ¨PASV模式下,建立数据传输所可以使用port范围的下界和上界åQ? 表示ä»ÀL„ã€‚默认å€égØ“0。把端口范围讑֜¨æ¯”较高的一ŒDµèŒƒå›´å†…åQŒæ¯”å¦?0000-60000åQŒå°†æœ‰åŠ©äºŽå®‰å…¨æ€§çš„æé«˜ã€?

      pasv_promiscuous=YES|NO
      此选项‹È€‹zÀL—¶åQŒå°†å…³é—­PASV模式的安全检查。该‹‚€æŸ¥ç¡®ä¿æ•°æ®è¿žæŽ¥å’ŒæŽ§åˆ¶˜qžæŽ¥æ˜¯æ¥è‡ªåŒä¸€ä¸ªIP地址。小心打开此选项。此选项唯一合理的用法是存在于由安全隧道æ–ÒŽ¡ˆæž„成的组¾l‡ä¸­ã€‚默认å€égØ“NOã€?

      pasv_address=
      此选项ä¸ÞZ¸€ä¸ªæ•°å­—IP地址åQŒä½œä¸ºPASV命ä×o的响应。默认å€égØ“noneåQŒå³åœ°å€æ˜¯ä»Žå‘¼å…¥çš„连接套接字(incoming connectd socket)中获取ã€?

    5.1.3 ASCII模式

      默认情况下,VSFTPD是禁止ä‹É用ASCII传输模式。即使FTP客户端ä‹É用asc命ä×oåQŒæŒ‡æ˜Žè¦ä½¿ç”¨ASCII模式åQŒä½†æ˜¯ï¼ŒVSFTPD表面上接受了asc命ä×oåQŒè€Œåœ¨å®žé™…传输文äšgæ—Óž¼Œ˜q˜æ˜¯ä½¿ç”¨äºŒè¿›åˆ¶æ–¹å¼ã€‚下面选项控制VSFTPD是否使用ASCII传输模式ã€?

      ascii_upload_enable=YES|NO
      控制是否允许使用ascii模式上传文äšgåQŒYES允许åQŒNO不允许,默认为NOã€?

      ascii_download_enable=YES|NO
      控制是否允许使用ascii模式下蝲文äšgåQŒYES允许åQŒNO不允许,默认为NOã€?

    5.2、性能与负载控�

    5.2.1、超旉™€‰é¡¹

      idle_session_timeout=
      ½Iºé—²åQˆå‘呆)用户会话的超时时é—ß_¼Œè‹¥æ˜¯­‘…出˜q™æ—¶é—´æ²¡æœ‰æ•°æ®çš„传送或是指令的输入åQŒåˆ™ä¼šå¼º˜q«æ–­¾Uѝ€‚å•ä½äØ“¿U’,默认å€égØ“300ã€?

      data_connection_timeout=
      ½Iºé—²çš„æ•°æ®è¿žæŽ¥çš„­‘…æ—¶æ—‰™—´ã€‚默认å€égØ“300 ¿U’ã€?

      accept_timeout=numerical value
      接受建立联机的超时设定,单位为秒。默认å€égØ“60ã€?

      connect_timeout=numerical value
      响应PORT方式的数据联机的­‘…时讑֮šåQŒå•ä½äØ“¿U’。默认å€égØ“60。以上两个选项针对客户端的åQŒå°†ä½¿å®¢æˆïL«¯½Iºé—²1分钟后自动中断连接,òq¶åœ¨ä¸­æ–­1分钟后自动激‹z»è¿žæŽ¥ã€?

    5.2.2 负蝲控制

      max_clients=numerical value
      此参数在VSFTPD使用单独(standalone)模式下有效。此参数定义了FTP服务器最大的òq¶å‘˜qžæŽ¥æ•ŽÍ¼Œå½“è¶…˜q‡æ­¤˜qžæŽ¥æ•°æ—¶åQŒæœåŠ¡å™¨æ‹’ç»å®¢æˆ·ç«¯è¿žæŽ¥ã€‚é»˜è®¤å€égØ“0åQŒè¡¨½CÞZ¸é™æœ€å¤§è¿žæŽ¥æ•°ã€?
    î—?
      max_per_ip=numerical value
      此参数在VSFTPD使用单独(standalone)模式下有效。此参数定义每个IP地址最大的òq¶å‘˜qžæŽ¥æ•°ç›®ã€‚è¶…˜q‡è¿™ä¸ªæ•°ç›®å°†ä¼šæ‹’¾lè¿žæŽ¥ã€‚此选项的设¾|®å°†å½±å“åˆ°è±¡¾|‘é™…å¿«èžR˜q™ç±»çš„多˜q›ç¨‹ä¸‹è²è½¯äšg。默认å€égØ“0åQŒè¡¨½CÞZ¸é™åˆ¶ã€?

      anon_max_rate=value
      讑֮šåŒ¿åç”¨æˆ·çš„æœ€å¤§æ•°æ®ä¼ è¾“速度valueåQŒä»¥Bytes/s为单位。默认无ã€?

      local_max_rate=value
      讑֮šç”¨æˆ·çš„æœ€å¤§æ•°æ®ä¼ è¾“速度valueåQŒä»¥Bytes/s为单位。默认无。此选项å¯Òމ€æœ‰çš„用户都生效。此外,也可以在用户个äh配置文äšg中ä‹É用此选项åQŒä»¥æŒ‡å®šç‰¹å®šç”¨æˆ·å¯èŽ·å¾—çš„æœ€å¤§æ•°æ®ä¼ è¾“é€ŸçŽ‡ã€?
      步骤如下åQ?
      ①在vsftpd.conf中指定用户个人配¾|®æ–‡ä»¶æ‰€åœ¨çš„目录åQŒå¦‚åQ?
      user_config_dir=/etc/vsftpd/userconf
      ②生�etc/vsftpd/userconf目录�
      ③用户个人配¾|®æ–‡ä»¶æ˜¯åœ¨è¯¥ç›®å½•下,与特定用户同名的文äšgåQŒå¦‚åQ?
      /etc/vsftpd/userconf/xiaowang
      ④在用户的个人配¾|®æ–‡ä»¶ä¸­è®„¡½®local_max_rate参数åQŒå¦‚åQ?
      local_max_rate=80000
      以上步骤讑֮šFTP用户xiaowang的最大数据传输速度ä¸?0KBytes/sã€?

      VSFTPD 对于速度控制的变化范围大概在80%åˆ?20%之间。比如我们限制最高速度ä¸?00KBytes/såQ?但实际的速度可能åœ?0KBytes/s åˆ?20KBytes/s 之间。当ç„Óž¼Œè‹¥æ˜¯¾U¿èµ\带宽不èƒöæ—Óž¼Œé€ŸçŽ‡è‡ªç„¶ä¼šä½ŽäºŽæ­¤é™åˆ¶ã€?

    5.3 用户选项

      VSFTPD的用户分ä¸ÞZ¸‰¾c»ï¼šåŒ¿åç”¨æˆ·ã€æœ¬åœ°ç”¨æˆøP¼ˆlocal useråQ‰ä»¥åŠè™šæ‹Ÿç”¨æˆøP¼ˆgueståQ‰ã€?

    5.3.1、匿名用�

      anonymous_enable=YES|NO
      控制是否允许匿名用户ç™Õd½•åQŒYES允许åQŒNO不允许,默认å€égØ“YESã€?

      ftp_username=
      匿名用户所使用的系¾lŸç”¨æˆ·åã€‚默认下åQŒæ­¤å‚数在配¾|®æ–‡ä»¶ä¸­ä¸å‡ºçŽŽÍ¼Œå€égØ“ftpã€?

      no_anon_password=YES|NO
      控制匿名用户ç™Õd…¥æ—¶æ˜¯å¦éœ€è¦å¯†ç ï¼ŒYES不需要,NO需要。默认å€égØ“NOã€?
      
      deny_email_enable=YES|NO
      此参数默认å€égØ“NO。当å€égØ“YESæ—Óž¼Œæ‹’绝使用banned_email_file参数指定文äšg中所列出的e-mail地址˜q›è¡Œç™Õd½•的匿名用戗÷€‚即åQŒå½“匿名用户使用banned_email_fileæ–‡äšg中所列出的e-mail˜q›è¡Œç™Õd½•æ—Óž¼Œè¢«æ‹’¾lã€‚显ç„Óž¼Œ˜q™å¯¹äºŽé˜»å‡ÀLŸäº›Dosæ”Õd‡»æœ‰æ•ˆã€‚当此参数生效时åQŒéœ€˜q½åŠ banned_email_file参数

      banned_email_file=/etc/vsftpd.banned_emails
      指定包含被拒¾lçš„e-mail地址的文ä»Óž¼Œé»˜è®¤æ–‡äšgä¸?etc/vsftpd.banned_emailsã€?

      anon_root=
      讑֮šåŒ¿åç”¨æˆ·çš„æ ¹ç›®å½•åQŒå³åŒ¿åç”¨æˆ·ç™Õd…¥åŽï¼Œè¢«å®šä½åˆ°æ­¤ç›®å½•下。主配置文äšg中默认无此项åQŒé»˜è®¤å€égØ“/var/ftp/ã€?

      anon_world_readable_only=YES|NO
      控制是否只允许匿名用户下载可阅读文档。YESåQŒåªå…è®¸åŒ¿åç”¨æˆ·ä¸‹è²å¯é˜…è¯Èš„æ–‡äšg。NOåQŒå…è®¸åŒ¿åç”¨æˆähµè§ˆæ•´ä¸ªæœåŠ¡å™¨çš„æ–‡ä»¶ç³»¾lŸã€‚默认å€égØ“YESã€?

      anon_upload_enable=YES|NO
      控制是否允许匿名用户上传文äšgåQŒYES允许åQŒNO不允许,默认是不讑րû|¼Œå³äØ“NO。除了这个参数外åQŒåŒ¿åç”¨æˆ¯‚¦èƒ½ä¸Šä¼ æ–‡ä»Óž¼Œ˜q˜éœ€è¦ä¸¤ä¸ªæ¡ä»Óž¼šä¸€åQŒwrite_enable参数为YES;二,在文件系¾lŸä¸ŠåQŒFTP匿名用户å¯ÒŽŸä¸ªç›®å½•有写权限ã€?

      anon_mkdir_write_enable=YES|NO
      控制是否允许匿名用户创徏新目录,YES允许åQŒNO不允许,默认是不讑րû|¼Œå³äØ“NO。当然在文äšg¾pȝ»Ÿä¸Šï¼ŒFTP匿名用户必需å¯ÒŽ–°ç›®å½•的上层目录拥有写权限ã€?

      anon_other_write_enable=YES|NO
      控制匿名用户是否拥有除了上传和新建目录之外的其他权限åQŒå¦‚删除、更名等。YES拥有åQŒNO不拥有,默认å€égØ“NOã€?

      chown_uploads=YES|NO
      是否修改匿名用户所上传文äšg的所有权。YESåQŒåŒ¿åç”¨æˆäh‰€ä¸Šä¼ çš„æ–‡ä»¶çš„æ‰€æœ‰æƒž®†æ”¹ä¸ºå¦å¤–一个不同的用户所有,用户由chown_username参数指定。此选项默认å€égØ“NOã€?

      chown_username=whoever
      指定拥有匿名用户上传文äšg所有权的用戗÷€‚此参数与chown_uploads联用。不推荐使用root用户ã€?

    5.3.2、本地用�

      在ä‹É用FTP服务的用户中åQŒé™¤äº†åŒ¿åç”¨æˆ·å¤–åQŒè¿˜æœ‰ä¸€¾cÕdœ¨FTP服务器所属主æœÞZ¸Šæ‹¥æœ‰è´¦å·çš„用戗÷€‚VSFTPDä¸­ç§°æ­¤ç±»ç”¨æˆ·ä¸ºæœ¬åœ°ç”¨æˆøP¼ˆlocal usersåQ‰ï¼Œ½{‰åŒäºŽå…¶ä»–FTP服务器中的real用户ã€?

      local_enable=YES|NO
      控制vsftpd所在的¾pȝ»Ÿçš„用æˆäh˜¯å¦å¯ä»¥ç™»å½•vsftpd。默认å€égØ“YESã€?

      local_root=
      定义所有本地用æˆïLš„æ ¹ç›®å½•。当本地用户ç™Õd…¥æ—Óž¼Œž®†è¢«æ›´æ¢åˆ°æ­¤ç›®å½•下。默认å€égؓ无ã€?

      user_config_dir=
      定义用户个äh配置文äšg所在的目录。用æˆïLš„个äh配置文äšg䏸™¯¥ç›®å½•下的同名文äšg。个人配¾|®æ–‡ä»¶çš„æ ¼å¼ä¸Žvsftpd.conf格式相同。例如定ä¹?user_config_dir=/etc/vsftpd/userconfåQŒåƈ且主æœÞZ¸Šæœ‰ç”¨æˆ·xiaowang,lisiåQŒé‚£æˆ‘们可以åœ?user_config_dir的目录新增名为xiaowang、lisi的两个文件。当用户lisi ç™Õd…¥æ—Óž¼ŒVSFTPD则会è¯Õd–user_config_dir下lisi˜q™ä¸ªæ–‡äšg中的讑֮šå€û|¼Œåº”用于用户lisi。默认å€égؓ无ã€?

    5.3.3、虚拟用�

      guest_enable=YES|NO
      若是启动˜q™é¡¹åŠŸèƒ½åQŒæ‰€æœ‰çš„éžåŒ¿åç™»å…¥è€…éƒ½è§†äØ“guest。默认å€égؓ关闭ã€?

      guest_username=
      定义VSFTPDçš„guest用户在系¾lŸä¸­çš„用户名。默认å€égØ“ftpã€?

    5.4、安全措�

    5.4.1、用æˆïL™»å½•控åˆ?

      pam_service_name=vsftpd
      指出VSFTPD˜q›è¡ŒPAM认证时所使用的PAM配置文äšg名,默认值是vsftpdåQŒé»˜è®¤PAM配置文äšgæ˜?etc/pam.d/vsftpdã€?

      /etc/vsftpd.ftpusers
      VSFTPD¼›æ­¢åˆ—在此文件中的用æˆïL™»å½•FTP服务器。这个机制是åœ?etc/pam.d/vsftpd中默认设¾|®çš„ã€?

      userlist_enable=YES|NO
      此选项被激‹zÕdŽåQŒVSFTPDž®†è¯»å–userlist_file参数所指定的文件中的用户列表。当列表中的用户ç™Õd½•FTP服务器时åQŒè¯¥ç”¨æˆ·åœ¨æ½Cø™¾“入密码之前就被禁止了。即该用户名输入后,VSFTPD查到该用户名在列表,VSFTPDž®Þq›´æŽ¥ç¦æ­¢æŽ‰è¯¥ç”¨æˆøP¼Œä¸ä¼šå†è¿›è¡Œè¯¢é—®å¯†ç ç­‰åŽç®‹æ­¥èšã€‚默认å€égØ“NOã€?

      userlist_file=/etc/vsftpd.user_list
      指出userlist_enable选项生效后,被读取的包含用户列表的文件。默认值是/etc/vsftpd.user_list�

      userlist_deny=YES|NO
      军_®š¼›æ­¢˜q˜æ˜¯åªå…è®¸ç”±userlist_file指定文äšg中的用户ç™Õd½•FTP服务器。此选项在userlist_enable 选项启动后才生效。YESåQŒé»˜è®¤å€û|¼Œ¼›æ­¢æ–‡äšg中的用户ç™Õd½•åQŒåŒæ—¶ä¹Ÿä¸å‘˜q™äº›ç”¨æˆ·å‘出输入口ä×o的提½Cºã€‚NOåQŒåªå…è®¸åœ¨æ–‡ä»¶ä¸­çš„用æˆïL™»å½•FTP服务器ã€?
      
      tcp_wrappers=YES|NO
      在VSFTPD中ä‹É用TCP_Wrappers˜qœç¨‹è®‰K—®æŽ§åˆ¶æœºåˆ¶åQŒé»˜è®¤å€égØ“YESã€?

    5.4.2、目录访问控�

      chroot_list_enable=YES|NO
      锁定某些用户在自家目录中。即当这些用æˆïL™»å½•后åQŒä¸å¯ä»¥è½¬åˆ°¾pȝ»Ÿçš„其他目录,只能在自家目å½?及其子目å½?下。具体的用户在chroot_list_file参数所指定的文件中列出。默认å€égØ“NOã€?

      chroot_list_file=/etc/vsftpd/chroot_list
    ã€€ã€€æŒ‡å‡ºè¢«é”å®šåœ¨è‡ªå®¶ç›®å½•ä¸­çš„ç”¨æˆ·çš„åˆ—è¡¨æ–‡ä»¶ã€‚æ–‡ä»¶æ ¼å¼äØ“ä¸€è¡Œä¸€ç”¨æˆ·ã€‚é€šå¸¸è¯¥æ–‡ä»¶æ˜¯/etc/vsftpd/chroot_list。此选项默认不设¾|®ã€?

      chroot_local_users=YES|NO
      ž®†æœ¬åœ°ç”¨æˆ·é”å®šåœ¨è‡ªå®¶ç›®å½•中。当此项被激‹zÀL—¶åQŒchroot_list_enableå’Œchroot_local_users参数的作用将发生变化åQŒchroot_list_file所指定文äšg中的用户ž®†ä¸è¢«é”å®šåœ¨è‡ªå®¶ç›®å½•。本参数被激‹zÕdŽåQŒå¯èƒ½å¸¦æ¥å®‰å…¨ä¸Šçš„冲½Hï¼Œç‰¹åˆ«æ˜¯å½“用户拥有上传ã€?shell讉K—®½{‰æƒé™æ—¶ã€‚因此,只有在确实了解的情况下,才可以打开此参数。默认å€égØ“NOã€?

      passwd_chroot_enable
      当此选项‹È€‹zÀL—¶åQŒä¸Žchroot_local_user选项配合åQŒchroot()容器的位¾|®å¯ä»¥åœ¨æ¯ä¸ªç”¨æˆ·çš„基¼‹€ä¸ŠæŒ‡å®šã€‚每个用æˆïLš„容器来源äº?etc/passwd中每个用æˆïLš„自家目录字段。默认å€égØ“NOã€?

    5.4.3、文件操作控�

      hide_ids=YES|NO
      是否隐藏文äšg的所有者和¾l„信息。YESåQŒå½“用户使用"ls -al"之类的指令时åQŒåœ¨ç›®å½•列表中所有文件的拥有者和¾l„信息都昄¡¤ºä¸ºftp。默认å€égØ“NOã€?

      ls_recurse_enable=YES|NO
      YESåQŒå…è®æ€‹Éç”?ls -R" 指ä×oã€‚è¿™ä¸ªé€‰é¡¹æœ‰ä¸€ä¸ªå°çš„å®‰å…¨é£Žé™©ï¼Œå› äØ“åœ¨ä¸€ä¸ªå¤§åž‹FTP站点的根目录下ä‹Éç”?ls -R"会消耗大量系¾lŸèµ„源。默认å€égØ“NOã€?

      write_enable=YES|NO
      控制是否允许使用ä»ÖM½•可以修改文äšg¾pȝ»Ÿçš„FTP 的指令,比如STOR、DELE、RNFR、RNTO、MKD、RMD、APPE 以及SITE。默认å€égØ“NOåQŒä¸˜q‡è‡ªå¸¦çš„½Ž€å•配¾|®æ–‡ä»¶ä¸­æ‰“开了该选项ã€?

      secure_chroot_dir=
      ˜q™é€‰é¡¹æŒ‡å‘一个空目录åQŒåƈ且ftp用户å¯ÒŽ­¤ç›®å½•无写权限。当vsftpd不需要访问文件系¾lŸæ—¶åQŒè¿™ä¸ªç›®å½•将被作ä¸ÞZ¸€ä¸ªå®‰å…¨çš„容器åQŒç”¨æˆ·å°†è¢«é™åˆ¶åœ¨æ­¤ç›®å½•ä¸­ã€‚é»˜è®¤ç›®å½•äØ“/usr/share/emptyã€?

    5.4.4、新增文件权限设�

      anon_umask=
      匿名用户新增文äšgçš„umask 数倹{€‚默认å€égØ“077ã€?

      file_open_mode=
      上传档案的权限,与chmod 所使用的数值相同。如果希望上传的文äšg可以执行åQŒè®¾æ­¤å€égØ“0777。默认å€égØ“0666ã€?

      local_umask=
      本地用户新增档案时的umask 数倹{€‚默认å€égØ“077。不˜q‡ï¼Œå…¶ä»–大多数的FTP服务器都是ä‹Éç”?22。如果您的用户希望的话,可以修改ä¸?22。在自带的配¾|®æ–‡ä»¶ä¸­æ­¤é¡¹ž®Þp®¾ä¸ÞZº†022ã€?

    5.5、提½CÞZ¿¡æ?

      ftpd_banner=login banner string
      此参数定义了login banner stringåQˆç™»å½•欢˜qŽè¯­å­—符ä¸ÔŒ¼‰ã€‚用户可以自行修攏V€‚预讑րégؓ无。当ftpd_banner讄¡½®åŽï¼Œž®†å–代系¾lŸåŽŸæ¥çš„‹Æ¢è¿Žè¯ã€?

      banner_file=/directory/vsftpd_banner_file
      此项指定一个文本文ä»Óž¼Œå½“ä‹É用者登入时åQŒä¼šæ˜„¡¤ºæ­¤è¯¥æ–‡äšg的内容,通常为欢˜qŽè¯è¯­æˆ–是说明。默认å€égؓ无。与ftpd_banner相比åQ?banner_file是文本文件的形式åQŒè€Œftpd_banner是字串格式。banner_file选项ž®†å–代ftpd_banner选项ã€?

      dirmessage_enable=YES|MO
      控制是否启用目录提示信息功能。YES启用åQŒNO不启用,默认å€égØ“YES。此功能启用后,当用戯‚¿›å…¥æŸä¸€ä¸ªç›®å½•æ—¶åQŒä¼š‹‚€æŸ¥è¯¥ç›®å½•下是否有message_file选项所指定的文档,若是有,则会出现此文档的内容åQŒé€šå¸¸˜q™ä¸ªæ¡£æ¡ˆä¼šæ”¾¾|®æ¬¢˜qŽè¯è¯­ï¼Œæˆ–是对该目录的说明ã€?

      message_file=
      此选项åQŒä»…在dirmessage_enable选项‹È€‹zÀL–¹ç”Ÿæ•ˆã€‚默认å€égØ“.messageã€?

    5.6、日志设¾|?

      xferlog_enable=YES|NO
      控制是否启用一个日志文ä»Óž¼Œç”¨äºŽè¯¦ç»†è®°å½•上传和下载。该日志文äšgç”±xferlog_file选项指定。默认å€égØ“NOåQŒä½†½Ž€å•配¾|®æ–‡ä»¶ä¸­‹È€‹zÀL­¤é€‰é¡¹ã€?

      xferlog_file=
      ˜q™ä¸ªé€‰é¡¹è®‘Ö®šè®°å½•传输日志的文件名。默认å€égØ“/var/log/vsftpd.logã€?

      xferlog_std_format=YES|NO
      控制日志文äšg是否使用xferlog的标准格式,如同wu-ftpd一栗÷€‚ä‹É用xferlog格式åQŒå¯ä»¥é‡æ–îC‹É用已¾lå­˜åœ¨çš„传输¾lŸè®¡ç”Ÿæˆå™¨ã€‚然而,默认的日志格式更为可è¯ÀL€§ã€‚默认å€égØ“NOåQŒä½†è‡ªå¸¦çš„配¾|®æ–‡ä»¶ä¸­‹È€‹zÖMº†æ­¤é€‰é¡¹ã€?

      log_ftp_protocol=YES|NO
      当此选项‹È€‹zÕdŽåQŒæ‰€æœ‰çš„FTPè¯äh±‚和响应都被记录到日志中。提供此选项æ—Óž¼Œxferlog_std_format不能被激‹z…R€‚这个选项有助于调试。默认å€égØ“NOã€?

    5.7、其他设¾|?

      setproctitle_enable=YES|NO
      YESåQŒVSFTPDž®†åœ¨¾pȝ»Ÿ˜q›ç¨‹åˆ—表中显½Cºæ¯ä¸ªä¼šè¯?session)的状态。也ž®±æ˜¯è¯ß_¼Œ˜q›ç¨‹æŠ¥å‘Šž®†æ˜¾½Cºæ¯ä¸ªvsftpd会话在做什ä¹?挂è“v、下载等)åQŒå¦‚用ps -ef|grep ftp。出于安全的目的åQŒå¯ä»¥è€ƒè™‘ž®†æ­¤é€‰é¡¹å…³é—­ã€‚NOåQŒè¿›½E‹æŠ¥å‘Šåªæ˜„¡¤ºä¸€ä¸ªvsftpd˜q›ç¨‹åœ¨è¿è¡Œã€‚默认å€égØ“NOã€?

      text_userdb_names=YES|No
      当ä‹É用者登入后使用ls -al 之类指ä×oæ—Óž¼Œç›®å½•列表的用户和¾l„信息域åQŒé»˜è®¤æ˜¯å‡ºçŽ°æ‹¥æœ‰è€…çš„UIDåQŒè€Œä¸æ˜¯è¯¥æ¡£æ¡ˆæ‹¥æœ‰è€…的名称。若是希望出现拥有者的名称åQŒåˆ™ž®†æ­¤åŠŸèƒ½å¼€å¯ã€‚é»˜è®¤å€égØ“NOã€?

      user_localtime=YES|NO
      默认为NO。YESåQŒVSFTPD昄¡¤ºç›®å½•列表时ä‹É用你本地时区的时间。默认是昄¡¤ºGMTæ—‰™—´ã€‚åŒæ øP¼Œç”±ftp命ä×o“MDTM”返回的旉™—´å€ég¹Ÿå—此选项影响ã€?

      check_shell=YES|NO
      此选项仅对不ä‹É用PAM方式的VSFTPD生效。当此选项关闭后,当本地用æˆïL™»å½•æ—¶åQŒVSFTPD不会‹‚€æŸ?etc/shellsæ–‡äšg以寻找一个有效的用户shellã€‚é»˜è®¤äØ“YESã€?

      nopriv_user=
    ã€€ã€€æŒ‡å®šä¸€ä¸ªç”¨æˆøP¼Œå½“VSFTPD不想要什么权限时åQŒä‹É用此用户íw«ä†¾ã€‚这用户最好是一个专用的用户åQŒè€Œä¸æ˜¯ç”¨æˆ·nobody。在大多数的机器上,nobody用户被用于大量重要的事情。默认å€égØ“nobodyã€?

      pam_service_name=
      指明VSFTPD使用用PAM验证服务时的PAM配置文äšg名。默认å€égØ“ftpã€?

    6、VSFTPD应用

      本部分介¾lVSFTPD的具体应用方法ã€?

    6.1、允许匿名用户上传文�

      在vsftpd.confæ–‡äšg中修æ”ÒŽˆ–增加以下选项åQ?
      write_enable=YES
      anon_world_readable_only=NO
      anon_upload_enable=YES
      anon_mkdir_write_enable=YES

      然后创徏供匿名用户上传文件的目录åQŒåÆˆè®‘Ö®šæƒé™åQ?
      # mkdir /var/ftp/incoming
      # chmod o+w /var/ftp/incoming
      ç”׃ºŽåŒ¿åç”¨æˆ·åQˆftpåQ‰ä¸Šä¼ æ–‡ä»Óž¼Œéœ€è¦å¯¹incoming目录˜q›è¡Œæ“ä½œåQŒè€Œincoming为root所有,匿名用户åQˆftpåQ‰å¯¹äºŽincomingæ¥è¯´æ˜¯å…¶ä»–ç”¨æˆøP¼Œæ‰€ä»¥è¦åŠ å…¥å…¶ä»–ç”¨æˆ·åQˆoåQ‰çš„写权限ã€?

    6.2、限制用户在自家目录

      在默认配¾|®ä¸­åQŒæœ¬åœ°ç”¨æˆ·å¯ä»¥åˆ‡æ¢åˆ°è‡ªå®¶ç›®å½•以外的目录进行浏览,òq¶åœ¨æƒé™èŒƒå›´å†…进行上传和下蝲åQŒè¿™æ— ç–‘是个不安全因素ã€?
      我们可以讄¡½®chrootåQŒè®©æœ¬åœ°ç”¨æˆ·ç™Õd½•后只能访问自家目录,无法讉K—®å…¶ä»–目录。相关的选项有三个:chroot_local_user、chroot_list_enable、chroot_list_file。限制用户在自家目录有两¿Uåšæ³•:
      1、限制所有的本地用户在自家目�
      chroot_local_user=YES
      ˜q™ç§åšæ³•åQŒå¯èƒ½ä¼šå¸¦æ¥ä¸€äº›å®‰å…¨æ€§ä¸Šçš„冲½Hã€‚参见前面的chroot_local_user选项描述ã€?
      2、限刉™ƒ¨åˆ†æœ¬åœ°ç”¨æˆ·åœ¨è‡ªå®¶ç›®å½•
      chroot_local_user=NO
      chroot_list_enable=YES
      chroot_list_file=/etc/vsftpd.chroot_list
      åœ?etc/vsftpd.chroot_listæ–‡äšg中加入要限制的本地用户名。注意一个用户名一行ã€?

    6.3、配¾|®é«˜å®‰å…¨¾U§åˆ«çš„匿名FTP服务å™?

      VSFTPD自带的简单配¾|®æ–‡ä»¶å·²¾lè‡ª¿U°æ˜¯åæ‰§ç‹‚了åQŒè¿™é‡Œçœ‹çœ‹èƒ½å¦æ›´åŠ åæ‰§ä¸€äº›ï¼Œã€‚æœ‰äº›é€‰é¡¹é»˜è®¤å·²ç»é‡‡ç”¨å®‰å…¨æ€§çš„è®„¡½®åQŒè¿™é‡Œå°±ä¸å†å†™å‡ºäº†ã€?

      #只允许匿名访问,不允许本地用戯‚®¿é—?
      anonymous_enable=YES
      local_enable=NO

      #使用ftpd_banner取代VSFTPD默认的欢˜qŽè¯åQŒå…å¾—泄漏相关信æ?
      ftpd_banner=Welcome to this FTP Server
      #只让匿名用户‹¹è§ˆå¯é˜…è¯Èš„æ–‡äšgåQŒä¸å¯ä»¥‹¹è§ˆæ•´ä¸ª¾pȝ»Ÿ
      anon_world_readable_only=YES
      #隐藏文äšg的所有者和¾l„信息,匿名用户看到的文件的所有者和¾l„å…¨å˜äØ“ftp
      hide_ids=YES

      #取消写权�
      write_enable=NO
      anon_upload_enable=NO
      anon_mkdir_write_enable=NO
      anon_other_write_enable=NO

      #使用单独模式åQŒåƈ指定监听的IP地址
      listen_address=ip address
      #对连接进行控åˆÓž¼Œ˜q˜æœ‰­‘…æ—¶æ—‰™—´åQŒé‚£ž®±æ ¹æ®å…·ä½“情况再说了ã€?
      connect_from_port_20=YES
      pasv_min_port=50000
      pasv_max_port=60000
      #控制òq¶å‘敎ͼŒé™å®šæ¯ä¸ªIPåœ°å€çš„åÆˆå‘æ•°åQŒè¿™ä¸ªå˜›åQŒæ ¹æ®ç”¨æˆ¯‚‡ªå·²å®šäº†ã€?
      max_clients=numerical value
      max_per_ip=numerical value
      #限定下蝲速度åQŒå…·ä½“限多大åQŒå°±ç”Þq”¨æˆ¯‚‡ªå·±å®šäº†ï¼Œ80KB/såQŒä¹Ÿå¾ˆå¿«äº†å§ã€?
      anon_max_rate=80000

      #启用详细的日志记录格�
      xferlog_enable=YES

    6.4、基于IP地址的虚拟FTP服务�

      假定服务器有两个IP地址åQ?92.168.0.1å’?92.168.0.2。VSFTPD是徏立在192.168.0.1上的åQŒçŽ°åœ¨æˆ‘ä»¬åœ¨192.168.0.2上再提供一个虚拟FTP服务器。如何在一台服务器上ä‹É用多个IP 地址åQŒè¯·å‚考相å…Ïx–‡æ¡£ã€?

      1ã€åˆ›å»ø™™šæ‹ŸFTP服务器的根目录ã€?
      mkdir -p /var/ftp2/pub
      ¼‹®ä¿/var/ftp2å’?var/ftp2/pub目录的拥有者和¾l„均为rootåQŒæŽ©ç äØ“755ã€?

      2、增加虚拟FTP服务器的匿名用户帐号。原先的FTP服务器ä‹É用系¾lŸç”¨æˆ·ftpä½œäØ“å…¶åŒ¿åç”¨æˆ·å¸å—÷€‚我们要增加一个ftp2用于虚拟FTP服务器ã€?
      useradd -d /var/ftp2 -M ftp2

      3ã€åˆ›å»ø™™šæ‹ŸFTP服务器的配置文äšg。复制原来的vsftpd.confä½œäØ“è™šæ‹ŸFTP服务器的配置文äšgåQŒåƈ修改相关参数ã€?
      cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd2.conf
      新添或修改以下参敎ͼš
      listen=YES
      listen_address=192.168.0.2
      ftp_username=ftp2

      注:ç”׃ºŽVSFTPD默认是监听所有的IP地址åQŒå½“我们讑֮šåŸÞZºŽIP的虚拟FTP服务器时åQŒäؓ防止原来的FTP服务器与虚拟FTP服务器发生监听上的冲½Hï¼ŒåŽŸFTP服务器需要指定监听的IP地址。在˜q™é‡ŒåQŒåŽŸæ¥çš„é…ç½®æ–‡äšg中就要设¾|®listen_address=192.168.0.1ã€?

      4、启动虚拟FTP服务器�

      /etc/rc.d/init.d/vsftpd脚本在启动时åQŒæ‰«æ?etc/vsftpd/目录下所有的*.confæ–‡äšgåQŒæŒ‰ç…?*.confæ–‡äšg的先后,依次启用vsftpd˜q›ç¨‹åQŒæ¯ä¸ªvsftpd˜q›ç¨‹å¯¹åº”一ä¸?confæ–‡äšg。即åQŒâ€œls /etc/vsftpd/”列表的‹Æ¡åºä¸Žâ€œps -aux |grep vsftpd”中的顺序一栗÷€‚当然了åQŒâ€œps -aux | grep vsftpd”中也显½Cºå‡ºvsftpd所使用的配¾|®æ–‡ä»Óž¼Œä»Žä¸­ä¹Ÿå¯ä»¥çœ‹å“ªä¸ªvsftpd˜q›ç¨‹å¯¹åº”哪个FTP服务器。如果没有列出配¾|®æ–‡ä»Óž¼Œé‚£å°±æ˜¯é»˜è®¤çš„ vsftpd.confåQŒé‚£ä¹ˆè¯¥˜q›ç¨‹ä¹Ÿå°±æ˜¯åŽŸæ¥çš„FTP服务器进½E‹ã€?
      ç”׃ºŽ½W?步中虚拟FTP服务器的配置文äšgè¢«å‘½åäØ“vsftpd2.confæ–‡äšgåQŒæ‰€ä»¥æˆ‘们可以用/etc/rc.d/init.d/vsftpd脚本同时启动或关闭原FTP服务器和新加的虚拟FTP服务器ã€?
      以下命ä×o单独启动虚拟FTP服务器:
      /usr/sbin/vsftpd /etc/vsftpd/vsftpd2.conf &
      单独关闭虚拟FTP服务器,用“ps -aux | grep vsftpdâ€æŸ¥å‡ø™¿›½E‹å·åQŒå†ç”¨kill指ä×o杀死虚拟FTP的进½E‹ã€?

    6.5、虚拟用æˆïLš„配置

    6.5.1、VSFTPD的虚拟用户介¾l?

      VSFTPD的本地用æˆähœ¬íw«æ˜¯¾pȝ»Ÿçš„ç”¨æˆøP¼Œé™¤äº†å¯ä»¥ç™Õd½•FTP服务器外åQŒè¿˜å¯ä»¥ç™Õd½•¾pȝ»Ÿä½¿ç”¨å…¶ä»–¾pȝ»Ÿèµ„源åQŒè€ŒVSFTPD的虚拟用户则æ˜?FTPæœåŠ¡çš„ä¸“ç”¨ç”¨æˆøP¼Œè™šæ‹Ÿç”¨æˆ·åªèƒ½è®‰K—®FTP服务器资源。对于只需要通过FTP对系¾lŸæœ‰è¯Õd†™æƒé™åQŒè€Œä¸éœ€è¦å…¶ä»–ç³»¾lŸèµ„源的用户或情冉|¥è¯ß_¼Œé‡‡ç”¨è™šæ‹Ÿç”¨æˆ·æ–¹å¼æ˜¯å¾ˆé€‚合的ã€?
      VSFTPD的虚拟用户采用单独的用户å?口ä×o保存方式åQŒä¸Ž¾pȝ»Ÿè´¦å·åQˆpasswd/shadowåQ‰åˆ†¼›»ï¼Œ˜q™å¤§å¤§å¢žå¼ÞZº†¾pȝ»Ÿçš„安全性ã€?VSFTPD可以采用数据库文件来保存用户/口ä×oåQŒå¦‚hash;也可以将用户/口ä×o保存在数据库服务器中åQŒå¦‚MySQL½{‰ã€‚VSFTPD验证虚拟用户åQŒåˆ™é‡‡ç”¨PAM方式。由于虚拟用æˆïLš„用户å?口ä×o被单独保存,因此在验证时åQŒVSFTPD需要用一个系¾lŸç”¨æˆïLš„íw«ä†¾æ¥è¯»å–数据库文äšg或数据库服务器以完成验证åQŒè¿™ž®±æ˜¯guest用户åQŒè¿™æ­£å¦‚同匿名用户也需要有一个系¾lŸç”¨æˆ·ftp一栗÷€‚当ç„Óž¼Œguestç”¨æˆ·ä¹Ÿå¯ä»¥è¢«è®¤äØ“æ˜¯ç”¨äºŽæ˜ ž®„虚拟用戗÷€?
    ã€€ã€€é…ç½®è™šæ‹Ÿç”¨æˆ·åˆ†äØ“å‡ éƒ¨åˆ†ï¼šguest用户的创建、用æˆ?口ä×o的保存、PAM认证配置、vsftpd.confæ–‡äšg讄¡½®½{‰ã€‚具体的配置æ–ÒŽ³•åQŒå‚考下面小节。注åQšåœ¨åŽé¢çš„例子中åQŒå‡å®šå­˜åœ¨è™šæ‹Ÿç”¨æˆ·xiaotongå’Œxiaowangã€?

    6.5.2 用户创徏和目录设¾|?

      在系¾lŸä¸­æ·ÕdŠ vsftpdguest用户åQŒä½œä¸ø™™šæ‹Ÿç”¨æˆ·åœ¨¾pȝ»Ÿä¸­çš„代表ã€?

      useradd vsftpdguest

      当虚拟用æˆïL™»å½•后åQŒæ‰€åœ¨çš„位置为vsftpdguest的自家目å½?home/vsftpdguest。如果要让虚拟用æˆïL™»å½•到/var/ftp½{‰å…¶ä»–目录,修改vsftpdguest的自家目录即可ã€?

    6.5.3、配¾|®æ–‡ä»¶çš„讄¡½®

    6.5.3.1、基本设¾|®ã€?

      在vsftpd.conf配置文äšg中,加入以下参数åQ?
      guest_enable=YES
      guest_username=vsftpdguest

    6.5.3.2、虚拟用æˆïLš„æƒé™é…ç½®ã€?

      VSFTPD-1.2.0æ·ÕdŠ äº†virtual_use_local_privs参数åQŒå½“该参数激‹z»ï¼ˆYESåQ‰æ—¶åQŒè™šæ‹Ÿç”¨æˆ·ä‹É用与本地用户相同的权限。当此参数关闭(NOåQ‰æ—¶åQŒè™šæ‹Ÿç”¨æˆ·ä‹É用与匿名用户相同的权限,˜q™ä¹Ÿž®±æ˜¯VSFTPD-1.2.0之前版本对虚拟用æˆähƒé™çš„处理æ–ÒŽ³•。这两者种做法相比åQŒåŽè€…更加严æ ég¸€äº›ï¼Œç‰¹åˆ«æ˜¯åœ¨æœ‰å†™è®‰K—®çš„æƒ…形下。默认情况下此参数是关闭的(NOåQ‰ã€?
      下面先介¾lvirtual_use_local_privs=NOæ—Óž¼Œå³VSFTPD-1.2.0之前版本对虚拟用æˆähƒé™çš„配置æ–ÒŽ³•åQ?

      ①控制虚拟用æˆähµè§ˆç›®å½?
      如果让用户不能浏览目录,但仍可以å¯ÒŽ–‡ä»¶æ“ä½œï¼Œé‚£ä¹ˆéœ€è¦æ‰§è¡Œä»¥ä¸‹äºŒä¸ªæ­¥éª¤ï¼šä¸€åQŒé…¾|®æ–‡ä»¶ä¸­åQŒanon_world_readable_only=YES。二åQŒè™šæ‹Ÿç”¨æˆïL›®å½•çš„æƒé™æ”¹äØ“åªèƒ½ç”±vsftpdguest操作åQ?
      [root@hpe45 vsftpd]# chown vsftpdguest.vsftpdguest /home/vsftpdguest
      [root@hpe45 vsftpd]# chmod 700 /home/vsftpdguest
      ②允许虚拟用户上传文�
      write_enable=YES
      anon_upload_enable=YES
      ③允许虚拟用户修æ”ÒŽ–‡ä»¶åå’Œåˆ é™¤æ–‡ä»?
      anon_other_write_enable=YES
      ç”׃ºŽä»¥ä¸Šé€‰é¡¹çš„设¾|®åŒæ ·ä¼šå¯¹åŒ¿åç”¨æˆïL”Ÿæ•ˆã€‚如果不惛_Œ¿åç”¨æˆ¯‚¶æœºæ‹¥æœ‰åŒæ ïLš„æƒé™åQŒæœ€å¥½æ˜¯¼›æ­¢åŒ¿åç”¨æˆ·ç™Õd½•ã€?

      在VSFTPD-1.2.0中当virtual_use_local_privs=YESæ—Óž¼Œåªéœ€write_enable=YESåQŒè™šæ‹Ÿç”¨æˆ·å°±å¯ä»¥ž®±æ‹¥æœ‰å†™æƒé™ã€?

    6.5.3.3、虚拟用æˆïLš„其他配置

      ①限定虚拟用户在自家目录�

      chroot_local_user=NO
      chroot_list_enable=YES
      chroot_list_file=/etc/vsftpd.chroot_list
      åœ?etc/vsftpd.chroot_listæ–‡äšg中加入xiaotongå’Œxiaowangã€?
      或者,chroot_local_user=YES

      ②虚拟用æˆïLš„个äh配置ã€?

      如果惌™®©ä¸ªåˆ«çš„虚拟用æˆäh‹¥æœ‰è‡ªå·Þq‰¹åˆ«çš„配置åQŒåŒæ ·å¯ä»¥å¾ç«‹è™šæ‹Ÿç”¨æˆïLš„个äh配置文äšg。在主配¾|®æ–‡ä»¶ä¸­åŠ å…¥åQ?
      user_config_dir=/etc/vsftpd/vsftpd_user_conf
      生成/etc/vsftpd/vsftpd_user_conf目录åQŒåœ¨è¯¥ç›®å½•下建立与特定虚拟用户同名的文äšgåQ?
      [root@hpe45 vsftpd]# mkdir vsftpd_user_conf
      [root@hpe45 vsftpd]# cd vsftpd_user_conf
      [root@hpe45 vsftpd_user_conf]# touch xiaowang
      然后在xiaowangæ–‡äšg中就可以加入专对xiaowang生效的选项讄¡½®äº†ã€?
      注:如果在个人配¾|®æ–‡ä»¶ä¸­åŠ å…¥chroot_local_user=YES是无效的ã€?

    6.5.3.4、虚拟用户个人目录设¾|?

      大家可以发现åQŒæ— è®ºæ˜¯å“ªä¸ªè™šæ‹Ÿç”¨æˆ·åQŒç™»å½•后所在的目录都是/home/vsftpdgueståQŒå³éƒ½æ˜¯guest_username用户的自家目录。下面,介绍如何为每个虚拟用户徏立自家目录ã€?
      一¿Uä½œæ³•是在虚拟用æˆïLš„个äh配置文äšg中ä‹É用local_root选项指定虚拟用户的自家目录。以xiaowangä¸ÞZ¾‹åQŒåœ¨½W¬ä¸Šæ­¥çš„基础上,首先/etc/vsftpd/vsftpd_user_conf/xiaowangæ–‡äšg中加入:
      local_root=/home/xiaowang
      新徏xiaowang目录åQŒåƈž®†æƒé™è®¾ä¸ºvsftpdgueståQ?
      [root@hpe45 home]# mkdir xiaowang
      [root@hpe45 home]# chown vsftpdguest.vsftpdguest ./xiaowang

    6.5.4、MySQL保存虚拟用户

      本节介绍如何ž®†è™šæ‹Ÿç”¨æˆïLš„用户名和口ä×o保存在MySQL的数据库中。这主要分二个部分,一是将用户和口令保存在数据库,二是讄¡½®ç›¸åº”çš„PAM è®¤è¯ã€‚äØ“äº†æ–¹ä¾¿è®º˜qŽÍ¼Œåšå¦‚下假定:数据库vsftpdvuåQŒè¡¨usersåQŒå­—ŒDµnameå’Œpasswd用于保存虚拟用户的用户名和口令;ä¸ÞZº†å®‰å…¨åQŒåªæŽˆæƒ vsftpdguest读vsftpdvu数据库的users表ã€?

      1、虚拟用æˆïLš„用户å?口ä×o的保存。这部分在MySQL数据库中完成。首先,创徏数据库vsftpdvu以及表usersåQŒåƈ插入虚拟用户xiaotong、xiaowang。执行以下命令:
      [root@hpe45 vsftpd]#mysql -p
      mysql>create database vsftpdvu;
      mysql>use vsftpdvu;
      mysql>create table users(name char(16) binary,passwd char(16) binary);
      mysql>insert into users (name,passwd) values ('xiaotong',password('qqmywife'));
      mysql>insert into users (name,passwd) values ('xiaowang',password('ttmywife'));
      mysql>quit

      然后åQŒæŽˆæƒvsftpdguest只能读vsftpdvu数据库的users表。执行以下命令:
      [root@hpe45 vsftpd]#mysql -u root mysql -p
      mysql>grant select on vsftpdvu.users to vsftpdguest@localhost identified by 'i52serial0';
      mysql>quit

      如果要验证刚才的操作是否成功可以执行下面命ä×oåQ?
      [root@hpe45 vsftpd]#mysql -u vsftpdguest -pi52serial0 vsftpdvu
      mysql>select * from users;
      如果成功åQŒå°†ä¼šåˆ—出xiaotong、xiaowang和加密后的密码ã€?

      2、设¾|®PAM认证。这里我们要用到一个利用mysql˜q›è¡Œpam验证的开源项目(http: //sourceforge.net/projects/pam-mysql/åQ‰ã€‚首先从¾|‘站下蝲它的½E‹åºåŒ…pam_myql-0.5.tar.gzåQŒå¤åˆ¶åˆ°/root目录中。在¾~–译安装之前åQŒè¦¼‹®ä¿mysql-develçš„RPM包已¾lå®‰è£…在你的机器上,如果没有请从RHL安装光盘中安装该包。然后,执行以下命ä×oåQ?
      [root@hpe45 root]#tar xvzf pam_mysql-0.5.tar.gz
      [root@hpe45 root]#cd pam_mysql
      [root@hpe45 pam_mysql]#make
      [root@hpe45 pam_mysql]#make install
      make install˜q™ä¸€æ­¥å¯èƒ½ä¼šå‡ºçŽ°é”™è¯¯åQŒé‚£åªå¥½æ‰‹åЍž®†è¯¥ç›®å½•下生成的pam_mysql.o复制åˆ?lib/security目录下ã€?
      接下来,我们要设¾|®vsftpdçš„PAM验证文äšg。打开/etc/pam.d/vsftpdæ–‡äšgåQŒåŠ å…¥ä»¥ä¸‹å†…å®¹ï¼š
      auth required pam_mysql.o user=vsftpdguest passwd=i52serial0 host=localhost db=vsftpdvu table=users usercolumn=name passwdcolumn=passwd crypt=2
      account required pam_mysql.o user=vsftpdguest passwd=i52serial0 host=localhost db=vsftpdvu table=users usercolumn=name passwdcolumn=passwd crypt=2
      上面涉及到的参数åQŒåªè¦å¯¹åº”前面数据库的设¾|®å°±å¯ä»¥æ˜Žç™½å®ƒä»¬çš„含义。这里需要说明的是crypt参数åQŒcrypt=0åQŒå£ä»¤ä»¥æ˜Žæ–‡æ–¹å¼åQˆä¸åР坆åQ‰ä¿å­˜åœ¨æ•°æ®åº“中åQ›crypt=1åQŒå£ä»¤ä‹É用UNIX¾pȝ»Ÿçš„DES加密方式加密后保存在数据库中åQ›crypt=2åQŒå£ä»¤ç»˜q‡MySQLçš?password()函数加密后保存ã€?/p>

    ]]>
    Linux操作¾_‘ÖŽæŽ¨è VI使用技巧介¾l?/title><link>http://www.aygfsteel.com/badboyryan/archive/2007/04/30/114796.html</link><dc:creator>坏男å­?/dc:creator><author>坏男å­?/author><pubDate>Mon, 30 Apr 2007 07:48:00 GMT</pubDate><guid>http://www.aygfsteel.com/badboyryan/archive/2007/04/30/114796.html</guid><wfw:comment>http://www.aygfsteel.com/badboyryan/comments/114796.html</wfw:comment><comments>http://www.aygfsteel.com/badboyryan/archive/2007/04/30/114796.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/badboyryan/comments/commentRss/114796.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/badboyryan/services/trackbacks/114796.html</trackback:ping><description><![CDATA[ <p>一、vi基本命ä×o </p> <p>1åQ‰å…‰æ ‡å‘½ä»?</p> <p>å·¦h 上j 下k 右l </p> <p>nG --n䏸™¡Œæ•ŽÍ¼Œè¯¥å‘½ä»¤ç«‹å³ä‹É光标跛_ˆ°æŒ‡å®šè¡Œï¼›n为空åQŒå…‰æ ‡èŸ©åˆ°æ–‡ä»¶æœ€åŽä¸€è¡Œã€?</p> <p>Ctrl+G--光标所在位¾|®çš„行数和列数报å‘?</p> <p>w,b--使光标向前或向后跌™¿‡ä¸€ä¸ªå•è¯?</p> <p> <br />2åQ‰ç¼–辑命ä»?</p> <p>(n)dd 删除 </p> <p>(n)yy 复制 </p> <p>i 光标前插å…?</p> <p>a 当前字母后插å…?</p> <p>r 在当前光标处替换 </p> <p>cw 替换光标所在处的单词(从光标开始处åQ?</p> <p>dw 删除光标所在处的单è¯?</p> <p>x 删除åQˆå³åQ?</p> <p>X 删除åQˆå·¦åQ?</p> <p>u 撤销 </p> <p>. 重复上次操作 </p> <p>o 插入新行 </p> <p>J åˆåÆˆä¸¤è¡Œ </p> <p>A 行尾 </p> <p>:.,3w /tmp/xx </p> <p>:r /tmp/xx </p> <p> <br />3åQ‰æŸ¥æ‰‘Ö‘½ä»?</p> <p>f 查找 </p> <p>/ 查找 </p> <p>4åQ‰å¤åˆ¶ç²˜è´´å‘½ä»?</p> <p>(n)yy 拯‚´n行到剪切æ?</p> <p>p ¾_˜è„“(å? </p> <p>P ¾_˜è„“åQˆå½“前) </p> <p> <br />二、vi选项讄¡½® </p> <p> <br />vi是一个强大的¾~–辑器,它不仅可以用来处理我们åã^时的文本工作åQŒè¿˜å¯ä»¥ç”¨æ¥å†™ç¨‹åºæ–‡ä»¶ã€‚在用vi˜q›è¡Œ½E‹åº¾~–辑æ—Óž¼Œå®ƒå¯ä»¥å®žçŽ°è¯­æ³•åŠ äº®æ˜¾½Cºã€è‡ªåŠ¨ç¾ƒ˜q›ã€æ‹¬å·åŒ¹é…ç­‰¾~–è¾‘åŠŸèƒ½ã€‚äØ“æŽ§åˆ¶ä¸åŒçš„ç¼–è¾‘åŠŸèƒ½ï¼Œvi 提供了很多内部选项ã€?</p> <p> <br />利用 :set 命ä×o可以讄¡½®é€‰é¡¹ã€‚åŸºæœ¬è¯­æ³•äØ“åQ?</p> <p> <br />: set option 讄¡½®é€‰é¡¹ option </p> <p> <br />常见的功能选项包括åQ?</p> <p> <br />autoindent 讄¡½®è¯¥é€‰é¡¹åQŒåˆ™æ­£æ–‡è‡ªåЍ¾~©è¿› </p> <p> <br />ignorecase 讄¡½®è¯¥é€‰é¡¹åQŒåˆ™å¿½ç•¥è§„则表达式中大小写字母的区别 </p> <p> <br />number 讄¡½®è¯¥é€‰é¡¹åQŒåˆ™æ˜„¡¤ºæ­£æ–‡è¡Œå· </p> <p> <br />ruler 讄¡½®è¯¥é€‰é¡¹åQŒåˆ™åœ¨å±òq•底部显½Cºå…‰æ ‡æ‰€åœ¨è¡Œã€åˆ—的位¾|?</p> <p> <br />tabstop 讄¡½®æŒ?Tab 键蟩˜q‡çš„½Iºæ ¼æ•°ã€‚例å¦?set tabstop=nåQŒn默认å€égØ“8 </p> <p> <br />1åQ‰è¯­æ³•加亮显½C?</p> <p> <br />: syntax on 该命令在vi中打开语法加亮昄¡¤ºçš„功能。这样以后在输入的字½W¦ä¸­åQŒviž®×ƒ¼šè‡ªåŠ¨çš„è¯†åˆ«å‡ºå…³é”®å­—ï¼Œå­—ç¬¦ä¸²ä»¥åŠå…¶ä»–çš„ä¸€äº›è¯­æ³•å…ƒç´ ï¼Œòq¶ä»¥ä¸åŒçš„颜色来昄¡¤ºå‡ºæ¥ã€?</p> <p> <br />2åQ‰è‡ªåŠ¨ç¾ƒ˜q?</p> <p> <br />在vi中自动羃˜q›çš„选项一般有以下的几¿Uï¼š </p> <p> <br />autoindent: 在这¿Uç¾ƒ˜q›åŞ式中åQŒæ–°å¢žåŠ çš„è¡Œå’Œå‰ä¸€è¡Œæœ‰ç›¸åŒçš„ç¾ƒ˜q›åŞ式ã€?</p> <p> <br />smartindent: 在这¿Uç¾ƒ˜q›æ¨¡å¼ä¸­åQŒæ¯ä¸€è¡Œéƒ½å’Œå‰ä¸€è¡Œæœ‰ç›¸åŒçš„羃˜q›é‡åQŒåŒæ—¶èƒ½å¤Ÿæ­£¼‹®çš„识别出{å’Œ}åQŒå½“遇到双™Š±æ‹¬å·åQˆ}åQ‰ï¼Œåˆ™å–消了¾~©è¿›å½¢å¼ã€‚此外还增加了识别C语言关键字的功能。如果一行是ä»?开头的åQŒé‚£ä¹ˆè¿™¿Uæ ¼å¼å°†ä¼šè¢«ç‰ÒŽ®Šå¯¹å¾…而不采用¾~©è¿›æ ¼å¼ã€‚è¿™¿Uç¾ƒ˜q›æ ¼å¼å¼ºäºŽautoindentã€?</p> <p> <br />cindentåQšè¿™æ˜¯C语言的羃˜q›åŞ式,采用˜q™æ ·çš„羃˜q›æ–¹å¼çš„½E‹åºè¯­è¨€æœ‰ï¼šCåQŒC++,Java½{‰ã€‚当采用˜q™ç§¾~©è¿›æ ¼å¼æ—Óž¼Œviž®×ƒ¼šè‡ªåŠ¨çš„é‡‡ç”¨æ ‡å‡†çš„C语言形式。这¿Uç¾ƒ˜q›æ ¼å¼å¼ºäºŽsmartindentã€?</p> <p> <br />可以用如下命令进行羃˜q›åŞ式的讄¡½®åQ?</p> <p> <br />åQšset autoindentåQˆaiåQ?</p> <p> <br />åQšset smartindentåQˆsiåQ?</p> <p> <br />åQšset cindentåQˆciåQ?</p> <p> <br />3åQ‰æ˜¾½Cø™¡Œå?</p> <p> <br />åQšset numberåQˆnuåQ?昄¡¤ºè¡Œå· </p> <p> <br />: set nonumber (nonu) 不显½Cø™¡Œå?</p> <p> <br />在每个用æˆïLš„目录下,都有一个vi的配¾|®æ–‡ä»?.vimrc"(没有的话可以自己创徏)。用户可以编辑它åQŒè¾“入以上命令,使这些设¾|®åœ¨æ¯æ¬¡viæ—‰™ƒ½æœ‰æ•ˆã€‚例如:åœ?vimrcæ–‡äšg中加入如下设¾|®è¡ŒåQ?</p> <p> <br />set nu #昄¡¤ºè¡Œå· </p> <p> <br />set nonu #不显½Cø™¡Œå?</p> <p> <br />set ic #查找时不考虑大小å†?</p> <p> <br />set noic #查找时考虑大小å†?</p> <p> <br />set smartindent #自动¾~©è¿› </p> <p> <br />syntax on åQƒè¯­æ³•加äº?</p> <p> </p> <p>原文链接: <a >http://tech.ccidnet.com/art/302/20070428/1073137_1.html</a><br /></p> <img src ="http://www.aygfsteel.com/badboyryan/aggbug/114796.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/badboyryan/" target="_blank">坏男å­?/a> 2007-04-30 15:48 <a href="http://www.aygfsteel.com/badboyryan/archive/2007/04/30/114796.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一‹Æ¡æ€§æˆåŠŸç¼–è¯‘Linux内核åQ?/title><link>http://www.aygfsteel.com/badboyryan/archive/2007/04/27/114044.html</link><dc:creator>坏男å­?/dc:creator><author>坏男å­?/author><pubDate>Fri, 27 Apr 2007 04:46:00 GMT</pubDate><guid>http://www.aygfsteel.com/badboyryan/archive/2007/04/27/114044.html</guid><wfw:comment>http://www.aygfsteel.com/badboyryan/comments/114044.html</wfw:comment><comments>http://www.aygfsteel.com/badboyryan/archive/2007/04/27/114044.html#Feedback</comments><slash:comments>12</slash:comments><wfw:commentRss>http://www.aygfsteel.com/badboyryan/comments/commentRss/114044.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/badboyryan/services/trackbacks/114044.html</trackback:ping><description><![CDATA[ <p>一‹Æ¡å³å¤§åŠŸå‘Šæˆ Linux内核升çñ”全过½E‹Â?<br /><br /></p> <p id="TBPingURL">Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1583735<br /><br /><br /><br />今天¾lˆäºŽæˆåŠŸçš„ç¼–è¯‘äº†linux-2.6.18的内核,是在redhat9 2.4.20-8的内核基¼‹€ä¸Šè¿›è¡Œçš„åQ?br /><br /><br />作者:飘扬 来源åQšé£žé£žåšå®¢ã€€å‘布旉™—´åQ?007.04.18 <br /> <br />ç”׃ºŽå¼€å‘环境需要在linux-2.6内核上进行,于是准备å¯ÒŽˆ‘的虚拟机上的Linux¾pȝ»Ÿå‡çñ”。没惛_ˆ°˜q™ä¸€å¼„å°±èŠ×ƒº†ä¸¤å¤©æ—‰™—´åQˆåå¤è£…¾pȝ»ŸåQŒè¾›è‹¦å•Š~~åQ‰ï¼Œæ€È®—把Linux¾pȝ»Ÿä»?.4.20-8内核成功升çñ”åˆîCº†2.6.18内核ã€?</p> <p> <br />¾|‘上虽然有很多介¾lLinux内核升çñ”的文章,不过要么˜q‡æ—¶åQŒä¸‹è½½é“¾æŽ¥å¤±æ•ˆï¼›è¦ä¹ˆè¡¨è¾¾ä¸æ¸…åQŒä¸çŸ¥æ‰€äº‘;更可气的是很多文章在转蝲˜q‡ç¨‹ä¸­å‘½ä»¤è¡Œéƒ½æœ‰é”™è¯¯ã€‚刚开始我ž®±æ˜¯åœ¨è¿™äº›â€œæ”»ç•¥â€çš„æŒ‡ç‚¹ä¸‹æ¥å‡çñ”的,以致于浪费了很多旉™—´ã€?</p> <p> <br />现在åQŒè´¹ž®½å‘¨æŠ˜ï¼Œå‡çñ”成功åQŒå¿ƒæƒ…很爽,­‘æ€§ä¹Ÿæ¥å†™ä¸ªâ€œå‡¾U§æ”»ç•¥â€å§åQäºŽæ˜¯ç‰¹æ„åˆåœ¨è™šæ‹Ÿæœºä¸Šé‡æ–°å®‰è£…一个Linux¾pȝ»ŸåQŒå†æ¥ä¸€‹Æ¡å®Œ¾ŸŽçš„升çñ”åQŒè¾¹å‡çñ”边记录这些步骤,写成一½‹‡Linux内核升çñ”记实录(可不是回忆录啊!åQ‰ï¼Œå’Œå¤§å®¶ä¸€èµ·åˆ†äº«~~åQ?</p> <p> <br />首先说明åQŒä¸‹é¢å¸¦#åïLš„行都是要输入的命令行åQŒä¸”本文提到的所有命令行都在¾lˆç«¯é‡Œè¾“入。接下来åQŒè®©æˆ‘们一起开始精彩的Linux内核升çñ”之旅吧! </p> <p> <br />一、准备工ä½?</p> <p> <br />启动Linux¾pȝ»ŸåQŒåƈ用根用户ç™Õd½•åQŒè¿›å…¥ç»ˆç«¯æ¨¡å¼ä¸‹ã€?</p> <p> <br />1、查看Linux内核版本 </p> <p># uname -a </p> <p>如果屏幕昄¡¤ºçš„æ˜¯2.6.xåQŒè¯´æ˜Žä½ çš„å·²¾læ˜¯2.6的内核,也用不着看下文了åQŒè¯¥òq²ä»€ä¹ˆå¹²ä»€ä¹ˆåŽ»å§ï¼~~~如果昄¡¤ºçš„æ˜¯2.4.xåQŒé‚£æ­å–œä½ ï¼Œé—¯å…³é€šè¿‡åQŒèµ¶å¿«è¿›è¡Œä¸‹ä¸€æ­¥ã€?</p> <p> <br />2、下è½?.6内核源码 </p> <p>下蝲地址åQ?a >http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.18.tar.bz2</a></p> <p> <br />3、下载内核升¾U§å·¥å…?</p> <p>(1)下蝲module-init-tools-3.2.tar.bz2 </p> <p> <a >http://www.kernel.org/pub/linux/utils/kernel/module-init-tools/module-init-tools-3.2.tar.bz2</a> </p> <p>(2)下蝲mkinitrd-4.1.18-2.i386.rpm </p> <p> <a >http://ayo.freshrpms.net/fedora/linux/3/i386/RPMS.core/mkinitrd-4.1.18-2.i386.rpm</a> </p> <p>(3)下蝲lvm2-2.00.25-1.01.i386.rpm </p> <p> <a >http://ayo.freshrpms.net/fedora/linux/3/i386/RPMS.core/lvm2-2.00.25-1.01.i386.rpm</a> </p> <p>(4)下蝲device-mapper-1.00.19-2.i386.rpm </p> <p> <a >http://ayo.freshrpms.net/fedora/linux/3/i386/RPMS.core/device-mapper-1.00.19-2.i386.rpm</a> </p> <p> <br />(2.6.18内核和这4个升¾U§å·¥å…ähˆ‘都有备䆾åQŒå¦‚果以上下载地址失效åQŒè¯·ç•™ä¸‹ä½ çš„邮箱åQŒæˆ‘¾l™ä½ å‘过åŽ? <br /><a >http://www.fly2.cn/guestbook</a><br />二、配¾|®å·¥ä½?</p> <p> <br />好啦åQ?.6内核å’?个升¾U§å·¥å…·éƒ½ä¸‹è²å®Œäº†(ž®‘一个也不行åQŒå¦‚果没有下载齐全,请不要尝试下面的步骤åQŒå‡¾U§æ˜¯ä¸ä¼šæˆåŠŸçš?åQŒä¸‹é¢å›žåˆ°Linux¾pȝ»Ÿä¸­å¼€å§‹é…¾|®å·¥ä½œå§ã€?</p> <p> <br />4、将下蝲好的内核å’?个升¾U§å·¥å…·éƒ½æ‹¯‚´åˆ?usr/srcæ–‡äšg夹下。怎么拯‚´ž®×ƒ¸ç”¨æˆ‘教了吧~~~~不会拯‚´çš„去撞墙吧!~~呵呵åQ?</p> <p> <br />5、拷贝完毕,开始解压新内核åQŒå…·ä½“操作请依次执行以下命ä×oåQ?</p> <p># cd /usr/src (˜q›å…¥åˆ?usr/src目录下,如果已经åœ?usr/src目录下,可不执行该命ä»? </p> <p># rm –rf linux (删除linuxæ–‡äšg夏V€‚值得一提的是,如果内核先前从未¾~–译˜q‡ï¼Œåˆ™æ²¡æœ‰è¿™ä¸ªæ–‡ä»¶å¤¹åQŒæ­¤å‘½ä×o行可略过) </p> <p># tar jvxf linux-2.6.18.tar.bz2 (解压新内æ ? </p> <p># ln -s linux-2.6.18 linux (重新生成linuxæ–‡äšgå¤? </p> <p> <br />6、安装module-init-tools工具åŒ?</p> <p>åœ?usr/src目录下,依次执行下列命ä×oåQšï¼ˆZhiQiaoåQšæœ€å¥½å…ˆçœ‹ä¸‹READMEåQ?</p> <p># tar jvxf module-init-tools-3.2.tar.bz2 (解压module-init-tools) </p> <p># cd module-init-tools-3.2 (ç”?usr/src目录˜q›å…¥module-init-tools目录ä¸? </p> <p>#./configure --prefix=/ åQ?-prefix=/若重新配¾|®æ–‡ä»¶æŠŠæ–‡äšg攑ֈ°æŒ‡å®šçš„目录下åQ?/p> <p># make moveold </p> <p># make all install </p> <p>#./generate-modprobe.conf /etc/modprobe.conf </p> <p> <br />7、安装另外三个升¾U§å·¥å…?</p> <p>回到/usr/src目录下,依次执行下列3个命令来安装另外三个升çñ”工具åQ?</p> <p># rpm -ivh --nodeps mkinitrd-4.1.18-2.i386.rpm (注意åQŒè¿™é‡Œä¸€å®šè¦åŠ å…¥--nodeps参数åQŒä¸‹å? åQˆZhiQiaoåQšnodeps不验证组件的兌™”性)</p> <p># rpm -ivh --nodeps lvm2-2.00.25-1.01.i386.rpm </p> <p># rpm -ivh --nodeps device-mapper-1.00.19-2.i386.rpm </p> <p> <br />如果不更æ–îC»¥ä¸Šå‡ ä¸ªå‡¾U§åŒ…åQŒåœ¨åŽé¢¾~–译内核时会提示以下错误åQ?</p> <p>mkinitrd failed </p> <p>make[1]: *** [install] Error 1 </p> <p>make: *** [install] Error 2 </p> <p> <br />8、配¾|®å†…æ ”R€‰é¡¹ã€‚有点繁琐,~~希望一‹Æ¡æˆåŠŸå“¦~~ã€?</p> <p># cd linux-2.6.18 (˜q›å…¥åˆ?usr/src/linux-2.6.18目录ä¸? </p> <p># make mrproper (该命令可¼‹®ä¿æºä»£ç ç›®å½•下没有不正¼‹®çš„.oæ–‡äšg) </p> <p># make menuconfig åQˆé…¾|®å†…核各选项åQ?</p> <p> <br />此时会出çŽîC¸€ä¸ªå›¾å½¢ç•Œé¢ï¼Œåˆ—出了所有的内核配置选项åQŒæœ‰çš„选项下还有子选项åQŒä½ å¯ä»¥ç”¨æ–¹å‘键来选择åQŒç”¨Y键来¼‹®å®šã€‚经˜q‡æˆ‘多次试验åQŒå¤§å¤šæ•°é€‰é¡¹é»˜è®¤ž®Þp¡ŒåQŒä»¥ä¸‹å‡ ä¸ªé€‰é¡¹å¿…须选择åQˆè¯·è®¤çœŸæ ¸å¯¹ä¸‹é¢æ¯ä¸€ä¸ªé€‰é¡¹åQŒå¦åˆ™ç¼–译很有可能前功尽弃)åQ?</p> <p> <br />(1)Loadable Module support选项中,一定要选上“Module unloading”和“Automatic kernel module loading”这两项åQ?</p> <p>(2)Device Drivers--->Block Devices中一定要选上Loopback device supportåQ?</p> <p>Device Drivers--->Multi-device support(RAID and LVM)”处要选上“device mapper support”; </p> <p>Device Drivers--->Graphics supportâ€? 一定要选上â€?Support for frame buffer devices”; </p> <p>Device Drivers --->;USB support --->选上”USB Mass Storage support”(如果是在实环境中åQŒæƒ³è¦æ›´å¤šUSB支持åQŒå°±å…¨é€‰å§ã€‚我的是在虚拟机中,用不着了) </p> <p>Device Drivers --->; Network device support --->;Ethernet (10 or 100Mbit) --->; <*>; AMD PCnet32 PCI support </p> <p>(3) File system--->åQˆä»¥ä¸?个选项是关于ext2å’Œext3æ–‡äšg¾pȝ»Ÿé…ç½®åQŒå…¨éƒ¨é€‰ä¸ŠåQ?</p> <p>Second extended fs support </p> <p>Ext2 extended attributes </p> <p>Ext2 POSIX Access Control Lists </p> <p>Ext2 Security Labels </p> <p>Ext3 journalling file system support </p> <p>Ext3 extended attributes </p> <p>Ext3 POSIX Access Control Lists </p> <p>Ext3 Security Labels </p> <p>JBB (ext3) debugging support </p> <p>File system--->DOS/FAT/NT Filesystems --->选上â€?NTFS file system support”; </p> <p>File Systems --> Miscellaneous filesystems ---><*> Compressed ROM file system support (cramfs) </p> <p> <br />注意åQ?</p> <p>ext2å’Œext3æ–‡äšg¾pȝ»Ÿé…ç½®å¾ˆé‡è¦ï¼Œä¹Ÿæ˜¯å¿…需的,如果对Ext3、Ext2æ–‡äšg的支持直接编译进内核åQŒåœ¨ä½ reboot时机器就会当掉,出现如下错误信息åQ?</p> <p>kernel panic : no init found ,try passing init = option to kernel..... </p> <p>或者是åQ?</p> <p>VFS:Cannot open root device "hdxy" or unknow-block(0,0) </p> <p>Please append a correct "root=" boot option </p> <p>kernel panic:VFS:Unable to mount root fs on unknown-block(0,0) </p> <p>或者是åQ?</p> <p>mount: error 19 mounting ext3 </p> <p>pivotroot: pivot_root(/sysroot,/sysroot/initrd) failed: 2 </p> <p>umount /initrd/proc fail: 2 </p> <p>Freeing unused kernel memory: 244k freed </p> <p>Kernel panic â€?not syncing: No init found. Try passing init = option to kernel </p> <p>åQˆæˆ‘的机器就是在重启之后出现½W¬ä¸‰¿Ué”™è¯¯ï¼Œ˜q›ä¸åŽÈ³»¾lŸï¼Œéƒé—·æ­»ï¼Œåªå¥½é‡è£…了~~~åQ?</p> <p> <br />åQ?åQ‰å¦‚果你在vmware下重新编译内核,¼‹¬ç›˜ç”¨çš„æ˜¯scsi的,以下选项必选: </p> <p>Device Drivers --->SCSI device support ---><*>SCSI disk support </p> <p>Device Drivers--->SCSI device support--->SCSI low-level drivers--->;<*>; BusLogic SCSI support </p> <p> <br />三、编译工ä½?</p> <p> <br />OKåQŒç¹æ‚的配置工作完成了,è‡Ïx­¤åQŒç¼–译前的准备工作都做好了! </p> <p>9、开始编译啦……: </p> <p>åœ?usr/src/linux-2.6.18目录下,执行以下命ä×o卛_¯¾~–译。编译需要一ŒD‰|—¶é—ß_¼Œ¾l™è‡ªå·±å€’杯茶耐心½{‰å€™å§åQ?</p> <p># make dep åQˆå¾ç«‹ç¼–译时所需的从属文件。注意:如果内核从未¾~–译˜q‡ï¼Œæ­¤æ­¥å¯èŸ©˜q‡ï¼‰ </p> <p># make clean åQˆæ¸…除内核编译的目标文äšgåQ?</p> <p># make bzImage åQˆæ³¨æ„å¤§ž®å†™ã€‚这一步才真正¾~–译内核åQ‰ï¼ˆZhiQiaoåQšè¿™æ­¥å¤§¾U¦èŠ±äº†æˆ‘10分钟旉™—´åQŒé…¾|®ï¼š512M内存åQ?.8G CPUåQ?</p> <p>内核¾~–译成功后,会在/usr/src/linux/arch/i386/boot目录中生成一个新内核的映像文件bzImage。如果用make zImage¾~–译åQŒå†…核很大的话,¾pȝ»Ÿä¼šæ½CÞZ½ ä½¿ç”¨make bzImage命ä×o来编译,所以我直接用make bzImage来编译ã€?</p> <p># make modules åQˆç¼–译可加蝲模块åQ?åQˆZhiQiaoåQšè¿™æ­¥å¤§¾U¦èбäº?0分钟旉™—´åQ?/p> <p># make modules_install åQˆå®‰è£…可加蝲模块åQ?</p> <p>安装成功后,¾pȝ»Ÿä¼šåœ¨/lib/modules目录下生成一ä¸?.6.18子目录,里面存放着新内核的所有可加蝲模块ã€?</p> <p># make install åQˆå®‰è£…新内核åQ?</p> <p> <br />注意åQšmake install的时候可能会出现如下错误信息åQ?</p> <p>No module BusLogic found for kernel 2.6ã€?8 </p> <p>mkinitrd failed </p> <p>此问题一般只出现在SCSI¼‹¬ç›˜åQ‹VMWARE+REDHATæž¶æž„ä¸­ï¼Œå› äØ“BusLogic被编译进了内核而不是一个moduleçš„åŞ式(2.4内核的Buslogic模块即ä‹É静态编译进内核也不行)。解å†Ïx–¹å¼æ˜¯ç›´æŽ¥ž®†å¯ä»¥BusLogic.oæ–‡äšg复制˜q‡åŽ»åQ?</p> <p># cp /usr/src/linux-2.6.18/drivers/scsi/BusLogic.o /lib/modules/2.6.18/kernel/drivers/scsi </p> <p>不过别忘讎ͼŒå¤åˆ¶˜q‡åŽå†æ‰§è¡Œä¸€ä¸‹make installã€?</p> <p>åQˆå¦‚æžœmake menuconfigæ—Óž¼ŒæŠŠBusLogic模块选成M--Module模式--ž®×ƒ¸ä¼šå‡ºçŽ°è¿™ä¸ªæ½Cºã€‚) <br /> <br />ZhiQiaoåQšè¿™é‡Œæˆ‘是按上面所说的æ–ÒŽ³•做的¾l“果在启动时出现关于BusLogic的错误,后来我将虚拟机的¼‹¬ç›˜æ¢æˆäº†IDE的,成功升çñ”åQVmware默认的硬盘是SCSI的,有很多äh不知道怎么æ”ÒŽˆIDE的,具体æ–ÒŽ³•可以参考四、启动新内核 </p> <p>10、将新内核和System.mapæ–‡äšg拯‚´åˆ?boot目录下,依次执行以下命ä×oåQ?</p> <p># cp /usr/src/linux-2.6.18/arch/i386/boot/bzImage /boot/vmlinuz-2.6.18 </p> <p># cp /usr/src/linux-2.6.18/System.map /boot/System.map-2.6.18 </p> <p># cd /boot åQˆè¿›å…¥boot目录åQ?</p> <p># rm –rf System.map (删除原来的连æŽ? </p> <p># ln -s System.map-2.6.18 System.map (重新建立˜qžæŽ¥) </p> <p> <br />11、修改Grub启动½Ž¡ç†å™?</p> <p>如果没有错误的话, 下面开始修改grub配置文äšgåQˆä¸è¦å‘Šè¯‰æˆ‘你用的liloåQ?</p> <p>åœ?boot目录下,执行以下命ä×oåQ?</p> <p># new-kernel-pkg --mkinitrd --depmod --install 2.6.18 åQˆè¿™æ—¶å€™ä½ çš?boot下生成一个initrd-2.4.12.imgåQŒåƈ且你的grub.conf也作了相应更改) </p> <p> <br /># df åQˆæŸ¥çœ‹æ ¹ç›®å½•在那个分区,下一步要用到。注意,˜q™é‡Œæ ¹åˆ†åŒÞZ¸æ—¶boot的那ä¸?0M的分区,而一般是你最大的那个分区åQŒä¹Ÿž®±æ˜¯â€?â€ï¼Œåƒä¸‡ä¸è¦æžé”™å“¦ã€‚æˆ‘çš„äØ“ /dev/hda2åQ?</p> <p> <br /># vi grub/grub.conf åQˆZhiQiaoåQšæ­¤å¤„åº”è¯¥äØ“/grub/grub.confåQ?/p> <p>˜q›å…¥grub.confæ–‡äšgåQŒæ‰¾åˆ°å¦‚下信息: </p> <p>default=1 </p> <p>timeout=10 </p> <p>splashimage=(hd0,0)/grub/splash.xpm.gz </p> <p>title Red Hat Linux (2.6.18) </p> <p>root (hd0,0) </p> <p>kernel /vmlinuz-2.6.18 ro root= LABEL=/ </p> <p>initrd /initrd-2.6.18.img </p> <p>做两处修改: </p> <p>åQ?åQ?ž®†default=1æ”¹äØ“default=0åQˆä¸æ”¹çš„话,重启之后默认˜q›å…¥2.4内核åQ?</p> <p>åQ?åQ?ž®†kernel行的“LABEL=/”换成根目录所在的分区åQˆä¸Šä¸€æ­¥æŸ¥çœ‹çš„ž®±æ˜¯åQ?</p> <p>此步很重要,修改错误ž®†ä¼šå¯èƒ½å¯ÆD‡´˜q›ä¸åŽÈ³»¾lŸï¼Œæˆ‘把我修改后的grub.confæ–‡äšg列出来,不明之处åQŒå¯ä»¥å¯¹ç…§ä¿®æ”¹ï¼š </p> <p>default=0 </p> <p>timeout=10 </p> <p>splashimage=(hd0,0)/grub/splash.xpm.gz </p> <p>title Red Hat Linux (2.6.18) </p> <p>root (hd0,0) </p> <p>kernel /vmlinuz-2.6.18 ro root=/dev/hda2 </p> <p>initrd /initrd-2.6.18.img </p> <p>title Red Hat Linux (2.4.20-8) </p> <p>root (hd0,0) </p> <p>kernel /vmlinuz-2.4.20-8 ro root=LABEL=/ </p> <p>initrd /initrd-2.4.20-8.img </p> <p> <br />12åQŒOKåQŒå¤§åŠŸå‘Šæˆï¼èµ¶å¿«é‡å¯åQŒçœ‹çœ‹å‡¾U§åŽçš?.6内核å? <br /><br />13åQŒä¸‹ä¸€æ­¥è¯¥åšä»€ä¹ˆå‘¢åQŸæˆ‘çš„qqåQ?47863130<br /></p> <p> <br />我编译以后成功运行看看我的版本号åQä¸‹å›?br /><br /><img alt="redhat9上面的linux-2.6.18的内æ ? src="http://www.aygfsteel.com/images/blogjava_net/badboyryan/14948/o_rdt.bmp" align="center" /><br /> </p> <br /> <br /> <p id="TBPingURL"> </p> <img src ="http://www.aygfsteel.com/badboyryan/aggbug/114044.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/badboyryan/" target="_blank">坏男å­?/a> 2007-04-27 12:46 <a href="http://www.aygfsteel.com/badboyryan/archive/2007/04/27/114044.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>linux2.6.9内核如何¾~–译http://www.aygfsteel.com/badboyryan/archive/2007/04/26/113748.html坏男å­?/dc:creator>坏男å­?/author>Thu, 26 Apr 2007 04:50:00 GMThttp://www.aygfsteel.com/badboyryan/archive/2007/04/26/113748.htmlhttp://www.aygfsteel.com/badboyryan/comments/113748.htmlhttp://www.aygfsteel.com/badboyryan/archive/2007/04/26/113748.html#Feedback2http://www.aygfsteel.com/badboyryan/comments/commentRss/113748.htmlhttp://www.aygfsteel.com/badboyryan/services/trackbacks/113748.htmlredhat9
    2.6.9内核

    1、越来越多的Linuxer开始对ž®šå¤„在测试中çš?.6内核产生了兴­‘£ï¼Œ¼‹®å®žå®ƒéžå¸¸å…·æœ‰å¸å¼•力åQŒä¼—多的ç‰ÒŽ€§è®©äººçœ¼èбæžR乱。我也从2.4全面转到äº?.6内核之下åQŒäín受着新特性带来的新鲜体验。不˜q‡ä¸ž®‘兄弟在¾~–译新内核时或多或少的遇åˆîCº†ä¸€äº›é—®é¢˜ï¼Œçœ‹æ¥æ–°å¨˜çš„ç›– 头也不是那么å®ÒŽ˜“揭开的:)
    因此我打½Ž—写一些文章来介绍¾~–译新内核时的一些应该注意的地方åQŒä»¥å‡å°‘兄弟们在¾~–译新内核时的麻烦ã€?br />ç”׃ºŽæˆ‘的水åã^十分有限åQŒå†™˜q™æ ·çš„æ–‡ç« å®žåœ¨æ˜¯å‹‰äؓ光™š¾ã€‚文中肯定有错误疏失之处åQŒè¿˜è¯·å…„弟们多多包涵åQ?
    ½W¬ä¸€éƒ¨åˆ†åQŒå‡†å¤‡ï¼š è¦?使用新的内核首先当然要取得新内核的源码,内核的官方网站是http://www.kernel.org 在上面可以得到最新的内核ã€?.6的更新是相当快的åQŒä½ å¯ä»¥åœ¨å‘½ä»¤è¡Œä¸‹ä‹É用finger @kernel.org命ä×o来快速得到当前最新的内核列表。在˜q™ç¯‡æ–‡ç« ä¸­æˆ‘ž®†ä»¥2.6.0-test6ä¸?准ã€?下蝲了内核源码之后,æˆ?们要使用
    tar jxvf linux-2.6.0-test6.tar.bz2来提取源码,如果你下载的是以tgz¾l“尾的压¾~©åŒ…ž®×ƒ‹É用zxvf参数æ?è§£åŽ‹ã€‚æˆ‘å¼ºçƒˆå»ø™®®ä½ ä¸è¦ä‹Éç”?/usr/src/linux˜q™ä¸ªç›®å½•æ¥å­˜æ”¾æºç ï¼Œå› äØ“ä½¿ç”¨˜q™ä¸ªç›®å½•你需要手工在/usr/include目录下作一些符号链接,˜q?实在不是一个好ä¸ÀL„ã€?æ‰€ä»¥æˆ‘å»ø™®®ä½ äؓ源码单独å»ÞZ¸€ä¸ªç›®å½•,˜q™é‡Œæˆ‘们的目录是/src/linux-2.6.0-test6ã€?br /> 要编译与正常˜qè¡Œæ–°çš„内核你需 要升¾U§ä¸€äº›èÊY件包åQŒè¿™äº›ä¿¡æ¯åœ¨æºç ç›®å½•下的Documentation/Changesæ–‡äšg中,
    è¯äh ¹æ®ä½ çš„实际情况选择升çñ”。这其中我强调一下你应该升çñ” Module-Init-ToolsåQŒä¸è¦è¢«ä½ å½“前系¾lŸä¸­depmod -V输出的版本号˜qähƒ‘(在RH9ä¸?它的输出æ˜?.4.22,感觉好象要比Changes中所要求的要高,实际上它们ä‹É用不同的版本规则)。新çš?Module-Init-Tools在下面的¾|‘址中取得:
    http: //www.kernel.org/pub/linux/kernel/people/rusty/modules/ 我ä‹É用的æ˜?.9.14ã€?br />如果你下载的是源ç ?br />使用如下步骤˜q›è¡Œ¾~–译 ./configure --prefix=/ make moveold
    ˜q™ä¸€æ­¥ä¼šž®†ä½ ä»¥å‰çš„insmod, modprobe, rmmodå’?lsmod
    é‡å‘½åäØ“insmod.old,modprobe.old, rmmod.old lsmod.old。   Â?make make install
     然后使用 ./generate-modprobe.conf /etc/modprobe.conf
    ž®†åŽŸæ¥çš„/etc/modules.conf转换åˆ?etc/modprobe.conf
    如果你ä‹É用devfs¾pȝ»Ÿä½ è¿˜éœ€è¦å¤åˆ¶modprobe.devfs åˆ?etc目录下ã€?/p>

    当你升çñ”完相兌™ÊY件包之后åQŒå‡†å¤‡å·¥ä½œå°±½Ž—完成了åQŒä¸‹é¢æˆ‘们将˜q›å…¥åˆ°ç¼–译阶ŒDüc€?
    ½W¬äºŒéƒ¨åˆ†
    ¾~–译åQ?br /> 2.6çš„build¾pȝ»Ÿä¸?.4有很大的不同åQŒå®žé™…上是更加简单与方便了ã€?/p>

    ½W¬ä¸€æ­¥æˆ‘们要˜q›å…¥æºç ç›®å½• cd /src/linux-2.6.0-test6
    make mrproper

    ˜q?时我们就已经在源码目录下äº?make mrproper是用来清除一些老的配置文äšg、过时的已编译文ä»Óž¼Œæ‰“补丁遗留的备䆾文äšg½{‰å·¥ä½œçš„ã€?/p>

    å¦‚æžœä½ æ˜¯ä»Žå®˜æ–¹ç½‘ç«™ä¸‹è½½åÆˆä¸”æ˜¯½W¬ä¸€‹Æ¡ç¼–译这一步可以不 作。事实上ž®Þq®—你以前编译过åQŒåœ¨æ‰“了一些补丁或者重新更改设¾|®åŽå†æ¬¡¾~–译也可ä¸?作这一步,˜q™æ–¹é¢çš„内容我将在以后的补遗中作解释ã€?br />现在你只½Ž¡æŒ‰æ­¥å°±èˆ¬çš„ä½?不用考虑它ã€?下面我们ž®±å¯ä»¥è¿›è¡Œå†…核的配置了ã€?

    先介¾lä¸€ä¸‹æ–°å†…核中的囑ÖŞ界面配置工具åQ?br />æ–°å†…æ æ€¸­æœ‰ä¸¤ä¸ªGUI配置工具åQŒè¿‡åŽÈš„make xconfig
    现在是一个ä‹É用QT库作为界面方案的配置工具äº?åQŒæ‰€ä»¥ä½ è¦ä‹É用它必需先安装QT库。一般的发行版光盘中都包含了˜q™ä¸ªè½¯äšg包ã€?br />另一个是make gconfig˜q™æ˜¯ä¸€ä¸ªä‹É用GTK库作为界面方案的工具 åQŒåŒæ ·ä½ è¦ä‹É用它ž®Þp¦å…ˆå®‰è£…GTK库ã€?br />˜q™ä¸¤ä¸ªå·¥å…·ä¸ŽåŽŸæ¥çš„GUI工具在界面上有很大的变化åQŒæ›´åŠ ç¬¦åˆä¸€èˆ¬å›¾å½¢ç•Œé¢ç¨‹åºçš„ä½¿ç”¨ä¹ æƒ¯ã€?而传¾lŸçš„
     控制台配¾|®å·¥å…·menuconfig则没什么太大的变化基本上保持了原来的样子,不喜‹Æ¢èŠ±é‡Œç³Šå“¨çš„GUI工具的兄弟还是用˜q™ä¸ªå§ï¼š)
     ä¸?面我们就è¦?开始配¾|®å†…æ æ€º†åQŒæ–°å†…核的build¾pȝ»Ÿæœ‰ä¸€ä¸ªæ–°çš„特性,它会在启动配¾|®å·¥å…äh—¶è¯Õd–你当前的¾pȝ»Ÿé…ç½®åQŒä»Žè€Œä¿æŒä¸Žä½ å½“前配¾|®ç›¸åŒçš„选项。è€?åœ?2.4中它则是配置为默认选项的。这个特性其实是ä¸ÞZº†æ–¹ä¾¿ä½ ä»¥åŽçš„升çñ”工作åQŒåœ¨å†…æ ¸ç‰ÒŽ€§å˜åŒ–不大的情况下可以直接以当前的选项为基¼‹€ 从而省去逐项配置的麻 烦。但ç”׃ºŽæˆ‘们现在是从2.4来升¾U§çš„åQŒå®ƒä»¬ä¹‹é—´çš„差别太大了,所以这反而会¾l™æˆ‘们造成éºÈƒ¦ã€?br />有两¿Uæ–¹æ³•可以让2.6以默认选项来启动配¾|®å·¥å…øP¼Œ
    ½W¬ä¸€¿Uå°± 是将你当前的配置文äšg也就æ˜?boot/config-XXX¿U»é™¤åQŒå¦ä¸€¿Uæ˜¯åœ¨æ‰§è¡Œé…¾|®å·¥å…·å‰å…ˆæ‰§è¡Œmake  defconfig.我推荐这¿Uæ–¹æ³•ã€?

    åœ?.6中还æ·ÕdŠ äº†å‡ ä¸ªä»¥è°ƒè¯•ä¸ºç›®çš„çš„make选项åQŒå®ƒä»¬æ˜¯allyesconfig、allnoconfig、allmodconfig分别表示ž®?所有选项加蝲为y、将所有选项加蝲为n、将所有选项加蝲为m。它们是为内核开发äh员与‹¹‹è¯•人员准备的,与我们的关系不大ã€?下面我们开å§?配置内核åQŒè¿™é‡Œä‹É用的工具为menuconfigã€?br />首先在命令行模式下执行: make menuconfig 在闪˜q‡å‡ è¡Œå­—之后ž®±å‡ºçŽîCº†å¦‚图1 的界é?/p>

    内核选项


    åœ?界面的上部是配置工作的ä‹É用说明,
    使用½Ž­å¤´é”®åœ¨ 各选项间移动,使用enter˜q›å…¥ä¸‹ä¸€å±‚菜单,每个选项上的高亮字母是键盘快æäh–¹å¼ï¼Œ
    使用它可以快速的到达 你想讄¡½®çš„菜单项上ã€?br />在括号中
    按yž®†è¿™ä¸ªé¡¹ç›®ç¼–译进内核中,
    按M¾~–译为模块,
    按Nä¸ÞZ¸é€‰æ‹©ã€?br />按?ž®†æ‰“印这个选项的帮助信息,
    按escž®†è¿”回到上层菜单ã€?/p>

     GUI工具的基本概 念也与之¾cÖM¼¼æˆ‘们ž®×ƒ¸è¯¦ç»†è®¨è®ºäº†ã€?br />在后面我ž®†ä¸»è¦ä‹É用menuconfig来设¾|®å„个选项åQŒé€‰é¡¹çš„æ¬¡åºä»¥å®ƒäؓ准,其它工具中各选项也基 本与之对 应ã€?

    ½W¬ä¸€™å?Code maturity level options (代码成熟度选项) 按enter˜q›å…¥åŽé€‰é¡¹å¦‚下

    [*] Prompt for development and/or incomplete  code/drivers 默认情况下是选择的,˜q™å°†ä¼šåœ¨è®„¡½®ç•Œé¢ä¸­æ˜¾½Cø™¿˜åœ¨å¼€å‘或者还没有完成的代码与驱动.ä½ åº”è¯¥é€‰æ‹©å®ƒï¼Œå› äØ“æœ‰è®¸å¤šè®¾å¤‡å¯èƒ½å¿… 需选择˜q™ä¸ªé€‰é¡¹æ‰èƒ½˜q›è¡Œé…ç½®åQŒå®žé™…上它是安全的ã€?
    [*] Select only drivers expected to compile cleanly 选择˜q™ä¸ªé€‰é¡¹ä½ å°†ä¸ä¼šçœ‹åˆ°ä¸€ 些已知的存在问题的驱动程序选项åQŒé»˜è®¤çš„æƒ…况下也是选择的。如果你有设备没有找到驱动选项åQŒä½ å¯ä»¥ž®†è¿™ä¸€™å¹åŽ»æŽ‰ï¼Œæˆ–è®¸ž®±å¯ä»¥æ‰¾åˆ°ç›¸å…?驱动了,不过它可能是有BUGçš„ã€?br />[*] Select only drivers that don't need compile-time external firmware 如果你不需要在内核对一äº?外部讑֤‡çš„固件作map支持ž®±é€‰æ‹©å®ƒï¼Œ˜q™ä¹Ÿæ˜¯é»˜è®¤é€‰é¡¹ã€?/p>

     ½W¬äºŒ™å?General setup 其中的选项如下

    [*] Support for paging of anonymous  memory ˜q™ä¸ªé€‰é¡¹ž®†ä‹É你的内核支持虚拟内存åQŒä¹Ÿž®±æ˜¯è®©ä½ çš„计½Ž—机好象拥有比实际内存更å¤?多的内存½Iºé—´ç”¨æ¥æ‰§è¡Œå¾ˆå¤§çš„程序。默认是选择 çš„ã€?
    [*] System V IPC 䏸™¿›½E‹æä¾›é€šä¿¡æœºåˆ¶åQŒè¿™ž®†ä‹É¾pȝ»Ÿä¸­å„˜q›ç¨‹é—´æœ‰äº¤æ¢ä¿¡æ¯ä¸Žä¿æŒåŒæ­¥çš„能力。有些程序只有在选Y的情况下才能˜qè¡ŒåQ?所以不用考虑åQŒè¿™é‡Œä¸€å®šè¦é€‰ã€?br /> [ ] BSD Process Accounting ˜q™é‡Œé€‰æ‹©Yž®†ä¼šè®©å†…æ æ€Ø“用户层的˜q›ç¨‹å»ºç«‹ä¸€ä¸ªå¸ç›?˜q›ç¨‹é€šè¿‡ä¸€ä¸ªç‰¹ŒDŠçš„¾pȝ»Ÿ 调用来通知内核)åQŒå½“½E‹åºé€€å‡ºæ—¶å†…核会将˜q›ç¨‹çš„相关信息记录到帐目文äšg中,主要包括˜q›ç¨‹çš„创建时间ã€?创徏者,内存占用½{‰ä¿¡æ¯ã€‚如果你 需要就Y吧:)
    [*] Sysctl support ˜q™å°†æä¾›ä¸€ä¸ªæŽ¥å£è®©ä½ å¯ä»¥åŠ¨æ€çš„æ›´æ”¹ä¸€äº›æ ¸å¿ƒå‚æ•îC¸Žå˜é‡åQŒè€Œä¸éœ€è¦é‡æ–°å¯åŠ¨ç³»¾lŸã€‚打开˜q™ä¸ªé€‰é¡¹ž®†ä¼š 增加内核的体¿U¯è‡³ž®?KBã€‚å¦‚æžœä½ çš„å†…æ æ€»…用制作安装与恢复¾pȝ»Ÿ¾pȝ»Ÿç›˜é‚£ä¹ˆå¯ä»¥ä¸é€‰ï¼Œä»¥å‡ž®‘对内存的占用ã€?
    [ ] Kernel .config support  ˜q™å°†ä¼šæŠŠå†…核的配¾|®ä¿¡æ¯ä¸Žç›¸å…³çš„æ–‡æ¡£è¯´æ˜Žç¼–译进内核中,以后可以使用一些工å…äh¥æå–它用来重新构建内核,一般不用选它ã€?
    [ ] Remove  kernel features (for embedded systems) ---> ˜q™ä¸ªé€‰é¡¹ž®†ä¼šæŠŠä¸€äº›ç‰¹æ€§ä»Žå†…核中移除,以减ž®‘å†…æ æ€½“¿U¯ã€‚对于桌面用æˆäh¥è®ÔŒ¼Œ˜q™å¯ä¸æ˜¯ä¸€ 个好ä¸ÀL„åQŒæ‰€ä»¥ä¸è¦é€‰å®ƒã€‚至于其中的内容我会在以后的补遗中介¾lã€?/p>

     ½W¬ä¸‰™å?Loadable module support (可加载模块选项) å…‰™€‰é¡¹å¦‚下åQ?br /> [*] Enable loadable module support ˜q?个选项可以让你的内核支持模块,模块是什么呢åQŸæ¨¡å—是一ž®æ®µä»£ç åQŒç¼–译后可在¾pȝ»Ÿå†…æ ¸˜qè¡Œæ—?动态的加入内核åQŒä»Žè€Œäؓ内核增加一些特性或是对某种¼‹¬äšg˜q›è¡Œæ”?æŒã€‚ä¸€èˆ¬ä¸€äº›ä¸å¸¸ç”¨åˆ°çš„é©±åŠ¨æˆ–ç‰¹æ€§å¯ä»¥ç¼–è¯‘äØ“æ¨¡å—ä»¥å‡ž®‘内核的体积。在 ˜qè¡Œæ—¶å¯ä»¥ä‹É用modprobe命ä×oæ¥åŠ è½½å®ƒåˆ°å†…æ æ€¸­åŽ?在不需要时˜q˜å¯ä»¥ç§»é™?å®?ã€?ä¸€äº›ç‰¹æ€§æ˜¯å¦ç¼–è¯‘äØ“æ¨¡å—çš„åŽŸåˆ™æ˜¯åQŒä¸å¸æ€‹É用的åQŒç‰¹åˆ«æ˜¯åœ?¾pȝ»Ÿå¯åŠ¨æ—¶ä¸éœ€è¦çš„é©±åŠ¨å¯ä»¥ž®†å…¶¾~–译为模块,如果是一些在¾pȝ»Ÿå¯åŠ¨æ—¶å°±è¦ç”¨åˆ°çš„é©±åŠ¨æ¯”å¦‚è¯´æ–‡ä»¶ç³»¾lŸï¼Œ¾pȝ»Ÿæ€Èº¿çš„æ”¯æŒå°±ä¸è¦¾~–äØ“æ¨¡å—äº?åQŒå¦åœ¨æ— æ³•启动系¾lŸã€?当然˜q˜æœ‰ä¸€äº›å˜é€šçš„æ–ÒŽ³•åQŒæˆ‘以后会提åˆ?
    [ ] Module unloading ˜q™ä¸ªé€‰é¡¹å¯ä»¥è®©ä½ å¸è²ä¸å†ä½¿ç”¨çš„æ¨¡å—,如果不é€?的话你将不能卸蝲ä»ÖM½•模块(有些模块一旦加载就不能卸蝲åQŒä¸½Ž¡æ˜¯å¦é€‰æ‹©äº†è¿™ä¸ªé€‰é¡¹)。不选择˜q™ä¸ªé€‰é¡¹ä¼šè®©ä½ çš„内核体积减小一ç‚?
    [ ]  Module versioning support (EXPERIMENTAL) ˜q™ä¸ªé€‰é¡¹ž®†è®©ä½ å¯ä»¥ä‹Éç”¨å…¶å®ƒç‰ˆæœ¬å†…æ æ€¸­¾~–译的模块,不过òq¶ä¸å¯é åQŒæ‰€ä»¥ä¸€èˆ¬æˆ‘们不选择å®?
     [*] Automatic kernel module loading 一 般情况下åQŒå¦‚果我们的内核在某些ä“Q务中要ä‹É用一些被¾~–译为模块的驱动或特性时åQŒæˆ‘们要先ä‹Éç”?modprobe命ä×o来加载它åQŒå†…核才能ä‹É用。不˜q‡ï¼Œå¦‚果你é€?择了˜q™ä¸ªé€‰é¡¹åQŒåœ¨å†…核需要一些模块时它可以自动调用modprobe命ä×o来加载需要的æ¨?块,˜q™æ˜¯ä¸ªå¾ˆ‹‚’çš„ç‰ÒŽ€§ï¼Œå½“然要选Y喽:)

    ½W¬å››™å?Processor type and features Subarchitecture Type (PC-compatible) ˜q™æ˜¯ä¸€ä¸ªæ¯”较新çš?ç‰ÒŽ€§ï¼Œä¸»è¦çš„目的是使Linux可以支持多种PC标准åQŒä¸€èˆ¬æˆ‘们ä‹É用的PC机是遵åó@所谓IBM兼容¾l“æž„(pc/at)。这个选项可以让你选择一些其它架æž?。我们一般选择PC-compatiblež®±å¯ä»¥äº†ã€?Processor family (Pentium-4/Celeron(P4-based)/Xeon) ˜q™ä¸ªä¸ç”¨æˆ‘讲了吧åQŒä½ æ˜¯ä»€ä¹ˆCPUž®±é€‰ä»€ 么吧åQ?

    [ ] Generic x86 support ˜q™ä¸ªé€‰é¡¹æä¾›äº†å¯¹X86¾pÕdˆ—CPU最大的兼容性,用来支持一些很ž®‘见的x86体系的CPUåQŒå®ƒå¯èƒ½ä¼šé™ä½Žä¸€äº›ç³» ¾lŸæ€§èƒ½ã€‚所以如果你的CPU能够在上面的列表中找到就不要选这个吧ã€?
    [ ] HPET Timer Support ˜q?也是一个新的特性,HPET是intel制定的新 的用以代替传¾lŸçš„8254(PIT)中断定时器与RTC的定时器åQŒå…¨¿U°å«ä½œé«˜¾_‘Öº¦äº‹äšg定时器。如果你有一台较新的机器ž®±é€‰å®ƒå§ï¼Œä¸€èˆ¬å®ƒæ˜¯ä¸€ä¸ªå®‰å…?的选项åQŒå³ä½¿ä½ çš„硬件不支持HPET也不会造成问题åQŒå› ä¸ºå®ƒä¼šè‡ªåŠ¨ç”¨8254替换ã€?
    [*] Symmetric multi-processing support ˜q™ä¸ªä¹Ÿä¸ç”¨å¤šè®²äº†å§ï¼Œå¦‚果你ä‹É用多处理器系¾lŸå°±é€‰å§åQŒå¦‚果你和我一样ä‹É用一个单CPU¾pȝ»Ÿ˜q˜æ˜¯æŠŠå®ƒè¯·å‡ºåŽÕd§ã€?( Maximum number of CPUs (2-255) ˜q™é‡Œç”?来配¾|®è®©Linux最多支持几路CPUåQŒæ ¹æ®ä½ çš„需要选择ã€?
    [*] Preemptible Kernel ˜q?可是个新ç‰ÒŽ€§ï¼Œå‡ ä¹Žæ‰€æœ‰ä»‹¾l?.6的文章都会提刎ͼŒ˜q™å°± 是可抢先式内核。也ž®±æ˜¯è¯´è¢«ä¸€äº›ä¼˜å…ˆçñ”很高的程序可以先与一些低优先¾U§çš„½E‹åºæ‰§è¡ŒåQŒå³ä½¿è¿™äº›ç¨‹åºæ˜¯ 在核心态下执行(˜q™å®žé™…上仍然不是 真正的抢先式内核)。从而减ž®‘内核潜伏期åQŒæé«˜ç³»¾lŸçš„响应。当然在一些特ŒDŠçš„点的内核是不可抢先的åQŒæ¯”å¦‚å†…æ æ€¸­çš„调度程 序自íw«åœ¨æ‰§è¡Œ 时就是不可被抢先的。这个特性可以提高桌面系¾lŸã€å®žæ—¶ç³»¾lŸçš„æ€§èƒ½åQŒæ‰€ä»¥è¿˜æ˜¯é€‰ä¸Šå§ã€?
    [*] Machine Check Exception å¦?果你的系¾lŸå‡ºçŽ?一些问题比如CPU˜q‡çƒ­åQŒå†…核将会在屏幕上打印相关信息来提醒你。这个功能是需要硬件支持的。你可以查看/proc/cpuinfo看看æ˜?否有mceæ ?志,有的话就选吧。如果你十分十分的不òq¸ï¼Œé€‰äº†å®ƒä¹‹åŽå‡ºçŽ°é—®é¢˜ï¼Œå¯ä»¥åœ¨å¯åŠ¨æ—¶åŠ nomce参数来关闭它ã€?br />[*] Check for non-fatal errors  on AMD Athlon/Duron / Intel Pentium 4 æ‰?å¼€˜q™ä¸ªé€‰é¡¹ž®†ä¼š‹‚€æŸ¥ä½ æœºå™¨ä¸Šå¯èƒ½å­˜åœ¨çš„问题åQŒå¦‚果有一个非致命错误出现ž®†ä¼šè‡ªåŠ¨çš„ä¿®å¤åÆˆä¸?记录åQŒè¿™å¯ä»¥å¸®åŠ©ä½ æŸ¥å‡ºç¨‹åºå‡ºçŽ°é—®é¢˜çš„åŽŸå› åQŒæ˜¯ä¸€ä¸ªä¸é”™çš„选项åQ?当然它只能用在AMD Athlon/Duron / Intel Pentium 4˜q™ç±»CPU上。如æž?你正好在用它们中的一个你ž®±é€‰å§ã€?
    [*] check for P4 thermal throttling interrupt. 如果打开˜q™ä¸ªé€‰é¡¹åQŒåœ¨P4çš„CPU温度˜q‡é«˜(也就是P4 的温控装¾|®è“v作用)时会在屏òq•上昄¡¤ºå‡ºç›¸å…³çš„信息åQŒæ ¹æ®ä½ çš„æƒ…况选择吧ã€?
    < > Toshiba Laptop support ˜q?个选项是针对Toshiba½W”记本的 åQŒå¯ä»¥ç”¨æ¥è®¿é—®Toshiba的系¾lŸç®¡ç†æ¨¡å¼ï¼Œä¹Ÿå°±æ˜¯å¯ä»¥ç›´æŽ¥è®¾¾|®BIOS。不˜q‡è¦æ³¨æ„å®ƒåªåœ¨Toshiba自己çš?BIOS中è“v作用。假如你有一台Toshiba ½W”记本,可惜它的BIOS是Phoenix的,那这个选项仍然是梁山军å¸?---无用åQ?
    < > Dell laptop support ˜q™ä¸ªåŒä¸Šé¢çš„选项基本相同åQŒè‡ªå·Þqœ‹ 着办吧åQ?
    < > /dev/cpu/microcode - Intel IA32 CPU microcode support ˜q™ä¸ªé€‰é¡¹ž®†è®©ä½ å¯ä»¥æ›´æ–°Intel IA32¾pÕdˆ—处理器的微代码,当然 你还必须在文件系¾lŸé€‰é¡¹ä¸­é€‰æ‹©devfs才能正常的ä‹Éç”¨å®ƒã€‚å¦‚æžœä½ æŠŠå®ƒè¯‘äØ“æ¨¡å—ä½ è¿˜éœ€è¦åœ¨modprobe.conf中加上这一行alias char-major-10- 184 microcode 内核本èínòq¶ä¸å¸¦æœ‰å¾®ä»£ç çš„二进制文ä»Óž¼Œä½ å¯ä»¥åˆ°˜q™ä¸ª¾|‘址åŽÕd¾—到新的信æ?
    < > /dev/cpu/*/msr - Model-specific register  support ˜q™ä¸ªé€‰é¡¹æ¡Œé¢ç”¨æˆ·ä¸€èˆ¬ç”¨ä¸åˆ°åQŒå®ƒä¸»è¦ç”¨åœ¨Intel的嵌入式CPU中的åQŒè¿™ä¸ªå¯„存器的作用也依赖与不同的CPU¾cÕdž‹è€Œæœ‰æ‰€ä¸åŒåQŒä¸€èˆ¬å¯ä»?用来改变一些CPU原有物理¾l“构的用途,但不同的CPU用途差别也很大ã€?
    < > /dev/cpu/*/cpuid - CPU information support ˜q™ä¼šåœ?dev/cpu 中徏立一¾pÕdˆ—的设备文ä»Óž¼Œç”¨ä»¥è®©è¿‡½E‹åŽ»è®‰K—®æŒ‡å®šçš„CPU。一般不用选ã€?
    < > BIOS Enhanced Disk Drive calls determine boot disk  (EXPERIMENTAL) ˜q™å°†å¯ä»¥æ‰“开实模式下BIOS中的增强¼‚ç›˜è®‘Ö¤‡æœåŠ¡åQŒä»¥å†›_®šä»Žå“ªä¸ªç£ç›˜ä¸Šå¯åŠ¨ã€‚è¿™ä¸€èˆ¬æ˜¯å®‰å…¨çš„ï¼Œä¸è¿‡å¤§å¤šæ•°BIOS提供商都æ²?有实现这个特性ã€?High Memory Support (off) 如果你有大容量的内存(­‘…过4G)你要选它åQŒä»¥ä½¿å†…核可以ä‹É用这部分内存。偶是没˜q™å‘½å•¦è¿™éƒ?分永˜qœäØ“OFFåQŒå¦‚果你有你ž®±ON吧ã€?br />[ ] Math emulation 在你的CPU上如果没有数学协处理器的话,打开˜q™ä¸ªé€‰é¡¹å¯ä»¥è®©å†…核模拟一个,以提 升æÕQ点计½Ž—能力,不过慢的可以。如果你使用的不是古董CPU的话(486SX以前çš?˜q™ä¸€™å¹ä½ æ°¸è¿œéƒ½ä¸éœ€è¦ã€?
    [*] MTRR (Memory Type Range  Register)support 在Intel p6家族的处理器ä¸?Pproã€?PII和更新的)有一个内存类型范围寄存器åQŒå¯ç”¨æ¥æŽ§åˆ¶å¤„理器访问的内存范围。打开å®?一般可以提升显卡的昄¡¤ºæ€§èƒ½åQŒæ‰€ä»¥æˆ‘们当然要在这说Y喽:)

    ½W¬äº”™å?Power management options (ACPI, APM)(高çñ”甉|º½Ž¡ç†)

    [*] Power  Management support 如果你想让你的Linux支持高çñ”甉|º½Ž¡ç†(也就是åã^常我们说的èÊYå…Ïxœºã€ç³»¾lŸä¼‘眠等)需要选择它ã€?
    [ ] Software Suspend  (EXPERIMENTAL) é€?择这个选项你可以挂起你的计½Ž—机(有点象XP中的休眠)åQŒæ‰“å¼€˜q™é¡¹åŠŸèƒ½åŽï¼Œä½ å¯ä»¥ä‹É用swsusp或者shutdown -z 来挂起你 的计½Ž—机。这æ ïL³»¾lŸä¼šž®†ä½ å½“前正在˜q›è¡Œçš„å·¥ä½?也就是当前内存中的内å®?作成一个镜象保存到你的交换分区中,在你下一‹Æ¡å¯åŠ¨æ—¶ä½¿ç”¨å¯åŠ¨ 参数 “resume=/dev/你的交换分区”,内核ž®×ƒ¼šž®†ä¸Šä¸€‹Æ¡çš„工作内核从镜象文件中恢复到内存,˜q™å¯ä»¥å¤§å¤§æé«˜ç³»¾lŸçš„启动速度。当你不æƒÏx¢ 复上‹Æ¡çš„工作 时向内核传递参数“noresume"。不˜q‡ç³»¾lŸå¯åŠ¨åŽä½ çš„äº¤æ¢åˆ†åŒºž®†ä¸å¯ä»¥ä½¿ç”¨åQŒä½ å¯ä»¥ä½¿ç”¨mkswap命ä×o来重新格式化你的交换åˆ?区。这个功能不需è¦?高çñ”甉|º½Ž¡ç†çš„æ”¯æŒã€‚很不错的功能,我一直有用,大家也来试试吧:)
    [ ] Suspend-to-Disk Support ˜q™ä¸ªé€‰é¡¹ä¸Žä¸Šé?的功能基本相同,不过更灵‹zÖM¸€äº›ï¼Œå¯ä»¥é€šè¿‡ä¸‹é¢çš„子选项来指定一个专用的交换分区来保存内存镜象ã€?
    () Default resume partition 与上 面的选项配合åQŒæ¥æŒ‡å®šä¿å­˜é•œè±¡çš„分区ã€?
    ACPI (Advanced Configuration and Power Interface) Support ---> 从这里进入ACPI甉|º½Ž¡ç†çš?配置界面åQŒè¦æ³¨æ„ACPI与APM不能同时使用åQŒå¦‚果你同时配置了这两者,那么在系¾lŸå¯åŠ¨æ—¶å¦‚æžœå‘çŽ°ä¸€ä¸ªå¯å·¥ä½œçš„ACPI讑֤‡é‚£ä¹ˆAPMž®†è¢«å…³é—­åQ?ACPI会被加蝲åQ?br />[*] ACPI Support ˜q™ä¸ªé€‰é¡¹åº”该不用我多说了åQŒè¦æƒŒ™®©ä½ çš„¾pȝ»Ÿä½¿ç”¨ACPI来管理你的电源就要选上它,另外要想让它起作ç”?åQŒä½ ˜q˜è¦åœ¨ç³»¾lŸä¸­å®‰è£…acpid守护½E‹åºã€?br />[*] Sleep States (EXPERIMENTAL) é€?择这个选项可以使你的系¾lŸå…·æœ‰æŒ‚èµïLš„功能åQŒä¹Ÿž®±æ˜¯è¯´ä½ å¯ä»¥ 暂时中断你的工作åQŒè®©ä½ çš„¾pȝ»Ÿå¤„与一¿Uä½Žç”µèƒ½æ¶ˆè€—的状æ€?sleep state)åQŒä½ æ­¤æ—¶çš„ç³»¾lŸçŠ¶æ€ä¼šä¿å­˜åœ¨å†…å­˜æˆ–è€…ç£ç›˜ä¸Š(取决于挂èµïLš„æ·±åº¦)åQ?当你需要时再恢复到正常的工作状态。但ç”׃ºŽå„种¾pȝ»Ÿä¹‹é—´çš„差别,目前˜q™é¡¹åŠ?èƒ½åÆˆä¸å®Œå–„ã€‚åªæœ‰å¾ˆž®‘的讑֤‡å¯ä»¥å®Œç¾Žçš„æ”¯æŒè¿™ä¸ªç‰¹æ€§ï¼Œæ‰€ä»?不徏议一般用户ä‹É用它ã€?
    < > AC Adapter ˜q™æ˜¯ç”¨æ¥æ”¯æŒ¿UÕdЍ¾pȝ»Ÿä¸­çš„交流适配器的åQŒä»¥æŒ‡ç¤ºå½“前¾pȝ»Ÿæ˜¯ä¸æ˜¯åœ¨ä½¿ç”¨äº¤æµç”µï¼Œå¯¹äºŽå°å¼æœÞZ¸éœ€ 要这个选项ã€?
    < > Battery ˜q™ä¸ªé€‰é¡¹ç”¨äºŽé€šè¿‡/proc/acpi/battery来向用户提供¿UÕdЍ¾pȝ»Ÿä¸­çš„甉|± çŠ¶æ€ä¿¡æ¯ã€‚åŒä¸Šé¢é‚£ä¸ªé€‰é¡¹ä¸€æ ·å¯¹å°å¼æœºæ²¡ 有作用ã€?br /> <*> Button ˜q™ä¸ªé€‰é¡¹ç”¨äºŽæ³¨å†ŒåŸÞZºŽç”‰|ºæŒ‰é’®çš„事ä»Óž¼Œæ¯”如power, sleep½{‰ï¼Œå½“你按下按钮时事件将发生åQŒä¸€ä¸ªå®ˆæŠ¤ç¨‹åºå°†è¯?å?proc/acpi/eventåQŒåƈ执行用户在这些事件上定义的动作比如让¾pȝ»Ÿå…Ïxœºã€?
    <*> Fan ˜q™ä¸ªé€‰é¡¹æä¾›å¯¹ç³»¾lŸé£Žæ‰‡çš„æŽ§åˆ¶æ”¯æŒåQŒå¯ä»¥é€šè¿‡ç”¨æˆ·å±?的程序来对系¾lŸé£Žæ‰‡è¿›è¡ŒæŽ§åˆ?比如打开åQŒå…³é—­ï¼Œè¯Õd–当前风扇的运行状态等åQŒä¸˜q‡åªæœ‰æžž®‘数的硬件支持它)ã€?
    <*> Processor 打开˜q™ä¸ªé€‰é¡¹ ž®†è®©ä½ çš„¾pȝ»Ÿå…ähœ‰å¤„理IDIE状态的能力åQŒä¹Ÿž®±æ˜¯è¯´å¯ä»¥è®©ä½ çš„处理器在½Iºé—²æ—¶èŠ‚çœç”µèƒ½ã€‚ä¸ªäºø™®¤ä¸ø™¿™ä¸ªé€‰é¡¹æ˜¯ä¸€å®šè¦é€‰çš„ã€?br /><*> Thermal Zone  当你的系¾lŸæ¸©åº¦è¿‡é«˜æ—¶åQŒACPI可以利用˜q™ä¸ªé€‰é¡¹æ¥æŽ§åˆ¶ä½ çš„ç³»¾lŸï¼ŒåŠæ—¶è°ƒæ•´¾pȝ»Ÿçš„工作状态以保护你的CPUåQŒéžå¸¸æ£’的一个特性一定要选呀åQŒè¦ 不然也就不用使用ACPI了ã€?当然˜q™éœ€è¦ç¡¬ä»¶çš„æ”¯æŒ)
    < > ASUS/Medion Laptop Extras ˜q™ä¸»è¦æ˜¯ä¸ºASUS生äñ”的笔记本电脑准备的,以提供对˜q?些系¾lŸä¸Šé‚£äº›é¢å¤–的按钮们的支持,用户可以通过它们来打开或者关闭LCD的背光,调整亮度、定制LED的闪烁指½Cºç­‰åŠŸèƒ½ã€‚ç”¨æˆ·å¯ä»¥é€?˜q?proc/acpi/asus来改变这些设¾|®ã€?
    < > Toshiba Laptop Extras ˜q™ä¸ªé€‰é¡¹æ˜¯å¯¹Toshiba½W”记本提供特别支持的åQŒå®ƒçš„作用同上面的选项基本 相同åQŒå¦‚果你有一台这æ ïLš„æœ¬æœ¬çš„话ž®±é€‰å®ƒå§ã€?br /> [ ] Debug Statements 如果选择它当ACPIå‡ºçŽ°é”™è¯¯æ—¶ä¼šæ‰“å°å‡ø™¯¦¾l†çš„信息åQŒè¿™ž®†ä¼šå¢žåŠ å†…æ ¸ 的体¿U¯å¤§¾U?0kåQŒå¦‚果没有必要还是不要选它吧ã€?br /> [ ] Relaxed AML 选择它的话ACPI¾˜»è¯‘器将会放村֯¹AML的错误检查,一些笔记本电脑可能需 要它才能正常的ä‹É用ACPI(一些糟¾p•的桌面机可能也需要它åQŒå¦‚果你的系¾lŸä‹É用ACPI时出现问题不妨选上它试è¯?

     



    ]]>
    GIS家园http://www.aygfsteel.com/badboyryan/archive/2006/08/29/66338.html坏男�/dc:creator>坏男�/author>Tue, 29 Aug 2006 00:43:00 GMThttp://www.aygfsteel.com/badboyryan/archive/2006/08/29/66338.htmlhttp://www.aygfsteel.com/badboyryan/comments/66338.htmlhttp://www.aygfsteel.com/badboyryan/archive/2006/08/29/66338.html#Feedback0http://www.aygfsteel.com/badboyryan/comments/commentRss/66338.htmlhttp://www.aygfsteel.com/badboyryan/services/trackbacks/66338.htmlhttp://www.gissky.net/blog/index.html

    ]]>
    ArcGis9在windowsXPsp2安装æ–ÒŽ³•http://www.aygfsteel.com/badboyryan/archive/2006/08/29/66337.html坏男å­?/dc:creator>坏男å­?/author>Tue, 29 Aug 2006 00:40:00 GMThttp://www.aygfsteel.com/badboyryan/archive/2006/08/29/66337.htmlhttp://www.aygfsteel.com/badboyryan/comments/66337.htmlhttp://www.aygfsteel.com/badboyryan/archive/2006/08/29/66337.html#Feedback0http://www.aygfsteel.com/badboyryan/comments/commentRss/66337.htmlhttp://www.aygfsteel.com/badboyryan/services/trackbacks/66337.html在WinXp sp2安装ArcGIS9,会出现动态库注册å¤ÞpÓ|问题åQŒä»¥ä¸‹æ˜¯ä¿®æ”¹åŠžæ³•åQŒå¸Œæœ›å¯¹å„位有用

    æ–ÒŽ³•由“杜杜先生”提供:
    1. ¿U»é™¤Windows XPçš„SP2åQŒç„¶åŽå®‰è£…ArcGIS 9.0ã€?
    2. 点击“我的电脑”,选择“属性”菜单�
    3. 点击“高¾U§â€é¡µã€‚选择“启动与恢复”下的“设¾|®â€æŒ‰é’®ã€‚Â?
    4. 选择默认操作¾pȝ»ŸåQŒå¦‚ä¸? "Microsoft Windows XP Professional" /fastdetect /NoExecute=OptIn 
    5. 点击“编辑” 按钮打开boot.ini 文äšgåQŒå°†å…¶ä¸­çš„“â€?NoExecute=OptIn”改为â€?NoExecute=AlwaysOff”。Â?
    6 保存文äšgåQŒé‡æ–°å¯åŠ¨è®¡½Ž—机ã€?
    7. 安装完ArcGIS以后åQŒå°†Â boot.ini 文äšg讄¡½®æ”¹å›žæ¥ï¼Œä»¥é‡æ–°æ¿€‹zÀL•°æ®æ‰§è¡Œä¿æŠ¤çš„安全选项。Â?


    ]]>
    Ö÷Õ¾Ö©Öë³ØÄ£°å£º µÂ»ÝÊÐ| ˳ÒåÇø| ÁéÊ¯ÏØ| ÜþÑôÊÐ| ÕÁÊ÷ÊÐ| Î÷ÎÚÖéÄÂÇ߯ì| ¹ÅÌïÏØ| Çð±±ÏØ| ÁÙÈªÏØ| ÍòÄþÊÐ| Ôý´ïÏØ| ̨±±ÊÐ| èï³ÇÏØ| Äþ¹úÊÐ| Ö¦½­ÊÐ| ¾®ÑÐÏØ| ÖÛÇúÏØ| ¾üÊÂ| ²©ÀÖÊÐ| ÏæÎ÷| ¶ëüɽÊÐ| ÎäÍþÊÐ| ºâÄÏÏØ| ÅͰ²ÏØ| Ë«ÁÉÊÐ| ³ÐµÂÏØ| Ä˶«ÏØ| Ðí²ýÊÐ| ÐûÎäÇø| ½ÒÎ÷ÏØ| Ë·ÖÝÊÐ| »ÔÏØÊÐ| Î÷ÃË| Ì©°²ÊÐ| Î÷ºÍÏØ| º¼½õºóÆì| º×ɽÊÐ| ÕòÆºÏØ| ·ïɽÊÐ| ¾ÅÁú³ÇÇø| Äþ°²ÊÐ|