华为云服务器/etc/passwd文件损坏导致云服务器登录失败怎么办?_云淘科技
操作场景
本节操作适用于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)启动失败,因此用户无法登录。
处理方法
在控制台重启主机,进入单用户模式。
进入单用户模式的详细操作请参考Linux云服务器如何进入单用户模式重置root密码
执行以下命令检查/etc/passwd文件 。
cat /etc/passwd
确认passwd文件已被破坏,执行以下命令使用系统初始的备份passwd-文件替换损坏的passwd文件 。
# cp /etc/passwd- /etc/passwd
该操作会造成自行添加的用户丢失,如果为应用运行的用户会导致应用启动失败,待修复后请自行添加用户。
执行以下命令退出当前根目录至initramfs的根目录。
# exit
重启云服务器。
(可选)待系统启动,添加丢失的用户,例如执行以下命令添加Nginx运行用户nobody并指定该用户shell为/sbin/nologin(请根据场景添加用户,需要登录系统的用户需要指定shell为/bin/bash)。
# useradd nobody -s /sbin/nologin
父主题: SSH连接
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家