这种情况通常是由于PAM配置或用户shell设置问题导致的。以下是几种常见原因和解决方法:
# 查看用户shell设置 cat /etc/passwd | grep 用户名 # 如果显示/bin/false或/sbin/nologin,需要修改为正常shell usermod -s /bin/bash 用户名
# 检查/etc/pam.d/login文件 cat /etc/pam.d/login # 检查/etc/pam.d/system-auth文件 cat /etc/pam.d/system-auth
# 确保用户主目录存在且权限正确 ls -ld /home/用户名 chmod 755 /home/用户名 chown 用户名:用户名 /home/用户名
# 如果存在此文件,会阻止非root用户登录 rm -f /etc/nologin
# 查看用户是否被锁定 passwd -S 用户名 # 解锁用户(如果需要) passwd -u 用户名
# 检查根分区空间 df -h / # 检查用户磁盘配额 quota -u 用户名
# 查看认证相关日志 tail -f /var/log/secure journalctl -xe
# 如果怀疑密码问题,可以重置密码 passwd 用户名
# 检查SSH配置 cat /etc/ssh/sshd_config | grep -i "password"
# 创建测试用户 useradd testuser passwd testuser
建议操作顺序:
先查看系统日志 /var/log/secure 获取具体错误信息
检查用户shell设置
检查PAM配置
微信号:RH23CN
检查用户主目录权限
如果问题仍然存在,请提供 /var/log/secure 中的相关错误信息以便进一步诊断。