centos服务器用户无法登陆
问题描述:研发同事反馈测试机无法远程登陆
——————————————————————————————————————————————
问题排查:
① 咱们先本地测试SSH测试下,提示没有权限“permission denied”
② 再进机房,接上显示器发现有报错信息(提示分区节点、块有问题);同时输入账号密码后,也是无法登录
既然发现新的问题,那就先解决报错问题,再解决用户无法登陆问题。
——————————————————————————————————————————————
问题解决:
1、咱们通过centos7的U盘启动,进入救援模式;选择“Troubleshooting”——“Rescue a Centos system”——“2”只读模式挂载
2、进入救援模式的shell后,先切换到原有磁盘的系统上;准备修复磁盘
chroot /mnt/sysimage #切换磁盘的shell中
blkid #查看分区的type格式
fsck.ext4 -f -y /dev/mapper/centos-root #通过fsck命令修复分区
umount /dev/mapper/centos-root #如果提示设备忙,无法修复,则先取消挂载
fsck.ext4 -f -y /dev/mapper/centos-root #取消挂载后,再修复对应的分区
exit #退出
exit #退出,等设备重启,进入系统查看是否还有报错信息
设备重启后,发现不再弹出报错信息,但用户依旧无法登陆。
3、还是通过U盘启动,先进入救援模式的shell,然后通过passwd命令修改root密码;
chroot /mnt/sysimage #切换磁盘的shell中 mount -o remount,rw / #以读写的方式重新挂载/目录 passwd #修改root密码
发现报错提示“passwd:Authentication token manipulation error”;
通过搜索网上文档后,发现造成该现象的原因可能是下面两种:
①与用户密码相关的文件被篡改或出现异常(/etc/passwd、/etc/shadow、/etc/group、/etc/gshadow)
②与用户密码相关的文件设置了-i属性,禁止修改;
4、先依次查看相关文件是否存在、是否内容被修改;
cat /etc/passwd cat /etc/shadow #发现内容为空 cat /etc/group cat /etc/gshadow pwconv #根据/etc/passwd文件,新建/etc/shadow文件
cat /etc/shadow #查看内容是否生成
结果发现/etc/shadow文件为空,于是通过“pwconv”命令新建该文件。
5、再次修改密码
chattr -i /etc/*shadow /etc/passwd /etc/group #取消-i禁止修改(别管是否设置过-i属性,直接取消就完了)
passwd #修改root密码
exit #退出
exit #退出
发现密码修改成功,退出后服务器重启进入系统,发现可以通过新的密码登陆,问题解决
总结:一共发现两个问题,磁盘有坏块需要修复和root密码无法修改;之前root用户无法登陆可能也是shadow文件为空导致的。
参考链接:https://help.aliyun.com/document_detail/41542.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix