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. CentOS, General:Resetting a Forgotten Root Password

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

--end--






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


相关文章
|
7月前
|
Linux
使用CentOS格式化硬盘或U盘为NTFS格式的方法
以上就是整个过程,如同拆解一个复杂的机器,然后按照自己的需要重新装配,你把数据的世界塑造成你需要的样子。你不只是一个简单的用户,你是一个创造者。
565 70
|
8月前
|
关系型数据库 MySQL Linux
CentOS 7系统下详细安装MySQL 5.7的步骤:包括密码配置、字符集配置、远程连接配置
以上就是在CentOS 7系统下安装MySQL 5.7的详细步骤。希望这个指南能帮助你顺利完成安装。
1980 26
|
8月前
|
Linux 开发工具 C语言
在CentOS系统中编译安装TinyXml2的方法
以上就是在CentOS系统中编译安装TinyXml2的方法。这个过程可能会有些复杂,但只要你按照上面的步骤一步一步来,你应该能够成功地完成这个任务。如果你在这个过程中遇到任何问题,你可以在网上搜索相关的资料,或者在相关的论坛上寻求帮助。希望这个指南能够帮助你成功地在你的CentOS系统中编译安装TinyXml2。
236 22
|
8月前
|
Linux
CentOS分区表损坏修复方法
以上就是CentOS分区表损坏的修复方法,无论你是选择轻装使用fdisk,还是深度潜行使用TestDisk,都能找到照亮分区的灯塔,走出困境。恩,随风者无畏,享受这个过程,你会发现其乐无穷。
304 19
|
6月前
|
Oracle 关系型数据库 Linux
MyEMS开源系统安装之CentOS/RHEL/Rocky/AlmaLinux/Oracle Linux
本指南介绍如何在CentOS/RHEL/Rocky/AlmaLinux/Oracle Linux服务器上部署MyEMS开源能源管理系统。内容涵盖系统准备、数据库配置、多个MyEMS服务(如myems-api、myems-admin、myems-modbus-tcp等)的安装与配置,以及Nginx服务器设置和防火墙规则调整。通过完成所有步骤,您将能够访问MyEMS Admin UI和Web UI,默认端口分别为8001和80,初始登录凭据已提供。
334 0
|
8月前
|
安全 Linux 网络安全
在Linux(CentOS和AWS)上安装更新的git2的方法并配置github-ssh
经过以上这些步骤,你现在就能在GitHub上顺利往返,如同海洋中的航海者自由驰骋。欢迎你加入码农的世界,享受这编程的乐趣吧!
369 10
|
10月前
|
安全 Linux
CentOS下载ISO镜像的方法
访问CentOS官方网站(https://www.centos.org/download/),在“Downloads”页面找到ISO镜像下载链接,选择所需版本和架构(如x86_64)开始下载。CentOS分为Linux版和Stream版,前者每两年发行一次并提供10年安全维护,后者为滚动更新。旧版本可在Vault(https://vault.centos.org/)下载。建议选择DVD格式镜像,包含完整系统和常用软件。
10844 14
CentOS下载ISO镜像的方法
|
9月前
|
安全 Linux 网络安全
CentOS9忘记root账号密码
通过以上步骤,你可以成功重置CentOS 9系统中的root密码。如果在操作过程中遇到问题,建议查阅相关文档或联系系统管理员进行进一步排查和处理。
665 9
|
12月前
|
Unix Linux Docker
CentOS停更沉寂,RHEL巨变限制源代:Docker容器化技术的兴起助力操作系统新格局
操作系统是计算机系统的核心软件,管理和控制硬件与软件资源,为用户和应用程序提供高效、安全的运行环境。Linux作为开源、跨平台的操作系统,具有高度可定制性、稳定性和安全性,广泛应用于服务器、云计算、物联网等领域。其发展得益于庞大的社区支持,多种发行版如Ubuntu、Debian、Fedora等满足不同需求。
368 5
|
存储 缓存 Linux
在 CentOS 7 上释放磁盘空间的简单方法
【10月更文挑战第28天】
1507 2
在 CentOS 7 上释放磁盘空间的简单方法