zoukankan      html  css  js  c++  java
  • centos7-忘记密码

    1、重新启动或开启CentOS7系统,在选择进入系统的Grub菜单界面如下图1-1,根据提示按“e”小写字母进入编辑界面,如下图1-2所示:

    clip_image002

    图1-1 CentOS7.6系统Grub菜单界面

    2、然后,要按方向键向下键(否则可能看不到想要找的行),找到以字符串“Linux16”开头的行,将光标移动到该行的结尾,然后输入“init=/bin/bash”,如下图1-2所示:

    clip_image004

    图1-2 CentOS7.6系统Grub菜单进入编辑界面配置图

    特别说明:

    如果不确定系统是否开启了Selinux或者刚装完没有修改过的系统,则最好用下面的方法解决:既在以字符串“Linux16”开头的行,将光标移动到该行的结尾,然后输入“init=/bin/bash enforcing=0”(前者作用让系统登录后加载bash解释器,后者是且关闭Selinux),如下图1-3所示:

    clip_image006

    图1-3 CentOS7.6系统Grub菜单编辑界面增加关闭Selinux配置图

    3、配置完成后,根据界面下面的英文提示按“Ctrl-x”组合键以单用户模式启动Linux如下图1-4所示:

    clip_image008

    图1-4单用户模式界面重新挂载修改密码图界面

    特殊说明:

    1)图中的“mount-o rw,remount/”命令是重新挂载根目录为可写状态(rw表示可写,remount是重新挂载),在单用户模式下默认根文件系统是处于只读状态。

    2)也可以在增加内核参数时,把以字符串“Linux16”开头的行中间部分的ro参数改为rw,则可以替代繁琐的“mount-o rw,remount /”命令,修改方法如下图1-5所示:

    clip_image010

    图1-5修改内核参数ro为rw配置图

    4、配置完后,执行exec /sbin/init命令重启系统,注意,此时,无法使用其它重启命令。特殊强调:如果是系统的SELinux处于开启状态,并且前文修改内核选项时,没有增加“enforcing=0”,则此处需要多执行一条“touch /.autorelabel”命令以便在下次系统引导前重新标记系统中的所有相关文件,因为在SELinux开启时,修改root密码时修改password文件会导致SELinux安全上下文报错,如果前文修改内核选项时,已增加“enforcing=0”,那么在修改密码文件时,Selinux是关闭状态,因此,这里就不需要执行“touch /.autorelabel”命令了。

    clip_image012

    图1-6处理SELinux以及重启系统界面

    5、重启系统后验证修改后的密码是否能登录,出现如下图1-5 所示,表示密码修改并登录成功。

    clip_image014

    图1-7登录界面图

    注意:为何需要/.autorelabel:系统是没有SELinux 的,而你刚刚更改了/etc/shadow (因为改密码啊!), 所以『这个档案的SELinux 安全本文的特性将会被取消』喔!如果你没有让系统于开机时自动的回复SELinux 的安全本文, 你的系统将产生『无法登入』的问题(在SELinux 为Enforcing 的模式下!)加上

    /.autorelabel 就是要让系统在开机的时候自动的使用预设的SELinux type 重新写入SELinux 安全本文到每个档案去!。

  • 相关阅读:
    使用ACEGI搭建权限系统:第三部分
    分支在版本树中的应用(使用subversion)
    acegi安全框架使用:第二部分
    错误数据导致java.lang.IllegalArgumentException:Unsupported configuration attributes
    移动中间件和wap网关的比较
    3年后,又回到了.net阵营
    android中listView的几点总结
    oracle相关分布式数据解决方案
    ajax实现用户名存在校验
    使用template method模式简化android列表页面
  • 原文地址:https://www.cnblogs.com/sunjianlin/p/13323151.html
Copyright © 2011-2022 走看看