我的背景:我有一个 OpenSMTPD 实例,它使用 PAM 作为其身份验证后端。我的 PAM 配置使用 NSS 根据 LDAP 目录对用户进行身份验证。
我想让 NSS 根据用户uid
或其mail
LDAP 属性来匹配用户。
根据我看到的日志,默认过滤器似乎是(&(objectClass=posixAccount)(uid=xxxxxx))
其中 xxxxx 是用户登录名。
手册nslcd.conf
页描述了该filter
参数,但似乎无法使用变量。另外,无论我配置什么过滤器,(uid=xxxxx)
最后都会添加(例如,如果我filter passwd (foo=bar)
在配置文件中设置,则用于匹配用户的过滤器将是(&(foo=bar)(uid=xxxx))
)。
我希望能够编写一些类似的东西(|(uid=$login)(mail=$login))
来匹配用户,或者根据用户uid
或其mail
LDAP 属性来匹配用户。
这真的不可能吗?有解决方法吗?