弹性云主机

_etc_passwd文件损坏导致云主机登录失败怎么办?

2025-11-06 03:40:39

操作场景

本节操作适用于Linux操作系统云主机,出现因/etc/passwd文件损坏导致云主机无法登录的问题。

说明:

·         本节操作为紧急恢复系统方法,需要在单用户模式下会将系统备份初始备份/etc/passwd-文件替换已损坏的/etc/passwd文件,该操作会造成自行添加的用户丢失(包括应用运行的用户,可以参考/etc/shadow文件添加其他账号)。

·         本节操作涉及重启云主机操作,重启云主机会造成业务中断,请谨慎操作。

               

问题描述

Linux系统中多个服务启动失败:Failed to start Login service 、Filed to start Authorization service。

待系统启动后登录,提示密码错误。

根因分析

/etc/passwd和/etc/shadow文件记录所有的用户信息,每个用户都有一个对应的记录行,如果该文件损坏或者误删除会导致登录服务(systemd-logind.service)启动失败,因此用户无法登录。

处理方法

1.  使用控制台提供的远程登录方式登录云主机。单击远程登录操作面板上方的“发送CtrlAltDel”按钮,重启虚拟机。

2.  确认开始重启后,立即反复单击上下键,阻止系统继续启动,在出现内核选项时按字母键e进入内核编辑模式。

3.  找到linux16行末尾,删除不需要加载的参数(ro参数开始到末尾)。修改ro为rw,以读写方式挂载根分区。并添加rd.break,然后执行Ctrl+X。

4.  执行以下命令切换至/sysroot目录。

# chroot /sysroot

5.  执行以下命令检查/etc/passwd文件。

cat /etc/passwd

6.  确认passwd文件已被破坏,执行以下命令使用系统初始的备份passwd-文件替换损坏的passwd文件。

7.  # cp /etc/passwd- /etc/passwd

 说明:该操作会造成自行添加的用户丢失,如果为应用运行的用户会导致应用启动失败,待修复后请自行添加用户。

8.  执行两次以下命令退出当前目录。

  # exit

9.  云主机自动重启,使用root可登录云主机,查看/etc/passwd已正常。