CentOS7密码恢复

CentOS7密码恢复,第1张

        长时间不用的CentOS机器再次开机的时候忽然忘记了密码,总不能重装系统吧,还有好多服务在机器上,于是决定重置root的密码。

如果是已经开启的机器,需要进行关闭,重新启动。

在启动选择内核版本的时候按上下键,令画面停住。

        CentOS7每次会有两个版本的内核供选择,简单的来说就是一个主内核版本,一个副内核版本,如果以后内核升级失败无法使用新内核重启时,可以通过这个界面选择旧内核重启进行修复。

        言归正传,选择好了内核之后,按下e键,进入编辑界面。

找到以linux16开头的那一行,在行尾加上如下几句话:

1、如果是物理机,添加:rd.break

2、如果是虚拟机,添加:rd.break console=tty0

这里我用的是虚拟机,所以添加rd.break console=tty0,如下图所示:

然后按Ctrl+x进行启动

进入shell环境之后,进行如下操作:

1、将根目录重新挂载,模式可写

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

2、变更目录至根目录下

switch_root:/# chroot /sysroot

3、更改密码

sh-4.2# passwd

4、如果安装的是中文系统,此时会出现乱码,可以根据经验直接输入,也可输入以下命令,当次变更语言为英语

sh-4.2# LANG=en_US

5、如果SELinux开启需要更新SELinux上下文,只要创建下面的文件即可 sh-4.2# touch /.autorelabel

6.退出重启sh-4.2# exit

switch_root:/# exit

详细方法如下:

如果需要更新SELinux上下文,则重启的时间会比较长,有时系统没有提示,不要慌张,系统并没有崩溃。

重启之后即可用新密码进行登录了。

启动页面 e , 在linux 16这行,ro改成rw, 最后一行加上 enforcing=0,init=/bin/bash,

执行ctrl + x。

出现bash -4.2#, 输入 passwd root 设置新密码

在下一行会让你写新的root密码。写完之后,

执行 exec /sbin/init

(完成)

参考:

https://www.cnblogs.com/oldboy666/p/15425920.html

图文如下

CentOS7系统root密码丢失找回方法(史上最好)

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

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

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

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

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

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

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

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

特殊说明:

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

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

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

4. 配置完后,执行exec /sbin/init命令重启系统,注意,此时,无法使用其它重启命令。特殊强调:如果是系统

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

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

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

图1-7 登录界面图

(以上)

CentOS7忘记root密码,重置root密码

root密码忘了之后,可以通过重启系统,在开机时重新设置密码。

注:测试版本为CentOS Linux release 7.6.1810 (Core),其他版本可能有些区别。

1、重启系统,在开机过程中,出现以下界面时按 e 键,进入编辑界面。

按 e 键之后进入如下界面:

2、按方向键下键 ↓ ,找到设置语言的地方,如 LANG=en_US.UTF-8 ,在后面追加 rw single init=/bin/bash ,然后按 ctrl+x 重启系统

3、进入bash界面后,可以输入 passwd 命令重新设置root密码

4、如果开启了SELinux,执行命令 touch /.autorelabel 命令

5、输入 exec /sbin/init 命令重启系统

6、使用新设置的密码进入系统之后,为了安全起见,可以输入 reboot 重新启动一次系统。

</article>


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/697358.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-08-03
下一篇2023-08-03

发表评论

登录后才能评论

评论列表(0条)

    保存