將 Solaris/AIX 橋接到 Active Directory 的解決方案?

將 Solaris/AIX 橋接到 Active Directory 的解決方案?

我需要讓 Solaris 和 AIX 系統獲得 AD 的身份驗證和名稱服務。我在 Solaris 方面取得了一些成功使用 OpenLDAP 作為代理用於用戶身份驗證。我還成功將 AIX 設定為使用 AD kerberos 驗證和 AD LDAP 命名服務。但是,對於這兩個平台,我有兩個嚴重的問題需要幫助:

  1. AD 使用者/群組可以是大寫或小寫,或它們的任意組合,但為了獲得一致的最終使用者體驗和實用程式在 UNIX 中按預期工作,它們應該是小寫。在 AD 中集體重命名 ID 很難推銷。 Linux sssd 可以執行小寫,但 AIX/Solaris 不能。
  2. AIX 和Solaris 期望組成員使用rfc2307 'memberUid' 屬性(例如memberUid=user1),而AD 使用rfc2307bis 'member' 屬性(例如member=cn=user1,dc=foo,dc=com)。有沒有辦法使用 OpenLDAP 或其他方式為 Solaris/AIX 用戶端重寫 memberUid? slapo-rwm可以重寫DN,但像這樣的轉換,似乎不存在。

答案1

您可以使用 Kerberos 將 AIX 登入對應到 AD 名稱/網域。此 IBM 頁面是 AD 和伺服器配置的一個很好的參考。然後你只需要做:

chuser auth_name=ADUSER auth_domain=example.comregistry=KRB5Afiles SYSTEM=KRB5Afiles 登錄

(請注意,這在 AIX7.1 上有點不同,但在 6.1 和 5.3 上運行良好。)

這就是我們在工作場所向 AD 進行身份驗證的方式,而且維護起來非常簡單,不需要 LDAP 綁定。

答案2

根據我的要求,我們最終使用的解決方案是 OpenLDAP contrib 模組(覆蓋)adremap,它存在於 OpenLDAP 的每個來源發行版中,看到這個連結。我們與 Symas 簽訂了合同,讓他們開發它並將其放入上游 OpenLDAP。此覆蓋將小寫使用者名稱並將 rfc2307bis 成員屬性動態轉換為 memberUid。如果編譯,手冊頁會提供使用它的文件:man slapo-adremap

我使用 adremap 覆寫(小寫,群組轉換)和 rwm ( ) 將 OpenLDAP 配置為 AD 代理,man slapo-rwm以將舊 Solaris/AIX LDAP 用戶端想要的 LDAP 屬性對應到 AD 等效項。

使用中的 adremap 設定:

overlay adremap
adremap-downcase uid
adremap-downcase cn
adremap-downcase memberUid
adremap-downcase member
adremap-downcase samaccountname
adremap-dnmap member cn memberUid group posixGroup person dc=example,dc=com

部分 rwm 覆蓋配置:

rwm-map attribute       gecos           displayName
rwm-map attribute       uid             samAccountName
rwm-map attribute       homedirectory   unixHomeDirectory
rwm-map objectclass     posixGroup      group
rwm-map objectclass     posixAccount    user

將 OpenLDAP 配置為代理程式在 中進行了介紹man slapd-ldap,並且超出了我在這裡可以提供的有用內容。

在思考這個問題一段時間後,我發現沒有完美的解決方案,但這個對我們有用。請注意,此解決方案也適用於較舊的 RHEL(EL6 之前)LDAP 用戶端,因為它們無法小寫使用者名稱。

相關內容