网络安全 频道

Linux操作系统跨控制台登录方法运用

2、linux rescue

  请参考前面第二点所说的修复模式。

  3、借linux的livecd光盘 或第三方linux系统

  linux的livecd版本是无需安装的linux 系统,在光盘上就可以运行的linux 系统; livecd 大多是用来修复之用,livecd 集成了常用的系统操作工具。第三方Linux系统是指你的机器上安装一个以上的Linux系统,如果其中一个发生问题,我们就可以用另一个来修复。livecd 和第三方linux系统来修复已经被破坏的Linux ,常用的工具有mount 和chroot等等 ;如果您只是简单的更改存在问题的系统文件,用mount 就足够了。chroot 工具可以改变/,进而进入另一个系统,这个工具的确有用。

  我们还是举个例子来说明如何通过用mount和chroot。至于机器中第三方Linux和Livecd的使用比较简单,这里就不多说了。livecd就是在光盘上运行的linux ,您可以找一个livecd的发行版本刻录一下就能用了,使用简单方便。下载地址:http://www.frozentech.com/content/livecd.php。常用的有 SLAX,Knoppix,Damn Small Linux,Ubuntu ... ...

  大体都差不多,下载一个小的备用也行,就看您怎么用了。通过livecd linux 或其它linux 来修复已经破坏的Linux步骤如下:

  1)mount 挂载文件系统

  注:执行mount 及chroot时,要以root权限运行,以下同。比如存在问题的系统位于 /dev/hda5 ,如果您不知道哪个分区是linux的,您可以通过fdsik -l 来查看;

  [root@localhost ~]# fdisk -l 注:查看分区情况;

  [root@localhost ~]# pwd 注:确定当前工作目录;

  /root 注:当前工作目录为/root

  [root@localhost ~]# mkdir systmp 注:在当前工作目录下创建一个临时目录;

  [root@localhost ~]# mount /dev/hda5 systmp/ 注:挂载hda5到tmpsys目录中;

  [root@localhost ~]# df -h 注:查看是否已经挂载;

  Filesystem 容量 已用 可用 已用% 挂载点。

/dev/hda8 11G 9.8G 581M 95% / 
/dev/shm 236M 0 236M 0% /dev/shm 
/dev/hda5 7.9G 5.9G 2.0G 76% /root/systmp 注:看好了,是挂载到了/root/systmp目录中;

  既然把/dev/hda5分区的文件系统已经挂载了,我们就能对已经挂载的文件系统进行写操作;如果是简单的备份和文件修改,是完全能行的。

  注意:在写操作的过程中,要倍加不心,在操作某个文件的时候,要先备份;当出现不能mount的情况,可能是您的当前所用的内核不支持相应的文件系统;如果系统要求指定文件系统的时候,请看如下的例子:

  mount -t 文件系统类型 磁盘分区 挂载目的目录

  对于linux的文件系统类型主要有:reiserfs,ext3,ext2;具体用什么文件系统类型,你最明白;如果您还是不知道,就一个一个的尝试;比如我的hda5是reiserfs的,可以用下面的命令来挂载:

[root@localhost ~]# mount -t reiserfs /dev/hda5 systmp/

  2)chroot 到已经挂载的文件系统

  chroot这个工具很有用,很多Linux都支持chroot切换到另一个文件系统中,然后进行一系列系统包的安装和系统配置;这并不是说任何文件系统都能chroot切入 ,首先这个文件系统中得具备系统运行的一定的工具和环境,比如/bin和/sbin 目录是拥有等....

  用中文表达不清楚,还是举例来说明。比如我的机器中有两个Linux系统,一个运行正常,另一个有点问题(比如是root密码忘记了),我想通过正常的系统来修复另一个;首先我们进行的是mount ,也就是前面所说的,然后下一步就是chroot ;通过chroot 切换到要修复的文件系统中;比如存在问题的系统位于 /dev/hda5

[root@localhost ~]# fdisk -l 
[root@localhost ~]# pwd 
/root 
[root@localhost ~]# mkdir systmp 
[root@localhost ~]# mount /dev/hda5 systmp/ 
[root@localhost ~]# df -h 
Filesystem 容量 已用 可用 已用% 挂载点 
/dev/hda8 11G 9.8G 581M 95% / 
/dev/shm 236M 0 236M 0% /dev/shm 
/dev/hda5 7.9G 5.9G 2.0G 76% /root/systmp 
[root@localhost ~]# chroot systmp 注:chroot到hda5分区的系统中; 
bash-3.00# 注:已经登录; 
bash-3.00# df -lh 注:查看文件系统挂载情况; 
Filesystem 容量 已用 可用 已用% 挂载点 
/dev/hda5 7.9G 5.9G 2.0G 76% / 
proc 7.9G 5.9G 2.0G 76% /proc 
sysfs 7.9G 5.9G 2.0G 76% /sys

  上面我们就通过chroot 命令完成了通过一个系统到另一个系统的跨控制台登录;Livecd 如果要完成此任务,也是通过这样过程完成的。我们既然已经登录到有问题的系统了,可以进行相应的修复工作,比如对root密码的恢复,软件包的安装,相应文件的修改... ... 我想您应该知道怎么做,对不对???有些发行版的安装盘类似livecd ,比如slackware 的安装盘的第一张,当他启动到让你输入用户名和密码进行安装时,我们不必输入什么,或者直接输入root ,就能进入cdrom 虚拟环境了;这时我们就用前面所说mount加载文件系统,然后chroot挂载的文件系统。

  四、关于本文

  看到论坛的弟兄还在大呼丢了root密码怎么恢复,虽然坛里也有不少文档,但大多没有形成系统,为了解决问题而重写此文,可能有的弟兄需要这样的文档;既然有“市场”,我就写,没有什么大不了的;有的弟兄认为是小题大作,就当我锻炼身体好了;这样的文档谁都会写,没有什么难的。 http://netadmin.77169.com/HTML/20061113001500_3.html

0
相关文章