很多网友不知道centos7怎么修改root密码,从centos7开始,用户有两种方法可以更改忘记的root密码:
- 使用救援模式,需要启动盘
- 不使用救援模式,仅适用于GRUB2没有设置密码的情况
在救援模式下centos7修改root密码的方法
1、从系统盘启动,如上图所示,我们选择图示标注所示的Troubleshooting;
2、进入Troubleshooting菜单后如上图所示,我们选择进入图示标注所示的Rescue a CentOS system;
3、接着会进入上图所示的界面,我们按下键盘上的Enter回车键进入shell环境;
4、接着会进入上图所示的界面,我们输入 1 进入非只读模式,接着按 Enter 键,确认进入shell环境;
5、如上图所示接着我们输入命令:
chroot /mnt/sysimage
6、接下来如上图所示,我们输入命令 passwd 来修改root密码
输入两次 exit 命令重启系统
需要注意的是:通过上面的操作,虽然修改了root用户密码,但是如果用户设置了开机引导时就需要GRUB2账户密码,在不知道GRUB2账户密码的情况下,还是无法进入系统
如要需要重新设置GRUB2账号密码还需要进行如下设置:
- 执行gru2-setpassword重新设置密码
- 编辑/boot/grub2/grub.cfg文件以设置账号
不使用救援模式centos7修改root密码的方法
使用 init=/bin/bash 参数启动
系统启动时,您将看到GRUB 2倒计时,默认情况下设置为5秒。按Esc,然后进入GRUB 2菜单,接着按 e 开始编辑。
向下滚动到 linux16 … 或 linuxefi … 行。该行告诉GRUB 2要引导哪个内核。
移到行尾。在空格后面添加字符串 init=/bin/bash
如果要在启动时显示输出信息,则还必须删除该行的 rhgb quiet 部分(可选但建议)
完成更改后,按 Ctrl + x 使用该内核参数启动到运行级别1(单用户模式)
Linux内核将运行/bin/bash shell而不是系统init守护程序。因此,某些功能可能受限或缺失。
运行load_policy加载SELinux策略(可选)
/usr/sbin/load_policy -i
以读写模式重新挂载根文件系统:
mount -o remount,rw /
设置新密码:
passwd root
重启系统
exec /sbin/init 3
说明:此模式下是无法直接使用reboot以及systemctl命令去重启系统的。需要使用exec命令替换shell环境,如果要重新引导系统,请运行 exec /sbin/reboot 或者 exec /sbin/init [引导级别],建议使用exec /sbin/init [引导级别] 命令重启,exec /sbin/reboot 命令实际在实验中发现并没有重启