温故:

        在讲新的知识之前,还是要回顾一下前面几天给大家分享的linux面试题批注,说真的这套面试题真的不错,强烈建议大家去看看,我会把这套面试题的原题和我做的关于这套面试题的所有批注链接放在下面,大家可以看看。《​​Linux之运维常见面试题汇总​​​》《​​Linux之常见面试题知识点批注(一)​​》,大家记得给原作者点赞哦。

知新:

        今天要和大家聊聊当你的linux系统密码忘记了如何处理,这是个比较入门级的技能,在网上随处可以找到解决方法,我这里想再写的详细一点,做成一份傻瓜文档,尽可能的帮助到有需要的朋友。

        

1、了解版本(前提)

        作为一名linux运维人员,一定要知晓自己管理的linux的系统的版本,因为在一些操作中不同的版本使用的命令或界面是不同的,那么如何查看linux系统的版本呢?可以使用下面的这个命令

cat /etc/redhat-release

   Linux之Redhat7如何破解密码_重启

2、内核编辑

        2.1 重启服务器到这一步时按“e”进入内核编辑;

Linux之Redhat7如何破解密码_面试_02
        2.2 在Linux16 参数这行的最后面追加"rd.break"参数,然后按下Ctrl+X组合键来运行修改过的内核程序;

Linux之Redhat7如何破解密码_运维_03

3.开始救援(重置密码) 

         3.1 经过大概30秒左右的时间,进入到紧急救援模式如下;

Linux之Redhat7如何破解密码_面试_04

         3.2 顺序输入如下的命令重置密码,并重启;

mount -o remount,rw /sysroot

chroot /sysroot

passwd

touch / .autolabel

exit

reboot

Linux之Redhat7如何破解密码_重启_05

         3.3 系统恢复

Linux之Redhat7如何破解密码_重启_06

 总结:大家有没有想过上面输入的那几条命令都是做什么的?有什么用处?请看下面的内容。

1.启动grub界面按"e"

2.进入后,找到linux16开头的地方,按"end"键到最后,输入rd.break,按ctrl+x进入,

3.进入后输入命令mount,发现根为/sysroot/,并不能写,只有ro=readonly权限.

4.mount -o remount,rw /sysroot/ ,重新挂载,之后mount,发现有了r,w权限

5.chroot /sysroot/,改变根;

(1) echo redhat |passwd --stdin root 更改root密码为redhat,交互输入

(2) 还有就是先cp一份,然后修改/etc/shadow文件.

6.touch /.autolabel 这句是为了selinux生效

7.ctrl+d退出

8.然后reboot, 密码修改完成.