﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>IT博客-两极人生，八度空间-随笔分类-Redhat Linux </title><link>http://www.cnitblog.com/wildon/category/4713.html</link><description>Fight for my CISSP and PMP</description><language>zh-cn</language><lastBuildDate>Wed, 28 Sep 2011 03:18:47 GMT</lastBuildDate><pubDate>Wed, 28 Sep 2011 03:18:47 GMT</pubDate><ttl>60</ttl><item><title>Redhat Linux如何安装软件</title><link>http://www.cnitblog.com/wildon/archive/2007/07/12/29783.html</link><dc:creator>Jerome</dc:creator><author>Jerome</author><pubDate>Thu, 12 Jul 2007 12:57:00 GMT</pubDate><guid>http://www.cnitblog.com/wildon/archive/2007/07/12/29783.html</guid><wfw:comment>http://www.cnitblog.com/wildon/comments/29783.html</wfw:comment><comments>http://www.cnitblog.com/wildon/archive/2007/07/12/29783.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnitblog.com/wildon/comments/commentRss/29783.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/wildon/services/trackbacks/29783.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 先来看看Linux软件扩展名。软件后缀为.rpm最初是Red Hat Linux提供的一种包封装格式，现在许多Linux发行版本都使用；后缀为.tar.gz、tar.Z、tar.bz2或.tgz是使用Unix系统打包工具tar打包的；后缀为.bin的一般是一些商业软件。通过扩展名可以了解软件格式，进而了解软件安装&nbsp;&nbsp;<a href='http://www.cnitblog.com/wildon/archive/2007/07/12/29783.html'>阅读全文</a><img src ="http://www.cnitblog.com/wildon/aggbug/29783.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/wildon/" target="_blank">Jerome</a> 2007-07-12 20:57 <a href="http://www.cnitblog.com/wildon/archive/2007/07/12/29783.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>如何让Redhat Linux可以在Cable Modem环境下上网？</title><link>http://www.cnitblog.com/wildon/archive/2007/06/27/29104.html</link><dc:creator>Jerome</dc:creator><author>Jerome</author><pubDate>Wed, 27 Jun 2007 03:29:00 GMT</pubDate><guid>http://www.cnitblog.com/wildon/archive/2007/06/27/29104.html</guid><wfw:comment>http://www.cnitblog.com/wildon/comments/29104.html</wfw:comment><comments>http://www.cnitblog.com/wildon/archive/2007/06/27/29104.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/wildon/comments/commentRss/29104.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/wildon/services/trackbacks/29104.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 我用的是虚拟机VMware station，在虚拟机上跑Redhat Linux9.0.先说说准备过程，以前根据我的经验，在Windows环境下，要是本机与虚拟机能够实现通信，几台虚拟机和本机进行联网进行实验的话，一般需要添加一块Microsoft Loopback Adapter.VMware station虚拟机Vitual Network Setting中去掉Automatic Bridging前面的勾，而在Host Networking Mapping tab中将VMnet0指定为Micorosoft Loopback Adapter才可以。今天在配置Redhat Linux使用Cable Modem上网时却遇到怎么都无法与DHCP服务器（路由器）通信。难道在Linux环境下，情况有所各异不行？随将Microsoft Loopback Adapter禁用。在Host Networking Mapping下的VMnet0指定为物理网卡就可以了。能够顺利实现使用cable modem上网。两种不同的环境，竟然差别是如此之大。难道真是Linux的网络功能比较强大的缘故？Redhat &nbsp;&nbsp;<a href='http://www.cnitblog.com/wildon/archive/2007/06/27/29104.html'>阅读全文</a><img src ="http://www.cnitblog.com/wildon/aggbug/29104.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/wildon/" target="_blank">Jerome</a> 2007-06-27 11:29 <a href="http://www.cnitblog.com/wildon/archive/2007/06/27/29104.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>RedHat9.0下的DNS和虚拟主机的配置</title><link>http://www.cnitblog.com/wildon/archive/2007/02/06/22729.html</link><dc:creator>Jerome</dc:creator><author>Jerome</author><pubDate>Tue, 06 Feb 2007 05:34:00 GMT</pubDate><guid>http://www.cnitblog.com/wildon/archive/2007/02/06/22729.html</guid><wfw:comment>http://www.cnitblog.com/wildon/comments/22729.html</wfw:comment><comments>http://www.cnitblog.com/wildon/archive/2007/02/06/22729.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/wildon/comments/commentRss/22729.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/wildon/services/trackbacks/22729.html</trackback:ping><description><![CDATA[
		<div align="left">
				<font color="#3300cc">[ 作者:   来自:</font>
				<a href="http://www.xxlinux.com/" target="_blank">
						<font color="#3300cc">Linux联盟收集整理</font>
				</a>
				<font color="#3300cc">]<br />  <br />         配置几个简单的虚拟主机，DNS 服务器IP为169.254.1.189例我公司的域名为:zzvcom.com.我想配置以下几个服务器为： </font>
				<p style="TEXT-INDENT: 2em">
				</p>
				<ccid_nobr />
				<center>
						<table cellspacing="0" bordercolordark="#ffffff" cellpadding="2" width="400" align="center" bordercolorlight="#000000" border="1">
								<tbody>
										<tr>
												<td class="code" style="FONT-SIZE: 9pt" bgcolor="#e6e6e6">
														<pre>
																<ccid_code />
																<font color="#3300cc">　　
