忘记密码,所有改密码行为,只能在接触物理机的情况下使用,因为需要用到键盘控制。
远程接触不了,是没法改的。除非服务器自动的远程系统,如dell的IDRAC远程操作,可以远程模拟物理环境,可远程重装系统等操作
一:CentOS重置密码
系统版本:centos 7.9
方法1:
1:开机按 “ESC” 键,进入系统引导界面,及时按上下方向键 “↑ ↓” 中断倒计时。
2:按“e”键,进入内核编辑界面
3:按方向“↓”键,往下翻到 linux16 这一行,然后在最后加上 “rd.break”
rd.break 意思是,在系统中断之前将控制权从initramfs系统移交给实际系统,initramfs作用可自行研究,这里不深究。
4:“ctrl + x”保存,将进入 Initramfs 的debug 命令模式,及单用户模式
5:依次输入以下命令
为/sysroot提供读写权限
mount -o remount,rw /sysroot/
切换至chroot环境,可以理解为以root 权限登录了原来的系统
chroot /sysroot
这时,可以更改密码了
passwd root
改完后,重新标记文件,创建这样一个文件其实就是在告诉SELinux放行这个策略,就是通知一下。如果开启了seLinux,就必须执行这个命令。
touch /.autorelabel
最后输入两次“exit” 命令,第一次退出chroot 模式,第二次退出Initramfs 的debug 命令模式重启进入系统。最后即可用新密码登录系统了。
方法2:
前面都一样,进入内核编辑界面,只是输入的口令不一样。
1:这里是在Linux16这行找到 “ro”
2: 将“ro” 改成 “rw init=/sysroot/bin/sh”
内核启动过程中会查找系统安装所在分区,然后把该分区挂载到 /sysroot 目录下,并有写的权限
3:然后 "ctrl+x" 保存开始进入单用户模式
4:后面步骤一样
#切换至chroot环境
chroot /sysroot
#更改密码
passwd root
#创建标记文件
touch /.autorelabel
#退出
exit
#重启
reboot
重启后,就可以用新密码登录了。