如果在生产环境中忘了服务器的系统密码,并且没有人能连上这台服务器,咱们可以通过操作把系统的密码破解开,修改一个密码以用来拿取机器上的数据
1
单用户模式作用
Linux下的启动方式常用到的有单用户方式,普通用户方式,完全多用户方式和XWin方式。单用户方式下,系统并没有完全运行进来,只是部分程序运行,这时也不能进行远程登录到Linux系统。进入单用户方式进行系统维护不是ROOT用户来进行完成,而是ROOT直接的进入,没有密码检验。这时的ROOT用户对系统有完全的操作权限,可以修复系统的同时,也能随时的对系统破坏。
救援模式作用
当我们在LInux操作系统中因为误操作删除了某些重要文件导致大部分命令的不能使用或者某些程序不能使用时,此时就可以借助Linux的救援模式临时进入系统,进行文件修改,纠正错误。注意救援模式的本质只是一个带shell的Linux运行环境,借助它可以通过mount和chroot进入要修复的系统。
方案一
首先打开centos7系统的机器,在grub菜单栏点击任意键停止,按< e >进入用户模式
进入用户模式:
往下移动光标,找到linux16这一行,在最后面加上rd.break
然后按住<ctrl + X>进入到以下界面
重新挂载根目录,现在的根目录为只读状态,需要挂载为读写状态
挂载:mount -o remount,rw /sysroot(切记,此处rw后面有空格)
切换根目录,进入sh,就是你真正的系统
切换目录:chroot /sysroot
修改root密码(明文写入)
echo “hw11231214” |passwd --stdin root
或者用passwd命令(隐式输入密码,需要输入两遍)
创建一个文件:touch /.autorelabel(设置完新密码后,如果selinux开启需要执行touch /.autorelabel,否则密码不生效。未开启selinux忽略此步骤)
然后重启电脑就可以,正常登入系统就可以
方案二
开机等待,进入grub菜单,按< e >进入编辑界面
下滑鼠标找到linux16,在尾部添加参数rw init=/sysroot/bin/sh,并按<ctrl+X>进入用户界面
转到/sysroot/下,设置密码,退出重启。
注:设置完新密码后,如果selinux开启需要执行touch /.autorelabel,否则密码不生效。未开启selinux忽略此步骤。
重启系统,使用新密码登录即可。
方案三:救援模式
开机进入BIOS,将软驱设为第一启动项,f10保存
进入系统安装盘界面,先选Troubleshooting,再选Rescue installed system
进入后等待最终进入提示模式,输入1回车
再回车一下,进行后续操作
然后输入chroot /mnt/sysimage 切换到原linux系统,修改root密码,输出exit然后
exec /sbin/reboot
进入BIOS的启动项,改为硬盘启动,现在使用的密码就是新密码。