目录
一、密码破解(Centos7)
二、grub2引导菜单加密
linux下破解root密码
一、密码破解(Centos7)
通过进入单用户模式修改内核参数来进行修改密码
步骤:
(官方推荐方法)
-
rd.break
-
以可读写的方式挂载根分区
-
切换根分区
-
修改密码
-
策略放行
-
为了让 SELinux 生效
-
SELinux 它是一个安全增强系统, 其内部有许多安全策略
-
针对一些操作, 如果你做了这些操作, 没有得到策略的放行, 它会给你禁止掉
-
比如你使用单用修改root密码是不被策略放行的
-
怎么让 SELinux 策略放行呢?、
-
"touch /.autorelabel" 创建这样一个文件其实就是在告诉SELinux放行这个策略,就是通知一下
直接关闭掉 SELinux
使用getenfore是用来查询SElinux策略内各项规则
查询结果如果是Enforcing或者Permissive就必须执行touch /.autorelabel此命令来让selinux生效
如果是disable就可以不用执行touch /.autorelabel
具体操作流程:
进入系统之前,按下e进入编辑模式
进入以后,接下来按住向下的方向键,向下找,找到这一行。
按end键跳到行尾,添加rd.break这条命令
然后按ctrl+x进入单用户模式
进入单用户的命令行:
mount | grep root 看一下根分区的挂载点
mount -o remount,rw /sysroot 可读可写的方式挂载根分区
touch 有两层含义
一:如果文件不存在则创建文件
二:如果文件存在,则刷新修改时间
之前通过getenforce查看时,状态为Enforcing,所以必须得执行touch /.autorelabel命令来进行策略放行,令selinux生效
执行完touch /.autorelabel后,在执行两次exit
第一次exit退出当前的根分区
第二次退出救援模式回到引导模式
等待过后,以root身份再次登录,使用刚修改过得密码登录。
二、grub2引导菜单加密
两种方式
方式一:
grub2-mkpasswd-pbkdf2进行设置密码,生成加密密码,然后修改/etc/grub2.d/00_header文件末尾追加,设置的用户可以是系统有的也可以是没有的,但用户一定要前后必须一致。然后进行刷新grub2配置文件
方式二:
grub2-setpasswd 进行设置密码
此方法是以谁的名义进行登录,用户名就是谁,密码是自己
方式一:
配置文件内容:
定位到文件的末尾,然后进行编辑
cat << EOF
set superusers='user'
password_pbkdf2 user grub.pbkdf2.sha512.10000.8B33D9F34A3962AF5005D4D97E62CEEDE2260CE0C2B801193DC68675130B9334C16DDDA5699C3515BAD0B096912D5FA18CC7D74FD83EF8FFFF9A82D228E61939.24357CC4360FE590079985FA5CD20CAAC8996CFBB7A606C5DC6900172427050F0E83632D4B25B0965C6F7F66D0CBAED089521A01D601C427D8BE1F7E2380ECF6
EOF
注意:前后的用户名要保持一致,否则会出现问题
然后进行重启:
再次按e进入编辑
进入此界面,如果此时输入的不是刚刚设置的用户和密码,就会被T出来,无法进行密码修改
只有输入刚刚设置的正确的用户和密码,才会进入编辑:
敲回车以后,可以正常进入编辑状态:
修改密码流程同以上一致。
方法二:
通过grub2-setpasswd 指令来进行设置,生成加密密码
此指令是结合root(超级用户)来进行设置,本身和超级用户没有什么关系。
以谁的名义登录,谁就是用户名
流程:
查看目录下 的文件,进行前后对比一下。会发现多出了一个文件:
查看此文件的内容:
接下来重启即可。进行验证
没有显示用户名,此时就是以谁的名义进行登录,用户名就是谁(以谁的名义执行,就是谁),密码是刚刚设置的密码,按e进入编辑界面,输入用户名和刚刚设置的密码即可进入
如果输入错误的用户名和密码会被T出来
按e进入编辑界面:
进入后:
输入错误的用户名(无论该用户存在或者不存在)敲回车后会被踢出:
回弹到加载界面:
再次进入,若以root身份进行登录,输入正确的密码,刚刚设置的:
输入正确的密码后,可以正常进入到编辑界面:
加密配置,验证完成。
修改密码流程同以上一致。
正常启动,正常进入