　　ftp.zzvcom.com,mail.zzvcom.com,kuanping.zzvcom.com,soft.zzvcom.com,
　　xiaoshou.zzvcom.com,cpzz.zzvcom.com,net.zzvcom.com,yanfa.zzvcom.com./FONT&gt;</font>
														</pre>
												</td>
										</tr>
								</tbody>
						</table>
				</center>
				<center>
						<font color="#3300cc">　 </font>
				</center>
				<div style="TEXT-INDENT: 2em" align="left">
						<font color="#3300cc">先安装RPM域名解析软件named,再下载apache.tar.gz </font>
				</div>
				<center style="TEXT-INDENT: 2em">
						<font color="#3300cc">
						</font> </center>
				<center>
						<ccid_nobr />
						<table cellspacing="0" bordercolordark="#ffffff" cellpadding="2" width="400" align="center" bordercolorlight="#000000" border="1">
								<tbody>
										<tr>
												<td class="code" style="FONT-SIZE: 9pt" bgcolor="#e6e6e6">
														<pre>
																<ccid_code />
																<font color="#3300cc">　　
　　#tar –zxvf apache.tar.gz
　　#cd apache
　　#./configure –prefix=/usr/local/apache
　　#make;make install;make clean
　　
　　#vi /usr/local/apache/conf/httpd.conf
　　
　　ServerName 169.254.1.189
　　NameVirtualHost 169.254.1.189
　　&lt;VirtualHost 169.254.1.189&gt;
　　ServerName ftp.zzvcom.com
　　DocumentRoot /www/ftp
　　TransferLog logs/ftp_access_log
　　&lt;/VirtualHost&gt;
　　
　　&lt;VirtualHost 169.254.1.189&gt;
　　ServerName mail.zzvcom.com
　　DocumentRoot /www/mail
　　TransferLog logs/mail_access_log
　　&lt;/VirtualHost&gt;
　　
　　&lt;VirtualHost 169.254.1.189&gt;
　　ServerName kuanping.zzvcom.com
　　DocumentRoot /www/kuanping
　　TransferLog logs/kuanping_access_log
　　&lt;/VirtualHost&gt;
　　
　　&lt;VirtualHost 169.254.1.189&gt;
　　ServerName soft.zzvcom.com
　　DocumentRoot /www/soft
　　TransferLog logs/soft_access_log
　　&lt;/VirtualHost&gt;
　　
　　&lt;VirtualHost 169.254.1.189&gt;
　　ServerName xiaoshou.zzvcom.com
　　DocumentRoot /www/xiaoshou
　　TransferLog logs/xiaoshou_access_log
　　&lt;/VirtualHost&gt;
　　
　　&lt;VirtualHost 169.254.1.189&gt;
　　ServerName cpzz.zzvcom.com
　　DocumentRoot /www/cpzz
　　TransferLog logs/cpzz_access_log
　　&lt;/VirtualHost&gt;
　　
　　&lt;VirtualHost 169.254.1.189&gt;
　　ServerName net.zzvcom.com
　　DocumentRoot /www/net
　　TransferLog logs/net_access_log
　　&lt;/VirtualHost&gt;
　　
　　&lt;VirtualHost 169.254.1.189&gt;
　　ServerName yanfa.zzvcom.com
　　DocumentRoot /www/yanfa
　　TransferLog logs/yanfa_access_log
　　&lt;/VirtualHost&gt;
　　
　　#mkdir /www
　　#cd /www
　　#mkdir ftp mail soft xiaoshou net yanfa cpzz kuanping/FONT&gt;</font>
														</pre>
												</td>
										</tr>
								</tbody>
						</table>
						<font color="#3300cc">　 </font>
						<p style="TEXT-INDENT: 2em" align="left">
								<font color="#3300cc">分别在/www/ftp /www/mail /www/soft /www/xiaoshou /www/net </font>
						</p>
						<p style="TEXT-INDENT: 2em" align="left">
								<font color="#3300cc">/www/yanfa /www/kuanping /www/cpzz目录下放一个各自的主页（index.html），并将其属性设为755。 </font>
						</p>
						<p style="TEXT-INDENT: 2em">
								<font color="#3300cc">
								</font>
						</p>
						<ccid_nobr />
						<center>
								<table cellspacing="0" bordercolordark="#ffffff" cellpadding="2" width="400" align="center" bordercolorlight="#000000" border="1">
										<tbody>
												<tr>
														<td class="code" style="FONT-SIZE: 9pt" bgcolor="#e6e6e6">
																<pre>
																		<ccid_code />
																		<font color="#3300cc">　　
