passwd로 사용자 비밀번호를 변경할 수 없습니다. 오류 "passwd: 죄송합니다"

passwd로 사용자 비밀번호를 변경할 수 없습니다. 오류 "passwd: 죄송합니다"

FreeBSD 서버를 사용하고 있는데 이상한 문제가 있습니다. 누군가가 비밀번호를 변경하려고 할 때마다 이런 메시지가 표시됩니다.

~$ passwd
Changing local password for <USER>
Old Password:
passwd: sorry

루트 계정은 영향을 받지 않습니다.

로그에서 어떤 단서도 찾을 수 없습니다. 인증을 위해 LDAP를 사용하지 않고 서버가 감옥에서 실행되고 있습니다.

답변1

소스 코드는 너무 짧고 단순해서 FreeBSD passwd유틸리티 내에서 특정 메시지가 인쇄되는 유일한 위치를 찾는 데는 시간밖에 걸리지 않았습니다.

특히 PAM이 사용자 인증에 실패했을 때 발생합니다. 즉, 다음 중 하나입니다.

  1. 이전 비밀번호를 잘못 입력하셨습니다.
  2. passwd적절한 권한이 없습니다. setuid 루트여야 합니다.
  3. 로컬 PAM 설정이 심각하게 손상되었습니다. 만약 그렇다면 누구도 로그인할 수 없을 것입니다.

내 베팅은 2입니다.

답변2

이는 NIS에 문제가 있을 수 있습니다. nsswitch.conf를 확인하고 NIS 또는 YP(Yellow Pages) 사용을 비활성화합니다. 그런 다음 문제가 사라졌는지 확인하십시오.

관련 정보