PAM:身份验证失败,使用有效密码


10

命令

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,然后我就可以适当地在输入密码来解锁屏幕。但是,如果我以普通用户身份运行它,则无法使用普通用户或root密码来解锁。

这是我的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 '18

我的帐户在/ etc / passwd中。
Paul Knopf '18

我可以使用root用户(以运行身份)“ pamtester auth pknopf authenticate”,但不能使用pknopf user。
Paul Knopf

ls -l /sbin/unix_chkpwd请添加到您的问题的结果。
roaima

更新了问题以包括输出。
Paul Knopf

Answers:


11

您的系统安装似乎已损坏。由于某种原因,该文件/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

1
这是我的问题。这是Docker剥夺该特权位的结果。 github.com/moby/moby/issues/36239
Paul Knopf

4

在Debian机器上,我必须将exim4用户添加到该shadow组中。

usermod -a -G shadow Debian-exim

PAM:在Debian系统上,PAM模块与调用程序以同一用户身份运行,因此它们无法执行您自己无法做的任何事情,尤其是除非用户在组影子中,否则它们将无法访问/ etc / shadow。-如果要将/ etc / shadow用于Exim的SMTP AUTH,则需要将exim作为组影子运行。只有exim4-daemon-heavy与libpam链接。我们建议改为使用saslauthd。

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.