　　#/usr/local/apache/bin/apachectl configtest
　　#/usr/local/apache/bin/httpd -S/FONT&gt;</font>
																</pre>
														</td>
												</tr>
										</tbody>
								</table>
						</center>
						<center>
								<font color="#3300cc">
								</font>
						</center>
						<div style="TEXT-INDENT: 2em" align="left">
								<font color="#3300cc">若一切都OK，就可以运行以下命令（启动apache） </font>
						</div>
						<div style="TEXT-INDENT: 2em" align="left">
								<font color="#3300cc">
								</font> </div>
						<ccid_nobr />
						<center>
								<table cellspacing="0" bordercolordark="#ffffff" cellpadding="2" width="400" align="center" bordercolorlight="#000000" border="1">
										<tbody>
												<tr>
														<td class="code" style="FONT-SIZE: 9pt" bgcolor="#e6e6e6">
																<pre>
																		<ccid_code />
																		<font color="#3300cc">　　
　　#/usr/local/apache/bin/apachectl start
　　
　　#vi /etc/named.conf/FONT&gt;</font>
																</pre>
														</td>
												</tr>
										</tbody>
								</table>
						</center>
						<p style="TEXT-INDENT: 2em" align="left">
								<font color="#3300cc">在尾部加上如下几行: </font>
						</p>
						<center style="TEXT-INDENT: 2em">
								<font color="#3300cc">
								</font> </center>
						<ccid_nobr />
						<center>
								<table cellspacing="0" bordercolordark="#ffffff" cellpadding="2" width="400" align="center" bordercolorlight="#000000" border="1">
										<tbody>
												<tr>
														<td class="code" style="FONT-SIZE: 9pt" bgcolor="#e6e6e6">
																<pre>
																		<ccid_code />
																		<font color="#3300cc">　　
　　zone "1.254.169.in-addr.arpa" in {
　　type master;
　　file "db.1.254.169";
　　allow-update { none; };
　　};
　　
　　zone "zzvcom.com" {
　　type master;
　　file "zzvcom.coms";
　　allow-update { none; };
　　};
　　
　　#vi /var/named/db.1.254.169
　　@ IN SOA localhost. root.localhost. (
　　1997022700 ; Serial
　　28800 ; Refresh
　　14400 ; Retry
　　3600000 ; Expire
　　86400 ) ; Minimum
　　IN NS localhost.
　　
　　1 IN PTR localhost.
　　189 IN PTR ftp.zzvcom.com
　　
　　#vi /var/named/zzvcom.coms
　　@ IN SOA dns.zzvcom.com. root.zzvcom.com. (
　　947579188 ; Serial Number
　　10800 ; Refresh after 3 hours
　　3600 ; Retry after 1 hour
　　604800 ; Expire after 1 week
　　86400 ) ; Minimum TTL of 1 day
　　
　　@ IN NS dns.zzvcom.com.
　　localhost IN A 127.0.0.1
　　ftp IN A 169.254.1.189
　　mail IN CNAME ftp
　　kuanping IN CNAME ftp
　　xiaoshou IN CNAME ftp
　　net IN CNAME ftp
　　soft IN CNAME ftp
　　yanfa IN CNAME ftp
　　cpzz IN CNAME ftp
　　
　　#vi /etc/resolv.conf
　　
　　domain zzvcom.com
　　nameserver 169.254.1.189
　　
　　#/etc/rc.d/init.d/named start/FONT&gt;</font>
																</pre>
														</td>
												</tr>
										</tbody>
								</table>
						</center>
						<center>
								<font color="#3300cc">
								</font>
						</center>
						<p style="TEXT-INDENT: 2em" align="left">
								<font color="#3300cc">用nslookup检验一下DNS的正确性。在我们客户端(WINDOWS下)设置DNS为169.254.1.189（只要这一个，因为我们的DNS服务器还不是一个公网IP，且没有申请为DNS服务器）。在IE里打开这个网址ftp.zzvcom.com soft.zzvcom.com 若正确，所有实验就成功了。 </font>
						</p>
				</center>
		</div>
