如何配置 /etc/pam.d/sshd 和 nsswitch.conf 以避免本地用户对 ssh 的所有远程调用?

如何配置 /etc/pam.d/sshd 和 nsswitch.conf 以避免本地用户对 ssh 的所有远程调用?

我创建了一个 NSS 和一个 PAM 模块,以便从自定义远程服务器进行身份验证并获取用户和组。

为了让系统使用它们,我在以下位置添加一行/etc/pam.d/sshd

auth       sufficient   myPAMmodule.so

并在/etc/nsswitch.conf

passwd:     files sss myNSSmodule
shadow:     files sss myNSSmodule
group:      files sss myNSSmodule

问题是如何配置这些(或其他任何内容)以避免在使用本地用户进行 ssh 时调用我的模块。

在我的模块之前添加一个足够的linux模块

auth       sufficient  pam_env.so

看来有必要。通过在没有我的模块的情况下添加 initgroups 行

initgroups: files sss

使 id 命令仅在本地用户本地工作(但仅获取用户的主要组)。

但每当我执行时,ssh user@localhost我仍然看到本地用户的远程调用。

相关内容