用户在使用 Linux 系统时难免会出现口令遗失、配置错误、系统故障等问题,导致不能正常登录进自己的 Linux 系统。如果能够以其它的方式去读写 Linux 文件,对文件进行修改,则有可能恢复问题,至少也可以拷贝出重要文件,使重要数据不会被丢失。在此,有以下几种方法可以在不能正常登录时实现对 Linux 文件的读写。
紧急修复模式
紧急修复模式是以紧急修复软盘或 Linux 安装光盘引导启动后,在 boot 提示符下输入 “linux rescue” 参数引导进入的 Linux 基本环境。在紧急修复模式下,能够使用 chmod、vi、fsck 等命令去读写硬盘上的 Linux 文件,从而挽回某种过失,恢复系统正常。
单用户模式
与紧急修复模式只能加载本机 Linux 上的文件系统不同,单用户模式是在本机 Linux 内核引导启动后进入的一个运行级别(运行级别是1)。单用户指的是系统运行惟一的用户??超级用户模式下,进入时无需口令验证。进入此模式时,系统只是加载了可以运行的最低软硬件配置,可以做 Kernel 升级、设备安装等维护工作。在系统维护时,系统管理员往往要进入单用户模式来维护系统。
进入单用户模式的方法有许多种,如果安装了 LILO 多重启动管理器,在系统启动时的 “LILO boot” 提示符下输入 “linux single” 参数,即可进入单用户模式。
如果没有安装多重启动管理器,可以用系统启动盘引导。在 boot 提示符下输入 “linux single” 参数也可引导进入单用户模式。
如果没有系统启动盘,也可以在 DOS 环境下以 loadlin 程序引导进入单用户模式。如果主机上安装有 Windows 9x 系统,在 Windows 9x 启动时按 F8 可以进入 MS-DOS,如果没有安装 DOS 或 Windows 9x, 可以用 Windows 9x 安装光盘引导进入 DOS 环境,然后输入如下命令:
D:DOSUTILS>loadlin autobootvmlinuz root=/dev/hda5 ro single
即可引导进入 Linux 单用户模式(假设 D 盘是光盘驱动器,/dev/hda5 是 Linux 系统的根分区)。
软盘上的 Linux
把 Linux 系统做在一张或数张软盘上,以此软盘引导启动就能进入一个完全独立于硬盘的 Linux 系统。用 mount 命令加载硬盘上相应的分区,就能够对该分区上的文件进行读写和系统维护。软盘上的 Linux 体积虽小,但五脏俱全,而且功能还不少,不仅可以用于 Linux 的学习试用、系统维护等,也有人将它应用于防火墙、简单路由器管理等方面。
软盘上的 Linux 有很多种,大家可以到相关网站下载 img 或 zip 等文件,并用 rawrite 等程序把它制作到软盘上。
下面是相关网站:
◆ Tomsrtbt(The most GNU/Linux on 1 floppy disk)http://www.toms.net/rb/
◆ HAL91 http://www.itm.tu-clausthal.de/?perle/hal91/
◆ LOAF(Linux on a floopy) http://www.ecks.org/projects/loaf/
◆ MuLinux http://sunsite.dk/mulinux/
◆ Coyotelinux http://www.coyotelinux.com
◆ FloppyFW http://www.zelow.no/floppyfw/
◆ LinuxRouter http://lrp.steinkuehler.net
光盘上的 Linux
DemoLinux 是一个可以直接运行在光盘上的 Linux,不需要分区、安装等复杂的步骤,只需以 DemoLinux 安装光盘引导启动就能进入 Linux 环境,而且不会将 Linux 安装到硬盘上,完全独立于硬盘。默认情况下它会自动检测硬盘上的分区,并且 mount 到相应的目录,例如设硬盘上 Linux 系统的根分区是 /dev/hda5,那么就可以进入 /mnt/hda5 目录去读写相关文件。
DemoLinux 对文件系统有着广泛的支持,不仅支持 Linux 系统要用到的 ext 文件系统,而且也支持 FAT、NTFS 等文件系统,所以,如果 Windows 系统发生故障,那么也能用 DemoLinux 引导启动后去读写 Windows 系统所在分区内的文件,从而修复 Windows 系统故障。
DemoLinux 发行的本意是为了推广 Linux,用于 Linux 演示,让初学者了解 Linux 的使用方法和体会它的强大功能,让软件开发商知道基于 Linux 的开发并不是一件复杂的事情。因为它的功能非常强大,在本人看来它也是 Linux 系统管理员要必备的工具盘。相关网站 http://www.demolinux.org。
在 DOS/Windows 下读写 Linux 文件
几乎所有版本的 DOS/Windows 都没有提供对 Linux 文件系统(如 ext2、ext3 文件系统等)的支持,但借助不少软件可以帮助实现这一点,如 FSDext2、ext2fsnt、ext2ifs、Ltools 和 Explore2fs 等,并且这些工具都是免费的。
在操作方式上,FSDext2、ext2fsnt 和 ext2ifs 以设备驱动的方式让 Windows 提供了对 ext2 文件系统的支持。把 Linux 上的 ext2 文件系统直接挂载到某个盘符上,对它的访问就相当于访问 Windows 上的某个盘符,这样就非常易于使用。ext2 tools、Ltools 和 Explore2fs 提供了命令或图形界面等的方式来访问 Linux 上的 ext2 文件系统。虽然这些工具说是用来提供访问 ext2 文件系统,但在本人实际使用中,大多数也支持最新的 ext3 文件系统。这些工具都非常易于安装使用,大家只要看一下它的操作界面或帮助说明就基本不成问题了。
如上所述,如果主机上安装有 DOS/Windows 和 Linux 等多操作系统,那么就可以在 DOS/Windows 系统下实现对 Linux 文件的读写,以便修复 Linux 系统故障。相关网站如下:
◆ LTOOLS 主页 http://www.it.fht-esslingen.de/?zimmerma/software/ltools.html,有关 LTOOLS 更详细的介绍以及下载,支持 DOS 和所有版本的 Windows;
◆ EXT2 IFS 主页 http://uranus.it.swin.edu.au/?jn/linux/ext2ifs.htm,仅支持 Windows NT/2000/XP;
◆ Ext2fsnt 主页 http://ashedel.chat.ru/ext2fsnt/,仅支持 Windows NT/2K/XP;
◆ Explore2fs 主页 http://uranus.it.swin.edu.au/?jn/linux/explore2fs.htm,仅能读 ext2 分区,支持所有版本的 Windows;
◆ FSDext2 主页 http://www.yipton.demon.co.uk/,仅能读 ext2 分区,仅支持 Windows 9x/ME;
◆ Filesystems-HOWTO 主页 http://www.tldp.org/HOWTO/Filesystems-HOWTO.html,有各文件系统的介绍,包括提供大量有关各系统间文件互访的资料和工具。
第二硬盘法
如果你的主机上既没有软驱、光驱、没有安装双操作系统,也没有安装 LILO、Grub 等多重启动管理器,导致以上方法都失效,那么除了在这台主机上增加软驱或光驱设备外,还可以把这台主机上的硬盘拆卸下来挂接到别的 Linux 主机上做为第二块硬盘,然后用 mount 命令加载第二块硬盘内相应的分区来达到读写这块硬盘内 Linux 文件的目的。
从上面可以看出,只要能在本地重新启动系统,那么即使没有超级用户的口令也能很轻易地去读写 Linux 文件,从而获取重要数据。所以,系统管理员有必要加强机房安全管理,以免重要数据失窃。