<img src ="http://www.cnitblog.com/wildon/aggbug/22729.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/wildon/" target="_blank">Jerome</a> 2007-02-06 13:34 <a href="http://www.cnitblog.com/wildon/archive/2007/02/06/22729.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Linux口令丢失时你该怎么办？</title><link>http://www.cnitblog.com/wildon/archive/2007/01/26/22327.html</link><dc:creator>Jerome</dc:creator><author>Jerome</author><pubDate>Fri, 26 Jan 2007 07:47:00 GMT</pubDate><guid>http://www.cnitblog.com/wildon/archive/2007/01/26/22327.html</guid><wfw:comment>http://www.cnitblog.com/wildon/comments/22327.html</wfw:comment><comments>http://www.cnitblog.com/wildon/archive/2007/01/26/22327.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnitblog.com/wildon/comments/commentRss/22327.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/wildon/services/trackbacks/22327.html</trackback:ping><description><![CDATA[
		<font color="#6666ff">Linux口令的恢复是系统维护的一种典型情况，本文中提到的一些方法从系统维护的角度出发，不仅适用于Linux口令的恢复，也适用于因为某些原因不能正常登录进系统时的维护工作，对Linux系统的管理维护有参考作用。<br /></font>
		<p style="TEXT-INDENT: 2em">
				<b>
						<font color="#6666ff">一、口令恢复途径 </font>
				</b>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">下面恢复Linux口令的途径适用于不同的情况，难易度各有不同。 </font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">1． 紧急修复模式 </font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">在无法启动Linux时，常常需要通过磁盘、光盘或其他方法启动Linux基本环境，进入Linux紧急修复模式。在紧急修复模式下，能够访问硬盘上的Linux系统文件，恢复系统正常，包括恢复口令等。 </font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">2． 单用户模式 Linux有多个运行级别，如单用户模式、无网络服务多用户模式、完全多用户模式和X11图形多用户模式等运行级别。单用户模式是指系统运行在惟一用户——Root用户模式下，进入此模式时，系统只是加载了可运行的最低软硬件配置，以Root直接进入，没有口令验证。 </font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">在单用户模式下，可以用passwd命令来更改用户口令，也可以直接对/etc/passwd等账户口令文件进行读写，达到口令恢复的目的。 </font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">3． 修改口令文件 </font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">Linux口令文件有2种保存形式: 一种是把账户信息和经加密后的口令密文都保存在/etc/passwd文件中，此形式不够安全，在早期Unix中采用；另一种是把账户信息和口令密文分开存放，/etc/passwd文件用于保存账户信息，/etc/shadow文件用于保存口令密文。至于采用何种保存形式和加密算法，可以用/usr/sbin/authconfig程序来设置。 </font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">对于没有shadow的passwd文件，只要把相应账户的口令字段删除，即可不经口令验证直接登录系统，例如某passwd文件的root账户如下： </font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">
				</font>
		</p>
		<center>
				<ccid_nobr>
						<table cellspacing="0" bordercolordark="#ffffff" cellpadding="2" width="400" align="center" bordercolorlight="black" border="1">
								<tbody>
										<tr>
												<td class="code" style="FONT-SIZE: 9pt" bgcolor="#e6e6e6">
														<pre>
																<ccid_code>
																		<font color="#6666ff">　　root:$1$dPTzzYkE$Zd3Vs6yCu 
