RHEL/CentOS 6/7重置root用户密码——方法与过程

简介:

本文以重置root用户密码为例,讲解一下Linux运维工作中解决一般问题的过程和结果。重置root密码这种问题的结果很简单,重点是解决过程,供新手参考和借鉴,希望通过此文作为新手能知道日常运维中解决一个问题的过程是怎样的,以及从解决问题的过程中应该学到什么。

人的思维总是会固化的,除非他自己深刻地认识到的确需要转变。IT领域中的知识总是在不断变化更新的,需要我们不停地去“增删改查”自己的小知识库。先前以为达到某一个目的可以这样做一件事情,可能一小段时间后就需要那样做一件事情。

事情经过:

昨天一大学同学(本身可以说是Linux方面的小白)QQ上问我说,自己的Linux虚拟机使用正确的用户名和密码无法登录到系统,提示用户名和密码不正确。

解决一般问题的思路:

作为一个去为他人解决问题的人,其思维轨迹应该是这样的:

1.告诉她不要慌,问题总是能解决的,况且这是一个很简单很常见的问题

2.如果她动手能力比较强,那么把解决问题的思路告诉她,询问她有没有做过什么特别的操作,帮她找到问题存在的原因防止类似问题再次发生

3.如果她动手能力和解决问题的能力较差,那么可以远程帮她或者直接告诉她有哪些简单的方法可以自己看后就能使用,快速解决问题

4.如果不能远程或者必须一步一步教告诉她如何做,那么就需要知道足够多的信息,不管是解决问题的方法还是去了解她那边的情况:

(Remember:你可能是在为傻子解决问题)

1)了解情况:问题是什么,需求是什么,问题的背景如何,了解此问题的严重性(紧急重要)?

2)收集信息:当前运行状况如何,明确是一个怎样的情况,什么系统,运行环境是怎样的?

3)继续询问和分析:问题是什么时候发生的,如何发生的,做过那些操作?

4)解决过程:该如何帮助其解决?步骤1,2,3……备份、责任、认真、心怀敬畏、平常心……

4)遭遇和预测异常:如果解决不了,该如何去做?寻找Plan B,预测最糟糕的结果

4)总结分享:告知以后该怎么做,如何预防类似问题

解决此问题的思路:

按照惯有的知识,通常忘记root密码是一件非常简单的事情,比如1.最简单的方法是:进入单用户模式,直接修改(了解其中的条件限制,balabala);2.复杂有效的方法:没有安全的系统,使用livecd、livedvd等iso镜像或者安装光盘(注意版本和位数,否则易遭遇segmentation fault)中rescue模式(救援模式使用起来要比livecd方便),chroot后执行passwd命令或者直接修改/etc/shadow文件,云云。

注:救援模式(Rescue Model)存在于DVD和Minimal版本中,所以通常使用Minimal iso即可,不必非得用下载DVD的iso。

但是如文首所提到的,往往知识是需要更新,思维是需要改变的。就第一种最简单有效的方法来说,RHEL6、7跟以前大不相同,单用户模式下也会要求给出root用户的密码,因此想快速修改密码必须另辟蹊径。

快速解决类似问题的捷径通常是这样的:

1.快速确定关键词,用Google或者百度(如果你喜欢和信任)搜索关键词,筛选和快速浏览解决问题的文章(要求关键词提炼能力和快速筛选有用信息的能力,这需要积累和经验),凭借自己的经验和感觉去有选择的试验

其他需要的附加技能:英语、……

好的关键词举例:

1)Google:resetting root password site:redhat.com 或 rhel resetting root password  或 rhel6 forgot the root password.

2)百度:RHEL6 重置root密码 或 RHEL6忘记root密码

2.如果不幸运,搜索引擎没有任何帮助,那么官方网站(特别是官方文档、手册等)可能是一种快速解决问题的办法

重置root用户密码是Linux日常管理使用中的一件很常见的管理性任务,因此官方文档是解决问题最快的地方。虽然查找官方文档需要对官方文档的编排和分类比较熟悉,但能保证文档的权威性。

有时通过某种方法行不通时,可能有别的原因,需要再排查排查,不要轻易放弃,多试几次或者换个思路就会成功。某种原因可能在Bug和Wiki页面上指出,比如RHEL/CentOS6.8以前SELinux的某个bug会导致root密码无法重置。

几个建议:

1.建议除非特殊需要,支持64位的硬件应当选择安装64位的Linux。

2.及时安装更新,

3.安装和使用Linux时遵循标准,不要太个性化

4.不要将所有鸡蛋放在一个篮子里,经常备份关键数据

5.使用虚拟化和Docker技术

重置root密码方法:

第一种方法适用于7,第二种方法适用于6

一,以RHEL 7(7.3)为例,列举一个典型的方法:

1.打开系统电源,在GRUB2启动界面出现时按下e编辑,删除linux6或linuxefi对应行上的rhgb和quiet,在后面添加 init=/bin/sh,按下Ctrl+x,启动Linux

Red Hat Enterprise Linux 7 64-2017-03-03-10-11-23

 Red Hat Enterprise Linux 7 64-2017-03-03-10-11-46

