1、单用户模式
如果忘记root密码,怎么办?
可以用单用户模式进入Linux,在这之前,需要重启Linux。一般有3种命令可以重启Linux,分别是 reboot , init 6 , shutdown -r now 。关机的命令是,init 0 , poweroff 。
重启之后,在进入下图界面时,按上下方向键选择,
按字母”e“键可以编辑,现在选择第一行的系统,然后按字母”e“,进入下图grub界面,
使用上下方向键,找到linux16开头的这一行,按右方向键,把鼠标移动到ro字母后面,见下图,
把ro改成rw,表示read和write,读和写。然后再加几个字符串,具体见下图红色框框内容,
输入完毕,同时按 Ctrl+x ,即可重启Linux。之后就出来下图界面,
目前所在的环境,相当于是安全模式,还没进入系统。我们可以先操作几个命令看看。
由于当前操作的系统,不是原来的系统,相当于内存操作系统,所以现在需要切换一下系统,用命令“chroot /sysroot/”执行,再用cat命令操作,我们可以看出两个命令是不一样的。切换系统之后,现在就可以使用原来系统的命令了。
现在要更改root密码,输入命令:passwd root ,
可以看到,结果出现了小方块,就是乱码,这个时候需要更改一下语言,先用Ctrl+C 来结束命令,然后编辑”LANG=en“这个命令来定义语言。原来是中文,所以显示了小方块,现在换成英文,再试一下。
现在就可以了,然后改一下密码,改完密码之后,还需要做一个命令,才可以用新密码登陆Linux。见下图,
一定要做这个命令,才可以登陆Linux,现在要重启系统。右击系统名称抬头,在电源中选择重新启动客户机,就可以重启了。
启动完成,用新密码登陆Linux。
几个tips:
1、更改root密码,需要到原始机房去更改,远程登陆是进不了单用户模式的,不用担心别人随意更改自己的root密码。
2、单用户模式设置完之后,仅对本次操作有效,重启之后就会恢复,不再是单用户模式,没有必要再改回来。
2、救援模式
在CentOS 6 和之前的版本中有“运行级别”的概念,分0-6 。
0-关机。
1 - 单用户模式。不需要做用户认证,即可更改密码。
2、3、4 - 都是多用户模式。为命令行下面的多用户模式。正常在启动系统的情况下,没有安装图形界面的前提下,计入的级别就是3级别。
5 - 图形操作界面。与3级别的差异只在于图形。
6-root重启。
在 CentOS 7中没有以上的概念。
我们打开 PuTTY ,登陆上去,输入命令:ls -1 /usr/lib/systemd/system/runlevel*target ,见下图,
可以看出,CebtOS 7 也有7个级别,这边就做一个了解。
我们用单用户模式更改密码,是有一个前提的,就是grub是没有设置密码的。如果grub设置了密码或是损坏,而我们不知道的话,就无法进入单用户模式更改密码。
这时候还有另一种方法,用光盘或是系统U盘,重新进入到装系统的界面。这时候需要加载一下光驱,还需要重启系统,并下载光驱。先将Linux关机一下,我们用 init 0 命令来执行。然后再编辑一下虚拟机。点击虚拟机页面的“编辑虚拟机设置”,如图
进入虚拟机设置之后,选择“CD/DVD(IDE)”这一项,然后查看设备状态,注意“启动时连接”这一项是一定要选的,然后ISO映像文件的路径一定要选对。然后点击“确定”。
然后再系统抬头右键,选择“电源”,再选择“启动时进入 BIOS(B)”。目的是为了启动时加载光驱,默认设置没有这一项。
备注:我的系统显示的是“打开电源时进入固件”,不是“启动时进入 BIOS(B)”。
进入固件界面,用右方向键选择“Boot”界面,如下图所示,
可以看到排第一位的是“Removable Devices”,排第二位的是“Hart Drive”排第三位的才是“CD-ROM Drive”。现在要做的就是把“CD-ROM Drive”排第一位去。可以用上下方向键来选择,然后用+、-号来控制左边的排序。操作顺序是,先把“Removable Devices”,选中,连续两下 - ,将其排到“CD-ROM Drive”下面,然后向上选择“Hart Drive”,按一下 - ,“CD-ROM Drive”就排到第一位了,也就是说,它现在是第一启动项。
设置完这个,按右方向键 ,进入“Exit”界面,选中“Exit Saving Change”,回车,再选择“Yes”回车。即可重启系统。
系统重启完成之后,进入光驱启动界面,选择“Troubleshooting”,回车。
进入下图界面,按上下方向键选择第二项“Rescue a CentOS Linux system” ,回车。
接下来可以按回车,也可以等会自动加载,加载完毕之后,就出现下图界面。有4个选项可以选择,我们选择1,然后回车。
出现的最后一句话是“Please press <return> to get a shell”,这时候回车,得到一个shell 即命令行,上面还有一个命令“chroot /mnt/sysimage”,这个命令跟单用户模式的命令很像,这个命令完成之后就进入原来的系统。
我们可以输入ls 命令来看一下,见下图,
然后再cat ,
出现了跟单用户模式一样的界面,然后输入命令,
回车之后,发现前缀变了,不用管这个。直接输入命令:passwd root ,回车。然后输入新的密码,再输一次密码,密码就更改成功了。
这时候要改变一下设置。在系统下方窗口,点击第二个按钮,选择“设置”,
跳出下图窗口,将设备状态的两个选项都点掉,不做连接,然后确定,
在弹出的窗口上选择“是”,
接下来就可以重新启动系统了,直接在系统抬头右键,选择“电源”,再点击“重新启动客户机”,
在弹出的窗口上,选择“重新启动”,
等待系统重启一会,然后输入用户名root ,再输入密码,即可登陆系统。
这样子,密码就更改成功了。