　　VH8RC1gwKXX01:0:0:root:/root:/bin/bash</font>
																</ccid_code>
														</pre>
												</td>
										</tr>
								</tbody>
						</table>
				</ccid_nobr>
		</center>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">将其修改为： </font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">
				</font>
		</p>
		<center>
				<ccid_nobr>
						<table cellspacing="0" bordercolordark="#ffffff" cellpadding="2" width="400" align="center" bordercolorlight="black" border="1">
								<tbody>
										<tr>
												<td class="code" style="FONT-SIZE: 9pt" bgcolor="#e6e6e6">
														<pre>
																<ccid_code>
																		<font color="#6666ff">　　root::0:0:root:/root:/bin/bash</font>
																</ccid_code>
														</pre>
												</td>
										</tr>
								</tbody>
						</table>
				</ccid_nobr>
		</center>
		<font color="#6666ff">　 </font>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">如果是有shadow的passwd文件，其口令字段以“x”字母代替，口令密文保存在Shadow文件中。可以删除passwd文件中的“x”字母，或者删除shadow文件中的口令密文，都可以使相应用户不经口令验证直接登录系统，达到口令恢复的目的。<br /></font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">4． 口令还原 </font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">有些情况下，想找出被丢失的原始口令，而不是登录系统去产生一个新的口令。但是，Linux使用的是DES（加密函数式是Crypt）或MD5（函数式是Md）加密算法，由于计算量之大，它们几乎都没有可能被逆向破解。DES口令密文是有13个ASCII字符的字符串，而MD5口令密文的启始字符总是“$1$”。 </font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">虽然很难逆向破解，但要通过口令密文找出原始口令也不是不可能的，从一个字典或一些字符的排列组合中提取字符串，提取出来的字符串用同样的加密算法加密，将产生的密文与口令密文比较，如果一致则表明该字符串即为原始口令，从而达到口令还原的目的。如果口令很复杂，使用此种方法也是很难找出原始口令的，但用户对自己口令的长度、采用的字符等会有大致的印象，这使得成功的可能性会更大。 </font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">破解Linux口令的工具有很多，如John the Ripper、Crack by Alex Muffett和Cracker Jack等等，其中John the Ripper的功能最为强大，速度也最快。 </font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">5． 系统攻击破解 </font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">如果能够关闭电源重新启动系统，那么很容易恢复口令，但有时Linux系统上运行着非常重要的服务，不能直接关闭电源，否则会对系统和数据产生破坏。 </font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">像这种在系统运行的情况下获得系统口令，往往是比较困难的，但由于系统管理员对操作系统和应用程序的版本、配置等情况有着全面的了解，加上没有防火墙和入侵检测系统等的防护，那么发现和利用系统漏洞的机会还是不少的，口令恢复的成功机会还是有的。 </font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">这方面涉及的内容太复杂，在此就不多做介绍了。如果确有这方面的需求，最好由专业人士来帮忙，以免破坏系统和数据。 <br /></font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<b>
						<font color="#6666ff">二、如何进入紧急修复模式 </font>
				</b>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">由于软硬件故障、错误配置等多种原因无法启动Linux时，需要进入紧急修复模式，有可能解决问题，至少也能拷出重要文件。 </font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">进入紧急修复模式的方法并不复杂，在boot提示符下输入如下参数: </font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">
				</font>
		</p>
		<center>
				<ccid_nobr>
						<table cellspacing="0" bordercolordark="#ffffff" cellpadding="2" width="400" align="center" bordercolorlight="black" border="1">
								<tbody>
										<tr>
												<td class="code" style="FONT-SIZE: 9pt" bgcolor="#e6e6e6">
														<pre>
																<ccid_code>
																		<font color="#6666ff">　　boot: linux rescue</font>
																</ccid_code>
														</pre>
												</td>
										</tr>
								</tbody>
						</table>
				</ccid_nobr>
		</center>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">通过如下方法可以得到Boot提示符。 </font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">用Linux随盘发行的或由boot.img文件写成的安装引导软盘引导系统，通常这需要紧急修复盘或安装光盘或者硬盘上的ISO文件配合使用才能引导进入紧急修复模式。紧急修复盘可由rescue.img文件写成或随盘发行。在RedHat Linux 6.1以后，RedHat不再提供紧急修复盘（安装光盘image目录下也没有rescue.img文件用来写），而是把它直接做在安装光盘上。 </font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">用安装光盘引导系统。 </font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">用bootnet.img文件写成的网络引导盘或pcmcia.img文件写成的PCMCIA引导盘引导系统，此方法先要确保网络连接正常，并且需要确定网络主机和传输类型。 </font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">RedHat Linux 7.2及其以后的版本，可以选择是否要把安装在硬盘上的Linux自动尝试加载到目录/mnt/sysimage下，否则，要用mount命令手工加载。 </font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">简单几步，就进入了紧急修复模式。提示符呈现在虚拟控制台VC 1和VC 2上，以便运行命令维护系统。用Ctrl+Alt+F1键切换到VC1，用Ctrl+Alt+F2键切换到VC 2。 </font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">如果选择了自动加载，用chroot命令，使当前操作环境变为欲修复的Linux，之后可用passwd命令直接更改用户口令： </font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">
				</font>
		</p>
		<center>
				<ccid_nobr>
						<table cellspacing="0" bordercolordark="#ffffff" cellpadding="2" width="400" align="center" bordercolorlight="black" border="1">
								<tbody>
										<tr>
												<td class="code" style="FONT-SIZE: 9pt" bgcolor="#e6e6e6">
														<pre>
																<ccid_code>
																		<font color="#6666ff">　　bash#chroot /mnt/sysimage</font>
																</ccid_code>
														</pre>
												</td>
										</tr>
								</tbody>
						</table>
				</ccid_nobr>
		</center>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">如果没有自动加载，就需运行mount命令加载Linux分区，并输入如下命令： </font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">
				</font>
		</p>
		<center>
				<ccid_nobr>
						<table cellspacing="0" bordercolordark="#ffffff" cellpadding="2" width="400" align="center" bordercolorlight="black" border="1">
								<tbody>
										<tr>
												<td class="code" style="FONT-SIZE: 9pt" bgcolor="#e6e6e6">
														<pre>
																<ccid_code>
																		<font color="#6666ff">　　bash#mount -t ext3 /dev/hda5 /foo</font>
																</ccid_code>
														</pre>
												</td>
										</tr>
								</tbody>
						</table>
				</ccid_nobr>
		</center>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">目录/foo是由用户自己创建的，/dev/hda5是我们欲加载的Linux分区，如果分区类型是ext2，那上面命令行中就以ext2代替ext3。 </font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">至此，就可以用chmod、vi、fsck等命令读写文件、维护系统，包括修复口令。 <br /></font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<b>
						<font color="#6666ff">三、如何进入单用户模式 </font>
				</b>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">与紧急修复模式只能加载本机Linux上的文件系统不同，单用户模式是在本机Linux内核引导启动后进入的一个运行级别（运行级别是1），可以做内核升级、设备安装等维护工作。在系统维护时，系统管理员往往要进入单用户模式来维护系统，进入紧急修复模式是在Linux不能启动时不得已而采用的系统维护方法。 </font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">Linux内核自行启动之后，通过启动程序init来完成自己的引导过程，所以，init进程始终是第一个进程，进程编号始终为1。Init程序有着许多重要的职责，如启动Getty、实施运行级别和调用子进程等，是Linux系统中必不可少的程序之一。 </font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">下面提到的进入单用户模式的方法，实质都是向init程序请求运行级别1，达到进入单用户模式的目的。 </font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">1．Init程序 </font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">系统正在运行时，在命令行上用程序Init可以更改运行级别(/sbin/telinit只是程序Init的符号链接，同样可以使用)，进入单用户模式用如下命令： </font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">#init 1 </font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">因为是在一个正在运行的系统上，且只有Root用户才有权限执行Init命令，所以此种方式虽然在系统维护时经常用到，但对口令恢复的意义不大。 </font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">2． 修改默认运行级别 </font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">/etc/inittab文件是系统运行级别的配置文件，每当启动init进程时，init程序都会读取/etc/inittab文件中的相应配置并运行。 </font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">在Linux系统启动时，/etc/inittab文件中有如下一行指定了默认的运行级别，通常的运行级别是3或5。 </font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">id:3:initdefault: </font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">要使系统启动后进入单用户模式，只要把上面一行中的3改为1就可以了。 </font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">id:1:initdefault: </font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">3． 启动盘引导 </font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">在Linux系统启动时，Init读取/etc/inittab配置进入默认运行级别，但也可以为内核指定一个启动参数，内核将依此参数设定特定设备和环境变量等，对于不能接受解释的参数将传递给内核启动后的第一个程序，即Init程序，Init程序据此参数启动进入非默认运行级别，如指定参数为1或single进入运行级别1，即单用户模式。内核启动参数的指定可通过在系统启动软盘、多重启动管理器或程序Loadlin等的执行过程中指定。 </font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">在系统维护或内核更新时，常用到当前Linux系统的启动盘，在系统安装时会提示用户制作一张启动盘，在系统安装完成后也可以制作，下面是一个简单示例。 </font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">在软驱中放入软盘，用uname命令查看系统内核版本号，然后用Mkbootdisk命令创建引导盘，输入的命令如下： </font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">
				</font>
		</p>
		<center>
				<ccid_nobr>
						<table cellspacing="0" bordercolordark="#ffffff" cellpadding="2" width="400" align="center" bordercolorlight="black" border="1">
								<tbody>
										<tr>
												<td class="code" style="FONT-SIZE: 9pt" bgcolor="#e6e6e6">
														<pre>
																<ccid_code>
																		<font color="#6666ff">　　#uname –r 
