我的上下文:我有一個使用 PAM 作為其身份驗證後端的 OpenSMTPD 實例。我的 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))
匹配用戶的內容,以匹配用戶的LDAPuid
屬性mail
。
難道真的不可能嗎?有解決方法嗎?