从系统维护角度谈Linux系统口令恢复

时间:2007-02-12 17:11:19   来源:  作者:  点击:次  出处:技术无忧
关键字:口令 遗失 Root口令 系统维护 口令还原 系统攻击 紧急修复

二、如何进入紧急修复模式

由于软硬件故障、错误配置等多种原因无法启动Linux时,需要进入紧急修复模式,有可能解决问题,至少也能拷出重要文件。

进入紧急修复模式的方法并不复杂,在boot提示符下输入如下参数:


  boot: linux rescue
 

通过如下方法可以得到Boot提示符。

用Linux随盘发行的或由boot.img文件写成的安装引导软盘引导系统,通常这需要紧急修复盘或安装光盘或者硬盘上的ISO文件配合使用才能引导进入紧急修复模式。紧急修复盘可由rescue.img文件写成或随盘发行。在RedHat Linux 6.1以后,RedHat不再提供紧急修复盘(安装光盘image目录下也没有rescue.img文件用来写),而是把它直接做在安装光盘上。

用安装光盘引导系统。

用bootnet.img文件写成的网络引导盘或pcmcia.img文件写成的PCMCIA引导盘引导系统,此方法先要确保网络连接正常,并且需要确定网络主机和传输类型。

RedHat Linux 7.2及其以后的版本,可以选择是否要把安装在硬盘上的Linux自动尝试加载到目录/mnt/sysimage下,否则,要用mount命令手工加载。

简单几步,就进入了紧急修复模式。提示符呈现在虚拟控制台VC 1和VC 2上,以便运行命令维护系统。用Ctrl+Alt+F1键切换到VC1,用Ctrl+Alt+F2键切换到VC 2。

如果选择了自动加载,用chroot命令,使当前操作环境变为欲修复的Linux,之后可用passwd命令直接更改用户口令:


  bash#chroot /mnt/sysimage
 

如果没有自动加载,就需运行mount命令加载Linux分区,并输入如下命令:


  bash#mount -t ext3 /dev/hda5 /foo
 

目录/foo是由用户自己创建的,/dev/hda5是我们欲加载的Linux分区,如果分区类型是ext2,那上面命令行中就以ext2代替ext3。

至此,就可以用chmod、vi、fsck等命令读写文件、维护系统,包括修复口令。
三、如何进入单用户模式

与紧急修复模式只能加载本机Linux上的文件系统不同,单用户模式是在本机Linux内核引导启动后进入的一个运行级别(运行级别是1),可以做内核升级、设备安装等维护工作。在系统维护时,系统管理员往往要进入单用户模式来维护系统,进入紧急修复模式是在Linux不能启动时不得已而采用的系统维护方法。

Linux内核自行启动之后,通过启动程序init来完成自己的引导过程,所以,init进程始终是第一个进程,进程编号始终为1。Init程序有着许多重要的职责,如启动Getty、实施运行级别和调用子进程等,是Linux系统中必不可少的程序之一。

下面提到的进入单用户模式的方法,实质都是向init程序请求运行级别1,达到进入单用户模式的目的。

1.Init程序

系统正在运行时,在命令行上用程序Init可以更改运行级别(/sbin/telinit只是程序Init的符号链接,同样可以使用),进入单用户模式用如下命令:

#init 1

因为是在一个正在运行的系统上,且只有Root用户才有权限执行Init命令,所以此种方式虽然在系统维护时经常用到,但对口令恢复的意义不大。

2. 修改默认运行级别

/etc/inittab文件是系统运行级别的配置文件,每当启动init进程时,init程序都会读取/etc/inittab文件中的相应配置并运行。

在Linux系统启动时,/etc/inittab文件中有如下一行指定了默认的运行级别,通常的运行级别是3或5。

id:3:initdefault:

要使系统启动后进入单用户模式,只要把上面一行中的3改为1就可以了。

id:1:initdefault:


文章评论

共有 0 位网友发表了评论 此处只显示部分留言 点击查看完整评论页面

300x250广告位招租