　　2.4.7-10 
　　#mkbootdisk –device /dev/fd0 2.4.7-10</font>
																</ccid_code>
														</pre>
												</td>
										</tr>
								</tbody>
						</table>
				</ccid_nobr>
		</center>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">以启动盘引导，在boot提示符下以“linux ”的语法形式输入如下参数之一，即可引导进入单用户模式如下： </font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">
				</font>
		</p>
		<center>
				<ccid_nobr>
						<table cellspacing="0" bordercolordark="#ffffff" cellpadding="2" width="400" align="center" bordercolorlight="black" border="1">
								<tbody>
										<tr>
												<td class="code" style="FONT-SIZE: 9pt" bgcolor="#e6e6e6">
														<pre>
																<ccid_code>
																		<font color="#6666ff">　　boot: linux 1 
　　boot: linux single</font>
																</ccid_code>
														</pre>
												</td>
										</tr>
								</tbody>
						</table>
				</ccid_nobr>
		</center>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">4． 多重启动管理器 </font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">多重启动管理器是一个能在系统启动时用来选择加载某个操作系统的引导程序，它可以载入操作系统的内核和初始化操作系统（如Linux或FreeBSD），或者把引导权交给操作系统（如DOS或Windows）来完成引导。Intel兼容PC机上的多重启动管理器有LILO和GRUB等，Alpha PC机上使用MILO，Sparc兼容的工作站是用SILO。 </font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">在多重启动管理器中为Linux内核指定启动参数引导进入单用户模式。以Intel兼容PC机上的Linux为例，如果安装的是LILO，在LILO引导画面，按Ctrl+X键切换入命令行，在LILO提示符下输入与启动盘引导Boot提示符下相同的参数之一，即可引导进入单用户模式： </font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">在RedHat Linux 7.2以后，多重启动管理器开始用GRUB代替LILO，它比LILO具有更多的优势，是LILO的替代品。下面是GRUB引导进入单用户模式的过程。 </font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">在出现GRUB引导画面时，按字母e键，进入GRUB编辑状态。 </font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">按↑键或↓键选择相应的引导项，并再接字母e键进入命令行编辑。 </font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">在出现的命令行上添加“1”或single，并按键，返回GRUB编辑状态。 </font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">按字母b键，引导进入单用户模式。 </font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">从上可以看出多重启动管理器对Linux系统启动和维护的重要性，所以建议在安装Linux时也安装好多重启动管理器，便于将来系统的维护，哪怕是主机上只安装了Linux一个操作系统。 </font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">5． loadlin引导 </font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">loadlin是一个能在DOS下启动Linux核心的装载程序，可从DOS引导进入Linux或安装Linux系统等。如果没有安装多重启动管理器或者配置有误不能进入Linux的话，常常会用到这个程序。 </font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">在loadlin的启动命令中添加single参数就可以进入单用户模式。如果主机上安装有Windows 9x系统，在系统启动时按F8进入MS-DOS，运行loadlin程序引导进入单用户模式。下面是一次启动实例，该主机上没有安装Windows 9x，也没有安装DOS。 </font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">以Windows 98安装光盘引导启动，在“Microsoft Windows 98 Startup Menu”上选择第2项：“start computer with CD-ROM support.”。 </font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">进入MS-DOS后，在光驱中换入RedHat Linux安装光盘。 </font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">在命令行上分别输入如下命令引导Linux单用户模式，假设Linux根文件系统在分区/dev/hda5上： </font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">
				</font>
		</p>
		<center>
				<ccid_nobr>
						<table cellspacing="0" bordercolordark="#ffffff" cellpadding="2" width="400" align="center" bordercolorlight="black" border="1">
								<tbody>
										<tr>
												<td class="code" style="FONT-SIZE: 9pt" bgcolor="#e6e6e6">
														<pre>
																<ccid_code>
																		<font color="#6666ff">　　A:&gt;d: 
