FreeRADIUS + LDAP + Mail2000 的 filter

會用 Mail2000 的大單位通常會把帳號做分組,從 LDAP 的角度看就是用 Organization Unit (ou) 分類。有些人可能身兼數職要角,所以有一堆 alias 的帳號,如果 RADIUS 從較上層的 Base DN 往下掃,同一個 uid 也許會掃到兩筆以上的結果,從 debug mode 來看可能有以下訊息:

rlm_ldap: got ambiguous search result (X results)
Login incorrect (rlm_ldap: User not found)

而得出 Access-Reject 的結果。

因此,為了排除帳號的歧義問題,對 LDAP 的 filter 須增加條件來過濾。目前看起來排除 alias 之後留下來的帳號,會有 objMail2000 與 pilotPerson 兩種 objectclass。Filter 的寫法如下:

/etc/raddb/modules/ldap:

filter = "(&(objectclass=objMail2000)(uid=%{%{Stripped-User-Name}:-%{User-Name}}))"

照目前網際漫遊的慣例,大都用 E-Mail 位址當作帳號,所以可拿 objectclass=objMail2000 當條件,應該能確保找到唯一的 uid…

分類: 未分類,標籤: , 。這篇內容的永久連結

在〈FreeRADIUS + LDAP + Mail2000 的 filter〉中有 1 則留言

  1. 初學者表示:

    目前正使用mail200與ldap配合freeradius2建置網路漫遊作業,但freeradius2與ldap一直無法整合,可否請你提供設定範本,謝謝你

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *