引:由于涉及到重启服务器,所以必须是服务器管理员才能做此操作;否则不建议做此操作!!!

  1. 重启系统,进入recovery恢复模式(即救援模式)
  2. 一定要在选择系统的界面“CentOS Linux(3.10.0-862.el7.x86_64)7(Core)”中,按 e
  3. 在 “Linux16” 开头的行尾添加 rd.break console=tty0 ,或者按end键到 “Linux16” 该行的最后添加 rd.break console=tty0
  4. Ctrl + x 启动,则看到 switch_root#
  5. 由于在救援模式中,若直接改硬盘上的数据,则会比较危险。而在默认情况下,救援模式加载硬盘所有数控是以 ro (read only) 只读权限,所以需要把 ro 权限(即只读权限)改为 rw 权限(即读写权限),之后remount重新挂载。如下所示:
重新挂载,并切换环境
mount -o remount,rw /sysroot   # 记录目录下所有数据,有读写权限
chroot /sysroot    # 切换环境,即切换到硬盘操作系统的环境(路径)
sh-4.2# ls    # 查看当前路径下的所有数据
  1. 重设 root 用户密码
sh-4.2# echo 123 | passwd --stdin root
  1. 若 SELinux 是强制模式,则需要重设 SELinux 策略;若是 SELinux 的模式是其他,则无需设置
sh-4.2# cat /etc/selinux/config   # 查看SELinx 开机运行模式
sh-4.2# touch /.autorelabel  # 若是强制模式,则需要让 SELinxu 失忆
注意:/.autorelabel 是隐藏文件
  1. 强制重启系统完成该修复
sh-4.2# reboot -f     # 强制重启系统