web-dev-qa-db-ja.com

PAM:有効なパスワードでの認証失敗

コマンド

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

journctl

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として開始すると、rootパスワードを適切に入力して画面のロックを解除できます。ただし、通常のユーザーとして実行し、通常のユーザーまたはrootのパスワードを使用してロックを解除できない場合は、.

これがi3lockの私のPAM設定です。

#
# 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
9
Paul Knopf

システムのインストールが壊れているようです。何らかの理由で、ファイル/sbin/unix_chkpwdは、私が見ると予想される特権ビットを失いました。

ルートとして次のコマンドを実行して、権限を修正します。

chmod u+s /sbin/unix_chkpwd

そして、権限が次のようになっていることを確認します(ユーザー権限のsビットを参照):

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

私のRaspbianディストリビューションでは、アクセス許可の設定が少し異なります(より制限的です)。上記の変更が機能しない場合は、注意深くこれら2つのファイルのアクセス許可を変更し、それが役立つかどうかを確認します(両方のケースで同じであれば、グループ名はそれほど重要ではありません)。

-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
11
roaima

Debianマシンでは、私の場合、exim4ユーザーをshadowグループに追加する必要がありました。

usermod -a -G shadow Debian-exim

PAM:Debianシステムでは、PAMモジュールは呼び出し側プログラムと同じユーザーとして実行されるため、ユーザーが自分でできないことは何もできません。特に、ユーザーがグループシャドウに属していない限り、/ etc/shadowにアクセスできません。 -EximのSMTP AUTHに/ etc/shadowを使用する場合は、グループシャドウとしてeximを実行する必要があります。 libpamにリンクされているのはexim4-daemon-heavyだけです。代わりにsaslauthdを使用することをお勧めします。

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

4