Linux中遗忘root密码解决方案

场景:root密码忘记

一、解决方案
1、开机进入单用户模式
a.开机后,在菜单页面按E进入编辑模式
在Linux16 的核心项目代码行的尾部,添加上参数 rd.break ,并按 ctrl+X 重开机
b.其中的mount来检测挂载点,找到sysroot
在这里插入图片描述
在这里插入图片描述
2、切换/sysroot

mount -o remount,rw /sysroot    【重新挂载/sysroot为可读写】
chroot /sysroot 		【从RAM DISK的root切换到/sysroot。这里的/sysroot为硬盘环境】

在这里插入图片描述
3、设置新root密码

echo "oracle"|passwd --stdin root	【oracle为新密码】

在这里插入图片描述
4、重要加上SELinux安全性

touch / .autorelabel

在这里插入图片描述
5、说明
(1) 先挂载硬盘上的系统根目录 /sysroot 为可读写;
(2) 将当前操作的根目录switch_root,切换为硬盘上的根目录 /sysroot;
此时,后续即是对硬盘根目录进行操作(账号,密码等都存在根目录中);
(3) 修改密码,“oracle” 是你想要更改的密码;
(4) touch / .autorelabel ,在 rd.break 的 RAM Disk 环境下,系统是没有 SELinux的,而我们刚刚修改了密码,所以密码档案的SELinux特性将被取消;如果开机时,密码档案没有恢复SELinux安全性,系统将无法登录(在默认模式enforcing时);参数 /.autorelabel 就是让系统在开机时,使用预设的SELinux类型,自动将SELinux 安全性加入到所有档案中去;
(5) 当加上参数 / .autorelabel后,系统开机将会对每个档案写入SELinux安全性,档案较多时,可能会很慢;

后记:
当加上参数 / .autorelabel后,系统开机将会对每个档案写入SELinux安全性,档案较多时,可能会很慢,故而可以尝试第二种方式。
1、在执行密码修改之后,不执行touch指令。而是修改/etc/selinux/config文件
,将SELinux的值修改为permissive。在这里插入图片描述
2、退出,重启
在这里插入图片描述
3、进入桌面后,查看当前SELinux模式

getenforce

在这里插入图片描述
4、仅修改/etc下的文档restorecon -Rv /etc
5、将模式改回enforcing
在这里插入图片描述
6、说明:
当文档具有SELinux安全性时(模式为enforcing),系统文档是不可修改、写入的;
即当 SELinux=enforcing时,命令 vim /etc/selinux/config 将无法完成;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值