　　D:&gt;cd dosutils 
　　D:DOSUTILS&gt;loadlin autobootvmlinuz root=/dev/hda5 ro single</font>
																</ccid_code>
														</pre>
												</td>
										</tr>
								</tbody>
						</table>
				</ccid_nobr>
		</center>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">在启动盘引导的boot提示符下，在LILO和GRUB等启动管理器的命令行下，以及在Loadlin程序上都可以配置很多参数引导进入系统，对系统维护很重要，可以参考BootPrompt-HowTo。 </font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">上面提到的方法，都需要对/etc/passwd、/etc/inittab等Linux文件进行读写，但在正常情况，只有root用户登录进去才可以读写。那么在不能正常登录进系统时，又如何能对这些文件进行读写呢？ </font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">除了可以在紧急修复模式、单用户模式下读写Linux文件外，采用下面的方法也不失为良策: </font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">通过Linux系统软盘引导启动，就能进入Linux系统； </font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">通过Linux系统光盘进入，如DemoLinux； </font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">在DOS/Windows下读写Linux文件，几乎所有版本的DOS/Windows都不提供对Linux文件系统的支持，但借助不少软件可以实现，如FSDext2、Ext2fsnt、Ext2ifs、Ext2 tools、Ltools和Explore2fs等，还有Microsoft IFS Kit; 通过第二硬盘。 </font>
		</p>
		<p style="TEXT-INDENT: 2em">
				<font color="#6666ff">上面提到的种种Linux口令恢复方法，读者可以结合自己的实际情况，选择一种最简单易行的方法来恢复自己的Linux口令。从中可以看出，他人通过在本地重启系统很容易获取Linux口令，所以为了加强系统安全，有必要在启动管理器（如LILO和GRUB）及BIOS中设置口令，使他人不能轻易得逞，更重要的是加强安全管理工作。 </font>
		</p>
