AlmaLinux Centos 8.5 如何进入单用户模式并重置root密码?
其实, AlmaLinux Centos 8.5 跟Centos 7.2一样,在忘记root密码后,如果linux是使用grub引导,直接修改grub的引导参数后进入单用户模式,然后在单用户模式下输入命令“passwd root”,按“enter”键,输入新的密码,再次输入确定密码;最后输入重启系统,即可使用新的密码啦!
如何进入单用户模式并修改密码呢?具体方法有如下两种:
方法一
1.1 重启服务器,一直按“E”键,进入grub引导菜单的内核界面
1.2 在内核详情界面使用上下箭头移动光标选择要进行修改的行(启动权限所在行);
1.3 启动权限所在行选定之后再次按下“E”键进行编辑;
先将所在行中的 ro(只读权限)改为:rw (可读可写权限);
然后在此行的行末尾添加 rhgb quiet init=/bin/sh (如果所在行末尾已经有rhgb quiet,则行末尾只添加 init=/bin/sh);
1.4 按住Ctrl+x执行刚刚修改的内容;
1.5 然后来到单用户模式界面(可以用命令runlevel查看目前处于哪个运行基本,此处我省略);
1.6 修改用户密码
- 非明文修改密码
默认修改root密码,也可以修改其他用户的密码 (passwd 其他用户名)
passwd root
输入新密码:
再次输入新密码:
touch /.autorelabel && echo $?
exec /sbin/init
-
明文修改密码
建议明文修改密码,保不准万一键入问题又被搞死,修改完成后,创建隐藏文件 /.autorelabel , 让selinux 重新打标签,最后执行命令 exec /sbin/init 退出单用户模式并快速重新启动系统以使新密码生效。
echo '新密码' | passwd --stdin root
touch /.autorelabel && echo $?
exec /sbin/init
方法二
2.1 老规矩,重启服务器,一直按“E”键,进入grub引导菜单的内核界面
2.2 在内核详情界面使用上下箭头移动光标选择要进行修改的行(启动权限所在行);
2.3 启动权限所在行选定之后再次按下“E”键进行编辑;
先将所在行中的 ro(只读权限)改为:rw (可读可写权限),然后在rw 后面添加 init=/sysroot/bin/bash;
rw init=/sysroot/bin/bash 表示 sysroot用户读写权限下的编辑模式
2.4 按住Ctrl+x执行刚刚修改的内容;
2.5 然后来到单用户模式界面(可以用命令runlevel查看目前处于哪个运行基本,此处我省略);
2.6 修改用户密码
- 非明文修改密码
默认修改root密码,也可以修改其他用户的密码 (passwd 其他用户名)
chroot /sysroot/
echo $?
passwd root
输入新密码:
再次输入新密码:
touch /.autorelabel && echo $?
exit
reboot
-
明文修改密码
建议明文修改密码,保不准万一键入问题又被搞死,修改完成后,创建隐藏文件 /.autorelabel , 让selinux 重新打标签,最后执行命令 exec /sbin/init 退出单用户模式并快速重新启动系统以使新密码生效。
chroot /sysroot/
echo $?
echo '新密码' | passwd --stdin root
touch /.autorelabel && echo $?
exit
reboot
注意:工作场景中防止其他人同过此方式修改root密码,我们还需要在进入grub菜单前设置一个密码,将其保护起来。