CentOS 7&RHEL 7与之前的5,6不同的是,当忘记root密码,并采用GRUB2为启动器时,将无法通过单用户模式重置root密码。下面将介绍如何重置CentOS7的root密码。
1. 启动系统,并在GRUB2启动屏显时,按下e键进入编辑模式。
2. 将光标移动到linux16所在参数行找到下面一行ro字符,把ro修改为rw init=/sysroot/bin/sh
3. 按Ctrl+x启动到shell。
4. 挂载文件系统为可写模式切换至chroot系统:
chroot /sysroot
5. 运行passwd,并按提示修改root密码。
passwd
6. 如何之前系统启用了SELinux,必须运行以下命令,更新SELinux信息,否则将无法正常启动系统:
touch /.autorelabel
7. 退出:
exit
8.重新启动系统
reboot
-------------------------------------分割线-------------------------------------
CentOS 7&RHEL 7进入单用户方式和重置密码方式发生了较大变化,GRUB由b引导变成了ctrl+x引导。
重置密码主要有rd.break和init两种方法。
rd.break方法:
1、启动的时候,在启动界面,相应启动项,内核名称上按“e”;
2、进入后,找到linux16开头的地方,按“end”键到最后,输入rd.break(或者输入rd.break console=tty0),按ctrl+x进入;
3、进去后输入命令mount,发现根为/sysroot/,并且不能写,只有ro=readonly权限;
4、mount -o remount,rw /sysroot/,重新挂载,之后mount,发现有了r,w权限;
5、chroot /sysroot/ 改变根;
(1)echo 1234546|passwd –stdin root 修改root密码为redhat,或者输入passwd,交互修改;
(2)还有就是先cp一份,然后修改/etc/shadow文件
6、touch /.autorelabel 这句是为了selinux生效
7、ctrl+d 退出
8、然后reboot
至此,密码修改完成
init方法:
1. 启动系统,并在GRUB2启动屏显时,按下e键进入编辑模式。
2. 将光标移动到linux16所在参数行找到下面一行ro字符,把ro修改为rw init=/sysroot/bin/sh
3. 按Ctrl+x启动到shell。
4. 挂载文件系统为可写模式切换至chroot系统:
chroot /sysroot
5. 运行passwd,并按提示修改root密码。
passwd
6. 如何之前系统启用了SELinux,必须运行以下命令,更新SELinux信息,否则将无法正常启动系统:
touch /.autorelabel
7. 退出:
exit
8.重新启动系统
reboot