重置root密码
CentOS 7 与之前的版本不同,当忘记root密码,并采用GRUB2为启动器时,将无法通过单用户模式重置root密码
1、启动系统,并在 GRUB2启动屏显时,按下e键进入编辑模式
2、找到 linux16开头的行 ,按 end键到行尾,输入一个空格键之后再输入 rd.break
Ctrl+x 进入 提示符界面
3、 输入 mount -o remount,rw /sysroot/ 命令 ,重新挂载系统分区 // 此步之前系统分区是只读状态
4、再输入 chroot /sysroot/ 命令 , 改变根
5、修改root密码 此时出现类似乱码的字符,属于正常现象
6、 如果之前系统启用了SELinux ,必须运行 touch /.autorelabel 命令,否则将无法正常启动系统
7、然后按 Ctrl + d 退出
8、输入 reboot 命令重启 , OK
重启后等待时间可能有点长,属于正常现象
这样方便是方便,但是不安全啊,下面有解决方案
为GRUB2菜单加上防编辑密码
第一步:
[root@huawei_plus ~]# grub2-mkpasswd-pbkdf2
输入口令:
Reenter password:
PBKDF2 hash of your password is grub.pbkdf2.sha512.10000.8EBF7E924D4F2751C16EDA60B01CCF2132082125CFAE98C932FDC9981AAA64E38615454C214E7BA4195836EC8AF5580B7DB24316ED4F343F501DE3C36C5420D8.783DD1820A3F9FB61264293E2EBDFF83551218B57DCABD63412232E5F5252CB9D0CEC2FDCE7955E86415CFA6D69B6DB019D1D382E99A6C47E96FF3E41CE72F29
第二步:
复制第一步的加粗字符串
vi /boot/grub2/grub.cfg 添加 下面的加粗字体,注意上下文对应
### BEGIN /etc/grub.d/10_linux ###
set superusers="cws" # 注意是 superusers 有 s
password_pbkdf2 cws 此处粘贴第一步复制的加粗字符串
menuentry 'CentOS Linux (3.10.0-862.11.6.el7.x86_64) 7 (Core)'
上面的superuser可以随便定
保存退出,测试
再安装之前那样重置root密码的步骤,按下 e键之后,需要输入用户名(对应于 superusers )和密码(对应于 输入 grub2-mkpasswd-pbkdf2命令后 输入的口令 )
这样,就为 GRUB2菜单加上了防编辑密码
单用户模式重置root密码
在grub 页面输入a,进入修改内核模式
在内核的结尾“/”,输入空格,在输入single,回车
启动系统,进入单用户模式
Passwd root 修改密码
修复MBR