介绍

目的

在 RHEL7/CentOS7/Scientific Linux 7 中重设 root 密码。

要求

RHEL7 / CentOS7 / Scientific Linux 7

困难程度

中等

指导

RHEL7 的世界发生了变化,重置 root 密码的方式也一样。虽然中断引导过程的旧方法(init=/bin/bash)仍然有效,但它不再是推荐的。“Systemd” 使用 “rd.break” 来中断引导。让我们快速浏览下整个过程。

启动进入最小模式

重启系统并在内核列表页面在系统启动之前按下 e。你会进入编辑模式。

中断启动进程

在内核字符串中 - 在以 linux 16 /vmlinuz- ect 结尾的行中输入 rd.break。接着 Ctrl+X 重启。系统启动进入初始化内存磁盘,并挂载在 /sysroot。在此模式中你不需要输入密码。

重新挂载文件系统以便读写

switch_root:/# mount -o remount,rw /sysroot/

使 /sysroot 成为根目录

switch_root:/# chroot /sysroot 

命令行提示符会稍微改变。

修改 root 密码

sh-4.2# passwd 

加载 SELinux 策略

sh-4.2# load_policy -i 

在 /etc/shadow 中设置上下文类型

sh-4.2# chcon -t shadow_t /etc/shadow 

注意:你可以通过如下创建 autorelabel 文件的方式来略过最后两步,但自动重建卷标会花费很长时间。

sh-4.2# touch /.autorelabel 

因为这个原因,尽管它更简单,它应该作为“懒人选择”,而不是建议。

退出并重启

退出并重启并用新的 root 密码登录。


via: https://linuxconfig.org/how-to-reset-the-root-password-in-rhel7-centos7-scientific-linux-7-based-systems

作者:Rado Folwarczny 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

已有 5 条评论

  1. "最后为什么要relabel?
    密码文件被修改,label丢失了?" —— 来自广东广州广东工贸职业技术学院的 Firefox 50.0|GNU/Linux 用户 发表。
  2. 因为selinux,如果没有开可以不用 —— 来自广东深圳的 Chrome 55.0|Windows 7 用户 发表。
  3. 这样就等于破解root密码了么??这样岂不是很不安全?? —— tyloo [Safari 10.0|Mac 10.12] 发表。
  4. 能接触机器其实就是物理安全的范畴的,这是出于维护的需要。 —— linux [Chrome 56.0|Mac 10.11] 发表。
  5. 大佬,我有一个疑问,为什么要挂载sysroot呢? —— m睡意zzz [Microsoft Edge 12.10240|Windows 10] 发表。

添加新评论