사용자 이름에 대한 PAM 인증 오류입니다. 다른 모든 사용자 이름은 올바르게 로그인됩니다.

사용자 이름에 대한 PAM 인증 오류입니다. 다른 모든 사용자 이름은 올바르게 로그인됩니다.

VMWare 가상 머신의 Red Hat Enterprise Linux 6.10. 여러 사용자 계정이 정의되어 있습니다. 하나의 사용자 계정(user3)은 SSH 또는 VMWare 콘솔을 통해 로그인할 수 없습니다. 이전에 로그인한 적이 있는데 지난 이틀 동안 로그인이 되지 않았습니다. 다른 사용자 계정은 정상적으로 로그인이 가능합니다.

사용자 계정은 /etc/passwd 및 /etc/shadow에 나열되어 있으며 잠겨 있지 않습니다. 새 사용자를 생성했고 해당 사용자는 문제 없이 로그인했습니다. /etc/passwd 항목은 유효한 쉘 경로(/bin/bash)를 표시합니다.

user3을 삭제하고 계정을 다시 만들었습니다. 여전히 로그인이 되지 않습니다. 다른 이름(usr3, user33 등)을 가진 새 계정이 작동합니다. user3이라는 계정은 로그인할 수 없습니다.

새 계정이 user3이 소유한 UID를 받으면 로그인할 수 있습니다. user3이라는 새 계정의 UID가 다른 경우에도 여전히 로그인에 실패합니다. 표시 이름 "user3"이 어딘가에 잠겨 있습니다.

"passwd user3"을 루트로 실행하면 /var/log/secure에 다음 항목이 제공됩니다.

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에 다음이 표시됩니다.

sshd[21420]: error: PAM: Authentication failure for user3 from computer1

그게 다야. 다른 오류는 없습니다. 흥미롭게도 의도적으로 잘못된 비밀번호를 입력하면 다른 오류 세트가 표시됩니다.

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" 이름을 어떻게 정확히 알 수 있나요?

답변1

저도 같은 문제가 있었습니다. 한 사용자가 Putty 또는 로컬 SSH를 통해 로그인할 수 없었지만 pam_tally2에 유효하거나 유효하지 않은 비밀번호가 있는 새 항목이 없었습니다.

기타 증상:

  • su - (비밀번호를 묻는 메시지를 표시하고 "su: 인증 실패"를 반환합니다.)
  • /var/log/secure 항목에 인증/계정/세션 정보 없이 "sshd[] 오류: PAM: 인증 실패"라고 표시됩니다.
  • "sudo passwd"를 사용하여 비밀번호를 재설정하면 비밀번호가 명확하게 재설정되어 토큰이 성공적으로 변경되었고 /etc/shadow의 타임스탬프가 올바르게 업데이트되었지만 인증 문제가 지속됨을 나타냅니다.
  • 사용자 계정이 만료되지 않았습니다.

다른 모든 사용자는 올바르게 로그인할 수 있으므로 이는 일반적인 PAM 구성 문제가 아닙니다.

해결책:

faillock --user <username> (showed 5 valid failures)
faillock --user <username> --reset 
faillock --user <username> (now has 0 valid failures)

그 후 Putty를 통해 로그인하고 "su -"를 성공적으로 사용할 수 있었습니다.

답변2

모듈 pam_tally2은 액세스 시도 횟수를 기록하고 너무 많은 시도가 실패할 경우 액세스를 거부할 수 있습니다. 모듈의 맨페이지에 자세한 정보가 있습니다.

이 모듈의 사양은 다음과 같습니다 /etc/pam.d/login. 예를 들면 다음 과 같습니다.

auth  required  pam_tally2.so deny=6 

다음을 통해 사용자의 오류 수를 확인할 수 있습니다.

pam_tally2 --user=<username>

다음을 통해 카운트를 재설정할 수 있습니다.

pam_tally2 --user=<username> --reset

관련 정보