如何定制 NSS 过滤器来根据多种属性匹配用户?

如何定制 NSS 过滤器来根据多种属性匹配用户?

我的背景:我有一个 OpenSMTPD 实例,它使用 PAM 作为其身份验证后端。我的 PAM 配置使用 NSS 根据 LDAP 目录对用户进行身份验证。

我想让 NSS 根据用户uid或其mailLDAP 属性来匹配用户。

根据我看到的日志,默认过滤器似乎是(&(objectClass=posixAccount)(uid=xxxxxx)) 其中 xxxxx 是用户登录名

手册nslcd.conf页描述了该filter参数,但似乎无法使用变量。另外,无论我配置什么过滤器,(uid=xxxxx)最后都会添加(例如,如果我filter passwd (foo=bar)在配置文件中设置,则用于匹配用户的过滤器将是(&(foo=bar)(uid=xxxx))

我希望能够编写一些类似的东西(|(uid=$login)(mail=$login))来匹配用户,或者根据用户uid或其mailLDAP 属性来匹配用户。

这真的不可能吗?有解决方法吗?

相关内容