PAM: Kegagalan otentikasi, dengan kata sandi yang valid

10

Perintah

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

jurnal

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

Seperti berdiri sekarang, setiap layar kunci akan mencegah saya dari "membuka" (layar kunci KDE i3lock,, dll).

Jika saya mulai i3locksebagai sudo, saya kemudian dapat benar mengetik di akar kata sandi untuk membuka kunci layar. Namun, jika saya menjalankannya sebagai pengguna biasa, dan saya tidak bisa menggunakan kata sandi pengguna atau root biasa untuk membuka kunci.

Ini adalah konfigurasi PAM saya untuk 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

Menjalankan ls -l /etc/passwd /etc/shadow /etc/grouppertunjukan

-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

Ini adalah instalasi baru Arch, jadi saya tidak berpikir konfigurasi terlalu miring. Apa yang harus saya cari untuk men-debug ini?

Menjalankan ls -l /sbin/unix_chkpwdpertunjukan

-rwxr-xr-x 1 root root 31392 Jun  9  2016 /sbin/unix_chkpwd
Paul Knopf
sumber
Anda memiliki akun pengguna pknopfdi /etc/passwd, dll., Dan dapat masuk?
roaima
Akun saya di / etc / passwd.
Paul Knopf
Saya dapat "pamtester auth pknopf autentikasi" dengan (menjalankan sebagai) pengguna root, tetapi tidak dengan pengguna pknopf.
Paul Knopf
ls -l /sbin/unix_chkpwdTolong, hasil ditambahkan ke pertanyaan Anda.
roaima
Pertanyaan yang diperbarui untuk menyertakan output.
Paul Knopf

Jawaban:

11

Instalasi sistem Anda tampaknya rusak. Untuk beberapa alasan, file tersebut/sbin/unix_chkpwd telah kehilangan bit privilege yang saya harapkan untuk dilihat.

Perbaiki izin dengan menjalankan perintah berikut sebagai root:

chmod u+s /sbin/unix_chkpwd

Dan verifikasi izin sekarang sebagai berikut (lihat sbit di izin pengguna):

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

Pada distribusi Raspbian saya, izin diatur sedikit berbeda (dan lebih ketat). Jika perubahan yang dijelaskan di atas tidak berfungsi, ubah dengan hati-hati izin pada kedua file ini dan lihat apakah ini membantu (nama grup tidak terlalu penting asalkan sama dalam kedua kasus):

-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
roaima
sumber
1
Ini sebagai masalah saya. Itu adalah hasil dari Docker yang menghapus hak istimewa itu. github.com/moby/moby/issues/36239
Paul Knopf
4

Pada mesin Debian, dalam kasus saya, saya harus menambahkan pengguna exim4 ke shadowgrup.

usermod -a -G shadow Debian-exim

PAM: Pada sistem Debian, modul PAM dijalankan sebagai pengguna yang sama dengan program panggilan, sehingga mereka tidak dapat melakukan apa pun yang tidak dapat Anda lakukan sendiri, dan khususnya tidak dapat mengakses / etc / shadow kecuali jika pengguna berada dalam grup shadow. - Jika Anda ingin menggunakan / etc / shadow untuk SMTP AUTH dari Exim, Anda harus menjalankan exim sebagai shadow grup. Hanya exim4-daemon-heavy yang terhubung dengan libpam. Kami sarankan menggunakan saslauthd sebagai gantinya.

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

Daniel Sokolowski
sumber