PAM: Lỗi xác thực, với mật khẩu hợp lệ


9

Chỉ huy

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

Vì nó đứng ngay bây giờ, mọi màn hình khóa sẽ ngăn tôi "mở khóa" (màn hình khóa KDE i3lock, v.v.).

Nếu tôi bắt đầu i3locknhư sau sudo, tôi có thể nhập đúng mật khẩu gốc để mở khóa màn hình. Tuy nhiên, nếu tôi chạy nó như người dùng bình thường và tôi không thể sử dụng mật khẩu người dùng hoặc mật khẩu bình thường để mở khóa.

Đây là cấu hình PAM của tôi cho 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

Chạy ls -l /etc/passwd /etc/shadow /etc/groupchương trình

-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

Đây là một bản cài đặt mới của Arch, vì vậy tôi không nghĩ rằng cấu hình quá phức tạp. Tôi nên tìm kiếm gì để gỡ lỗi này?

Chạy ls -l /sbin/unix_chkpwdchương trình

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

Bạn đã có tài khoản người dùng pknopftrong tài khoản của mình /etc/passwd, v.v. và nó có thể đăng nhập không?
roaima

Tài khoản của tôi nằm trong / etc / passwd.
Paul Knopf

Tôi có thể "pamtester auth pknopf xác thực" với người dùng root (đang chạy), nhưng không phải với người dùng pknopf.
Paul Knopf

Kết quả của việc ls -l /sbin/unix_chkpwdthêm vào câu hỏi của bạn, xin vui lòng.
roaima

Câu hỏi cập nhật để bao gồm đầu ra.
Paul Knopf

Câu trả lời:


11

Cài đặt hệ thống của bạn dường như bị hỏng. Vì một số lý do, tập tin /sbin/unix_chkpwdđã mất các bit đặc quyền mà tôi mong đợi để xem.

Khắc phục các quyền bằng cách chạy lệnh sau với quyền root:

chmod u+s /sbin/unix_chkpwd

Và xác minh các quyền hiện tại như sau (xem sbit trong quyền của người dùng):

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

Trên bản phân phối Raspbian của tôi, các quyền được đặt hơi khác nhau (và hạn chế hơn). Nếu thay đổi được mô tả ở trên không hoạt động, hãy cẩn thận thay đổi quyền trên hai tệp này và xem điều này có giúp ích không (tên nhóm không quá quan trọng miễn là nó giống nhau trong cả hai trường hợp):

-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

1
Đây là vấn đề của tôi. Đó là kết quả của Docker tước bit đặc quyền đó. github.com/moby/moby/issues/36239
Paul Knopf

4

Trên máy Debian, trong trường hợp của tôi, tôi đã phải thêm người dùng exim4 vào shadownhóm.

usermod -a -G shadow Debian-exim

PAM: Trên các hệ thống Debian, các mô-đun PAM chạy cùng một người dùng với chương trình gọi điện, vì vậy chúng không thể làm bất cứ điều gì bạn không thể tự làm và đặc biệt không thể truy cập / etc / bóng trừ khi người dùng ở trong bóng nhóm. - Nếu bạn muốn sử dụng / etc / bóng cho AUTH SMTP của Exim, bạn sẽ cần chạy exim dưới dạng bóng nhóm. Chỉ exim4-daemon-heavy được liên kết với libpam. Chúng tôi đề nghị sử dụng saslauthd thay thế.

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

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.