centos服务器用户无法登陆

问题描述:研发同事反馈测试机无法远程登陆

——————————————————————————————————————————————

问题排查:

① 咱们先本地测试SSH测试下,提示没有权限“permission denied”

 ② 再进机房,接上显示器发现有报错信息(提示分区节点、块有问题);同时输入账号密码后,也是无法登录

 既然发现新的问题,那就先解决报错问题,再解决用户无法登陆问题。

——————————————————————————————————————————————

问题解决:

1、咱们通过centos7U盘启动,进入救援模式;选择“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密码

发现报错提示passwdAuthentication 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

posted @ 2023-07-04 18:05  冲冲、冲  阅读(704)  评论(0编辑  收藏  举报