PAM: 인증 실패, 비밀번호가 유효합니다.

PAM: 인증 실패, 비밀번호가 유효합니다.

주문하다

pamtester -v auth pknopf authenticate
pamtester: invoking pam_start(auth, pknopf, ...)
pamtester: performing operation - authenticate
Password:
pamtester: Authentication failure

신문

Feb 06 13:22:17 PAULS-ARCH unix_chkpwd[31998]: check pass; user unknown
Feb 06 13:22:17 PAULS-ARCH unix_chkpwd[31998]: password check failed for user (pknopf)
Feb 06 13:22:17 PAULS-ARCH pamtester[31997]: pam_unix(auth:auth): authentication failure; logname= uid=1000 euid=1000 tty= ruser= rhost=  user=pknopf

현재로서는 모든 잠금 화면으로 인해 "잠금 해제"가 불가능합니다(KDE 잠금 화면 i3lock등).

시작하면 올바르게 입력할 수 있습니다 i3lock.sudo뿌리화면 잠금을 해제하기 위한 비밀번호입니다. 하지만 일반 사용자로 실행하면 일반 사용자나 루트 비밀번호를 사용하여 잠금을 해제할 수 없습니다.

이것이 내 PAM 구성입니다 i3lock.

#
# PAM configuration file for the i3lock screen locker. By default, it includes
# the 'system-auth' configuration file (see /etc/pam.d/login)
#
auth include system-auth

실행 중인 ls -l /etc/passwd /etc/shadow /etc/group프로그램

-rw-r--r-- 1 root root 803 Feb 6 14:16 /etc/group
-rw-r--r-- 1 root root 1005 Feb 6 14:16 /etc/passwd
-rw------- 1 root root 713 Feb 6 14:16 /etc/shadow

이것은 Arch를 새로 설치한 것이므로 구성이 크게 이상하다고 생각되지 않습니다. 이것을 디버깅하려면 무엇을 찾아야 합니까?

실행 중인 ls -l /sbin/unix_chkpwd프로그램

-rwxr-xr-x 1 root root 31392 Jun  9  2016 /sbin/unix_chkpwd

답변1

시스템 설치가 손상된 것 같습니다. 어떤 이유로 파일에서 /sbin/unix_chkpwd내가 기대했던 권한 비트가 손실되었습니다.

루트로 다음 명령을 실행하여 권한을 수정합니다.

chmod u+s /sbin/unix_chkpwd

이제 권한이 다음과 같은지 확인합니다( s사용자 권한의 비트 참조).

-rwsr-xr-x 1 root root 31392 Jun  9  2016 /sbin/unix_chkpwd

내 Raspbian 배포판에서는 권한이 약간 다르게(더 제한적으로) 설정됩니다. 위의 변경사항이 작동하지 않는 경우,주의 깊은두 파일에 대한 권한을 변경하고 이것이 도움이 되는지 확인하십시오(두 경우 모두 동일하다면 그룹 이름은 중요하지 않습니다).

-rw-r----- 1 root shadow  1354 Dec  6 13:02 /etc/shadow
-rwxr-sr-x 1 root shadow 30424 Mar 27  2017 /sbin/unix_chkpwd

답변2

shadow제 경우에는 Debian 시스템에서 exim4 사용자를 그룹 에 추가해야 했습니다 .

usermod -a -G shadow Debian-exim

PAM: 데비안 시스템에서 PAM 모듈은 호출 프로그램과 동일한 사용자로 실행되므로 스스로 할 수 없는 일은 아무것도 할 수 없습니다. 특히 사용자가 섀도우에 있지 않으면 /etc/shadow에 액세스할 수 없습니다. 그룹. - Exim으로 SMTP 인증을 위해 /etc/shadow를 사용하려면 exim을 그룹 섀도우로 실행해야 합니다. libpam에는 exim4-daemon-heavy 링크만 있습니다. 대신 saslauthd를 사용하는 것이 좋습니다.

http://lira.no-ip.org:8080/doc/exim4-base/README.Debian.html

답변3

같은 문제가 있었지만 여전히 해결해야 했습니다.

chmod u+s /bin/sudo
chmod u+s /sbin/unix_chkpwd
chmod u+s /usr/bin/su 

오류는 다음과 같습니다

unix_chkpwd[37679]: password check failed for user XXX
su: pam_unix(su-l:auth): authentication failure;

관련 정보