首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >一个用户名的PAM身份验证错误。所有其他用户名正确登录

一个用户名的PAM身份验证错误。所有其他用户名正确登录
EN

Unix & Linux用户
提问于 2018-09-25 19:28:08
回答 2查看 14.7K关注 0票数 2

红帽企业Linux6.10在VMWare虚拟机中。我们定义了几个用户帐户。一个用户帐户(user3)无法通过SSH或VMWare控制台登录。它过去曾经登录过,但是在过去的两天里,它一直无法登录。其他用户帐户可以登录,没有任何问题。

用户的帐户列在/etc/passwd和/etc/阴影中,并且没有被锁定。我们创建了一个新用户,该用户登录时没有任何问题。etc/passwd条目显示有效的shell路径(/bin/bash)。

我们删除了user3并重新创建了帐户。它还是不能登录。任何其他名称的新帐户(usr3、user33等)可以登录。名为user3的帐户无法登录。

如果一个新帐户获得了user3所拥有的UID,它可以登录。如果一个名为user3的新帐户有不同的UID,它仍然无法登录。在某个地方,显示名“user3”被锁定在外。

以根用户身份运行'passwd user3‘将在/var/log/secure中提供以下条目:

代码语言:javascript
运行
复制
passwd: pam_unix(passwd:chauthtok): password changed for user3
passwd: gkr-pam: couldn't update the 'login' keyring password: no old password was entered

当我们作为user3进行SSH时,/var/log/secure显示:

代码语言:javascript
运行
复制
sshd[21420]: error: PAM: Authentication failure for user3 from computer1

就这样。没有其他错误。有趣的是,当我们故意输入错误的密码时,我们会看到一组不同的错误:

代码语言:javascript
运行
复制
unix_chkpwd[21903]: password check failed for user (user3)
sshs[21745]pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=computer1 user=user3
sshd[21718]: error: PAM: Authentication failure for user3 from computer1
sshd[22121]: error: PAM: Authentication failure for illegal user user3 from computer3

在我看来,PAM在某个地方对“user3”有一个错误的条目。我不太了解PAM,不足以进一步解决问题。

我需要避免任何清除/重置整个PAM配置的解决方案,因为我不想影响其他用户帐户。如何确定“user3”的名字?

EN

回答 2

Unix & Linux用户

发布于 2019-01-16 17:09:42

我遇到了同样的问题--一个用户无法通过Putty或本地ssh登录,但在pam_tally2中没有新的条目具有有效或无效的密码。

其他症状:

  • su -(提示输入密码并返回“su:身份验证失败”)
  • /var/log/secure中的条目显示"sshd[]错误: PAM:身份验证失败“,而没有auth/帐户/会话信息。
  • 使用"sudo passwd“重置密码,明确重置密码,指示令牌已成功更改,/etc/阴影中的时间戳被正确更新,但身份验证问题仍然存在
  • 用户帐户未过期

所有其他用户都能够正确登录,所以这不是一个通用的PAM配置问题。

解决方案:

代码语言:javascript
运行
复制
faillock --user <username> (showed 5 valid failures)
faillock --user <username> --reset 
faillock --user <username> (now has 0 valid failures)

在此之后,我通过Putty登录并成功地使用了su-。

票数 4
EN

Unix & Linux用户

发布于 2018-09-25 20:58:46

pam_tally2模块保存尝试访问的计数,如果太多尝试失败,则可以拒绝访问。此模块的手册有更多信息。

该模块的规范在/etc/pam.d/login中,例如:

代码语言:javascript
运行
复制
auth  required  pam_tally2.so deny=6 

可以在以下情况下确定用户的错误计数:

代码语言:javascript
运行
复制
pam_tally2 --user=<username>

您可以用以下方法重置计数:

代码语言:javascript
运行
复制
pam_tally2 --user=<username> --reset
票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/471409

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档