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

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

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

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

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

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

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

执行如下命令:

1.chroot /mnt/sysimage

2.passwd

3.exit或者Ctrl+D 退出 chroot

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

重启系统

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

可参考文档:

  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--

时间: 2024-12-14 18:08:25

RHEL/CentOS 6/7重置root用户密码——方法与过程的相关文章

VM虚拟机上的CentOS 7系统重置root用户密码

1.开机在进入CentOS系统时(还未进入系统内)的系统选择页面时按E键进入系统编辑模式 2.找到Linux16开头的这行代码,用方向键将光标移动至这行代码的结尾,键入一个空格和rd.break,然后按Ctrl+X键进入 3.进入switch_root命令页面后 把/sysroot挂载为可读写模式 命令:mount  -o  remount,rw  /sysroot 用chroot命令把根目录切换回之前的环境 命令:chroot  /sysroot 现在相当于以root权限登录了之前的系统,用命

Ubuntu 下重置root用户密码

# [mysqld] section 中加入 "skip-grant-tables" sudo vi /etc/mysql/my.cnf sudo service mysql restart #用空密码进入mysql管理命令行 sudo mysql -u root -p mysql # 重置 root 用户密码 update user set password=PASSWORD("root") where user='root'; # 退出 quit # 将第一步改

MySQL重置root用户密码的方法

本教程适用于采用Win2003.WinXP操作系统的迅美VPS和云主机产品. 当管理员忘记MySQL密码怎么办?屡次输入密码,仍然提示错误,网站无法正常运行,数据库也无法管理,管理员束手无策. 网站程序或MySQL管理软件连接MySQL服务器时密码错误,会出现"1045 - Access denied for user 'root'@'localhost'(using password:YES)"的错误提示,如下图: 当确认已经忘记MySQL密码,则可以通过以下方案重置root用户密码

MySQL重置root用户密码的方法【亲测可用】

1. 报错截图 2.当确认已经忘记MySQL密码,则可以通过以下方案重置root用户密码.双击打开C:\Program Files\MySQL\MySQL Server 5.1\my.ini文件,如下图: 3. 点击“记事本”软件顶部的“编辑”,再选择“查找”,在“查找内容”处输入[mysqld],并点击“查找下一个”,它会自动转到[mysqld]字段行.在下面增加一行skip-grant-tables并保存,如下图:[mysql_5.6 没有my.ini文件,可以将my-default.ini

Linux系统重置root用户密码

Linux系统重置root用户密码 作者:Eric 微信:loveoracle11g 查看系统版本是不是RHEL7 [[email protected] ~]# cat /etc/redhat-release Red Hat Enterprise Linux Server release 7.0 (Maipo) 重启主机并在引导界面敲击按键"e"来进入内核编辑页面 在linux16这行的按(End键/Ctrl+E)到最后面追加"rd.break"并同时一起按下&qu

Linux重置root用户密码

忘记密码.是常事儿!怎么改?往下看!! Linux 最大权限的 root用户密码忘记了?咋么办.重做系统?当然,可以这样子!!!但是在生产环境中.......行么?答案:no(随带提一句:就算是在学习过程中,建议您也按照生产环境来玩(Linux) 初学Linux,root密码忘记了,第一次玩!! ----------------------------------------------------------------------------------------- 操作步骤: 重启Lin

MySQL WINDOWS下重置root用户密码过程

昨天另一个项目的小伙伴打来电话,说是他们项目节后准备在MYSQL上做一次数据迁移,打算先在本地WINDOWS上MYSQL测试后,再将整个计划拿来与老外讨论.目前遇到一个很奇葩的事情,原先MYSQL DBA 1个月前离职了,在离职交接中LINUX服务器上的MYSQL文档都发给项目组了,但是一台本地WINDOWS上的MYSQL因为很少有人使用,所以该DBA可能遗忘了交接这个MYSQL的文档.现在小伙伴急着用,所以让我帮忙重置MYSQL ROOT用户的密码. 哥这种半吊子MYSQL DBA也只好赶鸭子

mysql 5.1 在Windows下重置root 用户密码

在windows下:打开命令行窗口,停止mysql服务(这里不用进入mysql目录): net stop mysql 进入mysql安装目录的bin文件夹下 执行: mysqld --skip-grant-tables 另外打开一个命令行窗口,dos进入mysql的bin目录下执行 D:\software\xampp\mysql\bin>mysql mysql>use mysql; mysql>update user set password=password("new_pas

如何重置VCSA6.0 ROOT用户密码。

如果vcsa的root用户密码遗失了怎么办?网上很多关于恢复suse linux系统root用户的文章,但都不适用于VCSA,即使VCSA使用的是suse内核,原因是VCSA无法直接进入单用户模式,在进入单用户模式之前有一层用户密码验证,如下图所示,必须按P后输入root用户和密码方能进入下步操作,所以我们要做的第一步是清除GRUB菜单密码. 具体操作步骤: 1.用redhat7的DVD光盘引导系统,在启动菜单中选择"Troubleshooting" 2.然后选择"Rescu