CentOS7单用户模式改密码无法保存解决

2025-09-16 21:07:22 113
魁首哥

近期有些网友想要了解CentOS7单用户模式改密码无法保存解决的相关情况,小编通过整理给您分析,根据自身经验分享CentOS7单用户模式改密码无法保存解决有关知识。

CentOS7单用户模式改密码无法保存解决

不少运维兄弟都遇到过这种尴尬情况:服务器密码忘了,费了老鼻子劲进入CentOS7的单用户模式,噼里啪啦一通操作,把新密码给设置上了。心里正美滋滋地以为大功告成,结果一重启,系统冷冷地告诉你:密码错误❌。瞬间血压就上来了,刚才不是改好了吗?怎么就跟没动过一样?这事儿确实挺让人上火,但别急,这背后有它的原因,而且解决起来也并不复杂。

为啥单用户模式改了密码会“白忙活”?

根源在于,当你进入单用户模式后,系统的根目录(/)很可能处于只读(read-only)挂载状态。你想想,修改用户密码的本质,是去修改 /etc/shadow 这个文件里的加密密码串。如果这个文件所在的根文件系统是只读的,那你所有的修改自然都无法被真正写入磁盘,重启之后当然就恢复原样了。这就像你想在一张被塑封了的纸上写字,根本留不下痕迹🖊️。

另一个偶尔会跳出来“捣乱”的家伙是SELinux。出于安全本能,它有时会阻止在这种特殊环境下对关键系统文件的修改。不过,根据大多数老司机的经验,首要怀疑对象还是文件系统的挂载方式。

一步步解决,让密码修改真正生效

下面这个流程,你照着做,基本上就能搞定问题。

第一步:进入单用户模式

这个大家应该都会,简单过一下:重启系统,在GRUB启动菜单界面,按 “e” 键进入编辑模式。找到以 “linux16” 开头的那一行,将光标移动到行尾。先敲个空格,然后加上参数 “rw init=/sysroot/bin/sh”

这里的关键是把原先的 “ro”(read-only)改成 “rw”(read-write),并指定一个特殊的初始化程序。改完之后,按 Ctrl + X 启动系统,你就进入了单用户环境。

第二步:检查并重新挂载根文件系统

虽然启动参数里指定了 “rw”,但为了万无一失,我们最好再手动确认和操作一遍。当前,你的根目录其实被挂载在了 /sysroot 下。我们先检查一下它的挂载状态:

mount | grep sysroot

如果输出结果里显示的是 “ro”,那就证实了我们的猜想——确实是只读的。这时候,我们需要手动把它重新挂载为读写模式,这是整个流程里最关键的一步🔥:

chroot /sysroot

mount -o remount,rw /

这行命令的意思是,将当前根目录切换到你真正的系统根目录(/sysroot),然后重新挂载它为读写模式。

第三步:关掉SELinux(如果需要)

为了排除一切干扰,建议你先暂时让SELinux“休息”一下。查看一下SELinux的当前状态:

getenforce

如果返回是 Enforcing,那就执行下面的命令将其临时设置为宽松模式:

setenforce 0

⚠️注意,这只是临时生效,重启后会恢复。我们先保证密码能改成功,之后可以再重新开启它。

第四步:开始修改密码

好了,障碍都扫清了,现在可以放心大胆地改密码了!使用 passwd 命令,接着输入你要设置的新密码:

passwd root

系统会提示你输入两次新密码。看到成功的提示就说明修改操作已经完成了✅。

第五步:千万记得打上SELinux标签

⚠️这一步超级重要,很多人漏掉这步导致后续各种诡异问题!⚠️

因为你是在一个非正常的环境下修改了 /etc/shadow 文件,这个文件原有的SELinux安全上下文标签可能丢失了。如果不修复,即使密码改成功了,重启后SELinux也可能会阻止登录过程读取这个文件,导致你还是登录不了。

所以,务必执行以下命令,为所有系统文件重新打上标签:

touch /.autorelabel

这个命令的作用是创建一个空文件,系统在下次启动时,如果发现这个文件的存在,就会自动启动一个完整的文件系统SELinux上下文恢复过程。这个过程可能需要几分钟,耐心等待它完成。

第六步:正常重启系统

所有操作完成后,输入 exit 退出chroot环境,再输入 reboot 重启系统。现在,你就可以用刚才设置的新密码愉快地登录你的服务器了🚀!

总结一下要点

遇到单用户模式修改密码不保存,别慌。核心思路就两点:确保根文件系统以读写方式挂载,以及完事后记得用 touch /.autorelabel 命令让SELinux自动修复标签。只要把这两步做到位,问题基本都能迎刃而解。下次再遇到,就可以淡定地搞定了!

运维工作就是这样,总是在解决各种意想不到的问题中积累经验。希望这篇笔记能帮到正在踩坑的你!

分享
海报
113
上一篇:如何进入公司?进入公司的方法 下一篇:CentOS7删除resolv.conf后仍被DHCP覆盖的根治

忘记密码?

图形验证码