PAM: Помилка автентифікації, з дійсним паролем


10

Командування

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тощо).

Якщо я почніть 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

У вас є обліковий запис користувача pknopfу вашому /etc/passwdтощо, і він може ввійти?
roaima

Мій обліковий запис знаходиться в / etc / passwd.
Пол Нопф

Я можу "pamtester auth pknopf автентифікувати" з користувачем root (працює як), але не з користувачем pknopf.
Пол Нопф

Результат ls -l /sbin/unix_chkpwdдодано до Вашого запитання.
roaima

Оновлено питання, щоб включити вихід.
Пол Нопф

Відповіді:


11

Здається, ваша інсталяція системи порушена. З якоїсь причини файл /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

1
Це як моє питання. Це було наслідком того, що Докер позбавив цей біт привілеїв. github.com/moby/moby/isissue/36239
Пол Кнопф

5

На машині Debian у моєму випадку мені довелося додати exim4 користувача до shadowгрупи.

usermod -a -G shadow Debian-exim

PAM: У системах Debian модулі PAM працюють як той самий користувач, що і виклична програма, тому вони не можуть робити нічого, чого ви не могли зробити самі, і, зокрема, не можете отримати доступ / etc / shadow, якщо користувач не перебуває в тіньовій групі. - Якщо ви хочете використовувати / etc / shadow для SMTP AUTH Exim, вам потрібно буде запустити exim як тінь групи. Либпам пов'язаний лише з exim4-демоном-важким. Ми пропонуємо замість цього використати saslauthd.

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.