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など)。

起動すると正しく入力できますi3locksudo画面ロックを解除するためのパスワードです。ただし、通常のユーザーとして実行すると、通常のユーザーまたはルートパスワードを使用してロックを解除することはできません。

これが私の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私が期待した権限ビットが失われました。

rootで次のコマンドを実行して権限を変更します。

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: Debian システムでは、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;

関連情報