Linux操作篇之修改忘记的root密码
在正常生活与工作中,我们经常会遇到密码忘记的时候,这时候有专门的“后门”让我们可以进行密码的“修改与破解”。大致有两种方法。
我们现在常用的版本是centos 6 与 7 两个版本。这里分别记录一下。
一、引导修复(引导救援模式)
centos 6
1、 这个界面是系统开始启动的界面,按任意键就会进入下一界面。
2、这个界面下,按键盘“e”,进入下一界面。
3、选择第二项(红框),再次按键盘“e“,进入下一界面。
4、在最后,输入“ 1”,这里要注意,在1的前面是有一个空格的。输入完成后,按下键盘“回车”。这时候,界面会返回到步骤3的界面。按下键盘“b”,会直接启动系统。
注意:这个是临时生效,所以一旦重启配置就会消失。
5、系统启动完成后,直接进入系统。这里跳过了输入root密码的过程,可以直接修改root密码。
6、修改完成root密码。直接重启,等待重启完成即可。
7、修改完成。
cenots 7
1、在系统启动开始(上图界面)按下键盘“e”。会跳转到下面的界面。
2、在上图的界面中,找到”linux16“ 这样的字样(键盘的方向键可以上下左右移动光标),在找到的代码最后添加“rd.break”。注意。新加的代码与本身代码中间是有一个空格的。
3、上面的代码输入完成后,按键盘上的“ctrl+x”,继续运行系统程序。启动完成会进入下面的界面。
4、这里是只读的权限,但是需要修改root密码,就必须有读写权限。所以需要重新挂载根为读写权限。
mount -o remount,rw /sysroot (rw是读写权限。rw前面是逗号隔开)
5、挂载完成后,使用 chroot 命令切换到真正的系统根。
chroot /sysroot
6、上面的界面中,与正常的系统改密码方式一致,密码修改完成。
7、密码修改完成后,由于selinux开启着的需要执行以下命令更新系统信息,否则重启之后密码不会生效(就算是有原密码也无法登录)。
touch /.autorelabel
8、完成后,输入exi退出当前界面。重新将根挂载为只读权限。
mount -o remount,ro /sysroot
7、完成后,输入reboot重启系统,重启过程自动(有时会重启两次),重启完成以后,使用修改后的root密码登录即可。
二、光盘修复(光盘救援模式)
这里需要挂载镜像文件,我使用的是VMware workstation,对不同版本的虚拟机设置一样。
首先,将虚拟机关机。
关机,点击虚拟机设置,找到CD/DVD选项,选择镜像文件,启动时连接打上勾。
选择打开电源时进入固件。
选择“boot“,选择CD-ROM选中后,”+“可以调整到第一个,按下F10保存并退出。
以上设置对centos 6 与 7 设置方法一致,重启后。
centos 6
再次启动后,会出现上面的界面,选择救援安装系统。
选择英文(不支持中文),(直接回车即可)。
选择键盘(直接回车即可)。
是否选择开启网络服务。选择no,回车即可。
回车即可。
回车即可。
回车即可。
选择开启shell,选择ok,回车即可。(键盘tab键可以切换)
注意:这个不是系统根目录,是光盘虚拟出来的一个根目录。而原本的系统根目录存在于 /mnt/sysimage。
与前面讲的方法一样,使用chroot命令可以切换根目录。
这里与正常系统一样,可以直接进行root密码的修改。
修改完成后,输入exit,退回到光盘的虚拟根目录。再次输入exit,就会返回到图形界面。
注意:系统重启后,会再次出现下面的界面,这是因为启动项没有修改回来,按照前面的方法将操作时的"+"改为”-“即可。
等待系统重启完成后,可以使用新的密码进行登录。重启过程可能需要多次。
centos 7
上面三个选项,选择1回车即可。
这里需再回车一下。
上面设置与之前的都一样,设置完成exit退出即可。
然后关机修改启动项,启动过程可能会自动重启几次。
修改完成