我创建了一个 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
我仍然看到本地用户的远程调用。