谁都有可能丢东西,要是把自己服务器的root密码丢了怎么办?没关系,我们用下面的方法恢复。
恢复方法
方法一:直接通过lilo制定init="/bin/bash启动来修改密码。
方法二:通过光盘启动,挂载/分区,修改/etc/shadow文件来清空密码。
方法一实现过程
首先启动启动linux,到lilo出现的时候,我们随便按一键让lilo停住(不要按回车哦),这个时候将出现和下面类似的画面。
这里我们看到lilo列表里面只有一个系统,就是启动项名称叫slack的系统。
我们输入如下命令启动这个系统
slack init=/bin/bash rw
注意:我们上面命令里面的slack是和启动项名称对应的。你在你的lilo里面设置的系统是什么名称,就用什么代替。
系统进入系统后,会出现如下的提示符
bash-3.00#
我们在提示符后面输入
passwd
按照给我们的说明,输入两至三次新的密码就可以了。
因为现在的系统只是个很小的内核系统,我们不要作任何其它的操作,也不要用exit退出shell。
修改好密码后,我们用如下命令让/目录只读
mount -o remount,rw /
现在就可以安全的重启系统了。
方法二实现过程
我们用slackware的安装光盘启动系统。
注意,如果你是scsi的硬盘,要用scsi.s参数来启动系统。
在用root进入这个光盘引导的系统后,我们将我们硬盘上linux的/分区挂载上来。
用如下命令挂载
mkdir /mnt/root
mount /dev/sda1 /mnt/root
注意:我的硬盘是scsi的,/分区位于sda这个设备上,所以我用mount /dev/sda1来挂载/分区。你的硬盘和分区也许和我的不一样,要自己修改上面的mount命令。
然后我们用vi来编辑硬盘上的shadow文件
vi /mnt/root/etc/shadow
我们会看到类似下面的画面
我们将第一行内容修改如下
root::12941:0:::::
其实就是把root后面的第一个和第二个冒号之间的内容删掉。然后我们保存退出,用reboot重启系统就可以了。
总结
第一种方法不用光盘,很容易。而且可以达到修改密码的效果。但是如果没有lilo的启动画面出现,就不太好办了。
SlackWare Linux下恢复root口令第二种方法需要用到光盘来启动系统,相对要复杂一些。但是可以在没有lilo启动画面的时候,作为一种补充。不过第二种方法只能简单的清空密码,要记得下次启动后,要自己设置密码。
炫浪学院 Linux教程