2.如果想使用SELinux,则执行/usr/sbin/load_policy -i命令,执行mount -o remount, rw / 后可以执行passwd命令修改root密码,最后执行exec /sbin/init即可

 Red Hat Enterprise Linux 7 64-2017-03-03-10-15-37

Red Hat Enterprise Linux 7 64-2017-03-03-10-15-56

二,以救援模式为例,在CentOS6中重置root密码方法如下:

注:不必使用6.7的iso重置6.7系统中的root密码,完全可以使用6.8的iso重置6.7的系统。

使用键盘上的上下箭头选择第3个“Rescue installed system”

centos6_Docker-2017-03-03-15-20-35

网络可以选择不开启,取决于要做什么

centos6_Docker-2017-03-03-15-25-32 

centos6_Docker-2017-03-03-15-25-43

centos6_Docker-2017-03-03-15-25-52

下图中选择继续“Continue”,也可以使用“Advanced”加载SAN

centos6_Docker-2017-03-03-15-26-20

centos6_Docker-2017-03-03-15-26-28

centos6_Docker-2017-03-03-15-26-31 

centos6_Docker-2017-03-03-15-26-35

执行如下命令:

1.chroot /mnt/sysimage

2.passwd

3.exit或者Ctrl+D 退出 chroot

4.exit或者Ctrl+D 退出 维护shell

centos6_Docker-2017-03-03-15-27-12

重启系统

centos6_Docker-2017-03-03-15-27-25 

其他的办法也有,就不在此一一列举了,可以阅读下面的连接查阅官方文档。

可参考文档:

  1. Red Hat, RHEL6:Basic System Recovery

  2. Red Hat, RHEL7:Changing and Resetting the Root Password

  3. CentOS, General:Resetting a Forgotten Root Password

tag:忘记root密码,重置root密码,解决问题

--end--





本文转自 urey_pp 51CTO博客,原文链接:http://blog.51cto.com/dgd2010/1903006,如需转载请自行联系原作者


相关文章
|
1月前
|
Linux
inux CentOS 7 如何进入默认工作目录 [root@localhost ~]
这篇文章讨论了如何在Linux CentOS 7系统中进入默认工作目录。默认工作目录通常是用户的主目录,表示为`[root@localhost ~]`,其中波浪号`~`代表当前用户的主目录。文章可能还包含了如何打开这个默认工作目录的步骤和说明。不过,具体内容没有提供详细信息,通常可以通过打开终端并使用`cd ~`命令来进入默认工作目录。如果需要更详细的步骤或有特定的问题,可能需要查看原文获取更多信息。
|
1月前
|
应用服务中间件 Linux 网络安全
2022年超详细在CentOS 7上安装Nginx方法(源码安装)
这篇文章提供了在CentOS 7系统上通过源码安装Nginx的详细步骤,包括从官网下载Nginx源码包、上传至虚拟机、解压、删除压缩包、编译安装前的配置、安装PCRE库(因为Nginx使用PCRE库解析正则表达式)、安装zlib和OpenSSL库(用于支持HTTPS协议)、重新编译Nginx、安装后启动Nginx服务、关闭服务、修改默认端口、以及重启服务测试等步骤。文章还提供了相关命令和操作截图,帮助用户更好地理解和执行安装过程。
2022年超详细在CentOS 7上安装Nginx方法(源码安装)
|
1月前
|
SQL 关系型数据库 Linux
在CentOS 6上安装和使用PostgreSQL的方法
在CentOS 6上安装和使用PostgreSQL的方法
17 2
|
1月前
|
存储 关系型数据库 Linux
在CentOS 7上安装和使用Docker的方法
在CentOS 7上安装和使用Docker的方法
166 1
|
1月前
|
Ubuntu Linux 测试技术
下载ISO镜像的方法 Debian、Red Hat 、CentOS、Ubuntu、Kali Linux🌐
Debian、Red Hat、CentOS、Ubuntu与Kali Linux均为知名Linux发行版。下载Debian须访问官网并按计算机架构选ISO文件。Red Hat下载通常需订阅账户,可从官网登录后获取。CentOS可从官网或镜像站点下载,注意CentOS 8已停更。Ubuntu下载简便,官网直接选取版本及架构即可。Kali Linux专为安全测试设计,官网提供直接下载ISO镜像服务。
245 0
|
1月前
|
存储 Linux 编译器
在 CentOS 6.4 VPS 上安装 Git 的方法
在 CentOS 6.4 VPS 上安装 Git 的方法
25 0
|
1月前
|
存储 Linux 网络安全
在CentOS 7上安装Git的方法
在CentOS 7上安装Git的方法
79 0
|
1月前
|
安全 Java 应用服务中间件
在CentOS 7上安装Apache Tomcat 8的方法
在CentOS 7上安装Apache Tomcat 8的方法
62 0
|
1月前
|
安全 网络协议 Linux
在CentOS 7上安装和使用Webmin的方法
在CentOS 7上安装和使用Webmin的方法
23 0
|
1月前
|
关系型数据库 Linux 数据库
在CentOS 7上安装和使用PostgreSQL的方法
在CentOS 7上安装和使用PostgreSQL的方法
80 0