<img src ="http://www.cnitblog.com/wildon/aggbug/22327.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/wildon/" target="_blank">Jerome</a> 2007-01-26 15:47 <a href="http://www.cnitblog.com/wildon/archive/2007/01/26/22327.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在Redhat Linux AS 4下实现软件RAID</title><link>http://www.cnitblog.com/wildon/archive/2007/01/26/22325.html</link><dc:creator>Jerome</dc:creator><author>Jerome</author><pubDate>Fri, 26 Jan 2007 07:37:00 GMT</pubDate><guid>http://www.cnitblog.com/wildon/archive/2007/01/26/22325.html</guid><wfw:comment>http://www.cnitblog.com/wildon/comments/22325.html</wfw:comment><comments>http://www.cnitblog.com/wildon/archive/2007/01/26/22325.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnitblog.com/wildon/comments/commentRss/22325.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/wildon/services/trackbacks/22325.html</trackback:ping><description><![CDATA[
		<font color="#6600ff">通常情况下人们在服务器端采用各种冗余磁盘阵列（RAID）技术来保护数据，中高档的服务器一般都提供了昂贵的硬件RAID控制器。对于资金实力有限的中小企业来讲，在Linux下通过软件来实现硬件的RAID功能，这样既节省了投资，又能达到很好的效果。何乐而不为呢？<br /><br />　　作为一个面向服务器的网络型操作系统，Linux对数据的安全和存取速度给予了高度重视，从2.4版内核开始Linux就实现了对软件RAID的支持（关于RAID的背景知识请见附文），这让我们可以不必购买昂贵的硬件RAID设备，就能享受到增强的磁盘I/O性能和可靠性，进一步降低了系统的总体拥有成本。下面就让我们看一个Redhat Linux AS 4下的软件RAID配置实例吧。<br /><br />　　<b>系统配置情况</b><br /><br />　　假设某单位新上了一套使用Oracle数据库的能量采集系统，该系统数据量极大并且读写非常频繁，实时性要求高，高峰时有近40名用户在线，对数据库服务器的磁盘子系统提出了很高的要求。由于预算比较紧张，经过多方比较，最终选择了采用Linux系统做软件RAID5的方案。<br /><br />　　其配置情况如下：<br /><br />　　● 操作系统为RedHat Linux AS 4；<br /><br />　　● 内核版本为2.6.9-5.EL；<br /><br />　　● 支持RAID0、RAID1、RAID4、RAID5、RAID6；<br /><br />　　● 五块36GB SCSI接口的磁盘，其中RedHat AS 4安装在第一块磁盘，其它四块组成RAID 5用来存放Oracle数据库。<br /><br />　　在RedHat AS 4下实现软件RAID是通过mdadm工具实现的，其版本为1.6.0，它是一个单一的程序，创建、管理RAID都非常方便，而且也很稳定。而在早期Linux下使用的raidtools，由于维护起来很困难，而且其性能有限，在RedHat AS 4下已经不支持了。<br /><br />　　<b>实现过程</b><br /><br />　　1．创建分区<br /><br />　　五块SCSI磁盘分别对应/dev/sda、/dev/sdb、/dev/sdc、/dev/sdd、/dev/sde。其中第一块磁盘/dev/sda分两个区，用于安装RedHat AS 4和做交换分区，其他四块磁盘每块只分一个主分区，分别为/dev/sdb1、/dev/sdc1、/dev/sdd1、/dev/sde1，并且将分区类型指定为“fd”，这将使Linux内核能将它们识别为RAID分区，且在每次引导时自动被检测并启动。创建分区使用fdisk命令。<br /><br />　　# fdisk /dev/sdb<br /><br />　　进入fdisk命令行后，使用命令n创建分区，命令t改变分区类型，命令w保存分区表并退出，命令m为帮助。<br /><br />　　2．创建RAID 5<br /><br />　　这里使用了/dev/sdb1、/dev/sdc1、/dev/sdd1、/dev/sde1四个设备创建RAID 5，其中/dev/sde1作为备份设备，其他为活动设备。备份设备主要起备用作用，一旦某一设备损坏可以立即用备份设备替换，当然也可以不使用备份设备。命令格式如下：<br /><br />　　# mdadm -Cv /dev/md0 -l5 -n3 -x1 -c128 /dev/sd[b,c,d,e]1<br /><br />　　命令中各参数分别表示如下作用：“-C”指创建一个新的阵列；“/dev/md0”表示阵列设备名称；“-l5”表示设置阵列模式，可以选择0、1、4、5、6，它们分别对应于RAID0、RAID1、RAID4、RAID5、RAID6，这里设为RAID5模式；“-n3”指设置阵列中活动设备的数目，该数目加上备用设备的数目应等于阵列中的总设备数; “-x1”设置阵列中备份设备的数目，当前阵列中含有1个备份设备；“-c128”指设置块的尺寸为128KB，缺省为64KB；“/dev/sd[b,c,d,e]1”指当前阵列中包含的所有设备标识符，也可以分开来写，中间用空格分开，其中最后一个为备份设备。<br /><br />　　3．查看阵列状态<br /><br />　　当创建一个新阵列或者阵列重构时，设备需要进行同步操作，这一过程需要一定时间，可以通过查看/proc/mdstat文件，来显示阵列的当前状态以及同步进度、所需时间等。<br /><br />　　# more /proc/mdstat<br /><br />　　Personalities : [raid5]<br /><br />　　md0 : active raid5 sdd1[3] sde1[4] sdc1[1] sdb1[0]<br /><br />　　75469842 blocks level 5, 128k chunk, algorithm 2 [3/2] [UU_]<br /><br />　　[&gt;....................] recovery = 4.3% (1622601/37734912) finish=1.0min speed=15146K/sec<br /><br />　　unused devices:<br /><br />　　# more /proc/mdstat<br /><br />　　Personalities : [raid5]<br />经过几分钟后，再次查看当前阵列状态。<br /><br />　　# more /proc/mdstat<br /><br />　　Personalities : [raid5]<br /><br />　　md0 : active raid5 sdd1[2] sde1[0] sdc1[1] sdb1[3](F)<br /><br />　　75469842 blocks level 5, 128k chunk, algorithm 2 [3/3] [UUU]<br /><br />　　unused devices:<br /><br />　　此时阵列重构已经完成，数据恢复完毕，原有的备份设备sde1成为了活动设备。<br /><br />　　2．移除损坏的设备<br /><br />　　# mdadm /dev/md0 -r /dev/sdb1<br /><br />　　查看当前阵列的状态：<br /><br />　　# more /proc/mdstat<br /><br />　　Personalities : [raid5]<br /><br />　　md0 : active raid5 sdd1[2] sde1[0] sdc1[1]<br /><br />　　75469842 blocks level 5, 128k chunk, algorithm 2 [3/3] [UUU]<br /><br />　　unused devices:<br /><br />　　损坏的sdb1已经从阵列中移掉。<br /><br />　　3．将新设备添加到阵列中<br /><br />　　因为是模拟操作，可以通过下面的命令再次将/dev/sdb1添加到阵列中。如果是实际操作则要注意两点：一是在添加之前要对新磁盘进行正确的分区；二是添加时要用所添加设备的设备名替换/dev/sdb1。<br /><br />　　# mdadm /dev/md0 -a /dev <br /></font>
<img src ="http://www.cnitblog.com/wildon/aggbug/22325.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/wildon/" target="_blank">Jerome</a> 2007-01-26 15:37 <a href="http://www.cnitblog.com/wildon/archive/2007/01/26/22325.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>