使用 PAM 和本地 /etc/passwd 时 uid 的问题

使用 PAM 和本地 /etc/passwd 时 uid 的问题

我们目前有一些 uid 为 5001-5010 的本地用户和一些 uid 范围为 1001-1010 的用户。

我们看到的问题是,当 5000 范围内的用户尝试进行身份验证时,无论谁尝试进行身份验证,它似乎都会继续尝试使用相同的 uid=1001。如果我将 5001 中的一个用户的 uid 更改为 1001,身份验证就会成功。

我无法完全说出在配置的哪个地方可能导致了这个问题。

pam文件

auth     required  pam_nologin.so
auth     required  pam_securetty.so
auth     required  pam_env.so
auth     include   system-auth  service=system-auth
account  include   system-auth  service=system-auth
session  include   system-auth  service=system-auth

验证错误

Mar  1 14:52:08 dev-host apphttpd: pam_unix(pamwebapp:auth): authentication failure; logname= uid=1001 euid=1001 tty= ruser= rhost=  user=user1

如前所述。如果我将用户更改为匹配 uid=1001,那么他们就可以进行身份​​验证。任何指导都将不胜感激。

谢谢

答案1

你说PAM 文件。有许多 PAM 文件,PAM 可能有点神秘,但基本上对于给定的服务(例如 SSH),存在/etc/pam.d/sshd。其内容将类似于

auth        requisite   pam_nologin.so
auth        include     common-auth
account     requisite   pam_nologin.so
account     include     common-account
password    include     common-password
session     required    pam_loginuid.so
session     include     common-session
session     optional    pam_lastlog.so   silent noupdate showfailed

如果没有 PAM 教程,那么要理解的基本内容就是include第二列,其中引用或包括/etc/pam.d/<filename>

您需要了解文件位于/etc/pam.d/. 您发布了什么内容/etc/pam.d/login。我pamd/login的是

auth     requisite      pam_nologin.so
auth     [user_unknown=ignore success=ok ignore=ignore auth_err=die default=bad] pam_securetty.so
auth     include        common-auth
account  include        common-account
password include        common-password
session  required       pam_loginuid.so
session  include        common-session
session  optional       pam_lastlog.so  nowtmp
session  optional       pam_mail.so standard
session  optional       pam_ck_connector.so

应该很快就会发现,PAM 文件会归结为少数几个核心 INCLUDE 文件。找到那些。还要注意类似的东西/etc/pam'd/sshd只与通过 SSH 登录有关,而不是通过键盘连接到将由 处理的系统/etc/pam.d/login。因此,您需要识别正在发生的任何进程或服务,这些进程或服务正在尝试进行身份验证,然后依赖于该特定的 PAM 文件。据我所知,PAM 不进行 UID 重新映射,如果发生这种情况,它发生在 PAM 之上/之前/之外。

默认 PAM 文件在不同的 Linux 发行版(redhat、sles、ubuntu、debian、mint 等)之间可能有很大差异。

相关内容