系统:centos7
问题背景:根据描述,之前有人搞破坏,导致无法进入系统。启动界面显示各种服务无法启动。
进单用户模式
重启启动,在内核选择界面按e,在linux16 行,将ro 修改为rw,在行末添加 init=/bin/bash ,按ctrl+x进入单用户模式。
具体之前被搞了什么操作不清楚,先看日志文件。
查看/var/log/message日志,日志内容如图,提示未知用户xxxx
Could not get password database information for UID of current process: User "???" unknown or no memory to allocate password entry
根据报错,应该是找不到相关用户,于是查看/etc/passwd,发现居然是个目录,所以原来passwd文件是被删,所幸passwd-文件未被删除。
/etc/passwd- Backup file for /etc/passwd,同类型的文件还有:group-,gshadow-,shadow-,subgid-,subuid-
# ls /etc/ |egrep ".*-$"
group-
gshadow-
passwd-
shadow-
subgid-
subuid-
重建passwd文件
cp /etc/passwd- /etc/passwd
如果passwd-也被删除,手动创建passwd这个文件也行,参照其他机器,把系统相关用户写进去。
重建passwd文件后,重新启动,正常进系统。
幸好只是被删了passwd文件,过程处理也简单。