linux一旦忘记root密码,就无法执行任何面向整个系统的变更工作
如果忘记root密码了怎么办?
目录
1.启动系统进入GRUB2界面后,按下键进入GRUB编辑模式
2.按向下箭头找到linux开头的那一行,在行尾输入一个空格,再输入"rd.break console=tty0"。
6.在根目录下创建相关文件(用于重新标记SELinux环境值)
7.执行exit命令推出chroot环境,再执行exit重启系统
8.查看是否成功(我设置的是5678,输入5678成功进入root用,说明更改成功)
1.启动系统进入GRUB2界面后,按下键进入GRUB编辑模式
3.按+组合键启动系统,执行以下命令以可写方式重新挂载根目录
5.如果系统启动了SELinux,必须执行以下命令,否则无法正常启动系统
1.编辑/etc/grub.d/00_header文件,在末尾行添加以下内容并保存。(以下是我设置的,供参考使用)
4.以上设置密码是明文的,GRUB可对这个密码进行加密,具体方法先执行以下命令生成加密的的密码
5.将/etc/grub.d/00_header文件中的password语句改成上述以grub.pbkdf2.sha开头的密文。最后执行以下命令即可
6.测试(我设置的是密码是1234567,成功进入了,验证成功)
重启操作系统
方法一:
1.启动系统进入GRUB2界面后,按下<e>键进入GRUB编辑模式
2.按向下箭头找到linux开头的那一行,在行尾输入一个空格,再输入"rd.break console=tty0"。
rd.break console=tty0
3.按<Crtl>+<x>组合键启动系统,执行以下命令重新挂载文件系统
mount -o remount,rw /sysroot
4.执行以下命令改变系统目录为临时挂载目录
chroot /sysroot
5.执行passwd命令修改root密码
6.在根目录下创建相关文件(用于重新标记SELinux环境值)
touch /.autorelabel
7.执行exit命令推出chroot环境,再执行exit重启系统
8.查看是否成功(我设置的是5678,输入5678成功进入root用,说明更改成功)
方法二:
1.启动系统进入GRUB2界面后,按下<e>键进入GRUB编辑模式
2.按向下箭头找到linux开头的那一行,在行尾删掉 rhgb quiet再输入一个空格,再输入“init=/bin/bash”或“init=/bin/sh”。(这里以“init=/bin/bash”为例,可自由选择)
init=/bin/bash
init=/bin/sh
3.按<Ctrl>+<x>组合键启动系统,执行以下命令以可写方式重新挂载根目录
mount -o remount,rw /
4.执行以下命令修改root密码
passwd root
5.如果系统启动了SELinux,必须执行以下命令,否则无法正常启动系统
touch /.autorelabel
6.执行以下命令重新启动系统,并查看是否成功
exec /sbin/reboot
或者执行以下命令重启系统
exec /sbin/init
扩展
说明
为防止通过修改Grub启动菜单方式来达到破解root账户密码等操作,设置Grub菜单密码。
方法如下:
1.编辑/etc/grub.d/00_header文件,在末尾行添加以下内容并保存。(以下是我设置的,供参考使用)
vim /etc/grub.d/00_header
cat << EOF
set superusers='admin'
password admin 123456
EOF
2.执行以下命令重新生成grub.cfg文件。
grub2-mkconfig -o /boot/grub2/grub.cfg
测试
重启系统按<e>进入GRUB会发现已加密。
4.以上设置密码是明文的,GRUB可对这个密码进行加密,具体方法先执行以下命令生成加密的的密码
grub2-mkpasswd-pbkdf2
5.将/etc/grub.d/00_header文件中的password语句改成上述以grub.pbkdf2.sha开头的密文。最后执行以下命令即可
grub2-mkconfig -o /boot/grub2/grub.cfg
6.测试(我设置的是密码是1234567,成功进入了,验证成功)