Ldap

如何將我的 FreeNAS 文件伺服器連接到我的 Mac OS X 目錄伺服器?

  • October 28, 2020

我正在嘗試將我的文件伺服器(FreeNAS 8.0.1 / 8.2-RELEASE-p7)與我的 Mac OS X 10.7 Lion 目錄伺服器的 Open Directory 連接…我知道 Mac OS X 提供了 LDAP 服務,其他伺服器可以通過該服務進行身份驗證反對,但我很難讓 FreeNAS 針對 Mac OS X 開放目錄進行身份驗證。

如何將我的 FreeNAS 文件伺服器連接到我的 Mac OS X 目錄伺服器?

經過數小時的Google搜尋和測試,我終於設法將 FreeNAS 8 與 Mac OS X Open Directory 集成。以下是實現這一目標所需要的:

首先,使用 Server Admin 應用程序確保 Open Directory 已啟動並正在執行:

打開目錄螢幕截圖

請注意LDAP Search BaseKerberos Realm

在 FreeNAS 的 Web GUI 中,配置 LDAP 服務如下:

FreeNAS LDAP 配置 FreeNAS LDAP 配置 2

  • 主機名: your.servers.hostname.or.ip
  • Base DN: 來自 Open DirectoryLDAP 搜尋庫**
  • **允許匿名綁定:**未選中(我已將其關閉並綁定為我的diradmin使用者,但這可能是不必要的……)
  • Root Bind DN: uid=diradmin, 然後是 Base DN
  • Root 密碼: 您的 Open Directorydiradmin使用者的密碼。同樣,這可能是不必要的,我不確定
  • 密碼加密: crypt
  • 使用者後綴: cn=users
  • 組後綴: cn=groups
  • 密碼後綴: cn=users
  • 機器後綴: cn=computers
  • 加密方式: Off
  • 自簽名證書:
  • 輔助參數:
ldap_version 3
timelimit 30
bind_timelimit 30
bind_policy soft
pam_ldap_attribute uid

sasl-host *your.open.directory.server.ip.or.hostname*
sasl-realm *YOUR.KERBEROS.REALM.FROM.FIRST.STEP*

輔助參數是關鍵,尤其是sasl-hostsasl-realm。顯然,將*your.open.directory.server.ip.or.hostname*和替換*YOUR.KERBEROS.REALM.FROM.FIRST.STEP*為第一步中的資訊(參見第一個螢幕截圖)

**當您保存更改時,LDAP 應該開始為Samba/CIFS 之外的所有服務工作。**部分鬥爭是如何修復 Samba:在 FreeNAS 上最初配置 LDAP 服務後,我發現根本沒有使用者可以通過 Samba 連接,即使是在 FreeNAS 機器上本地定義的使用者。

Samba 的日誌中沒有錯誤,只是客戶端電腦上的權限被拒絕錯誤。更多研究表明,我必須啟用 FreeNAS Samba 伺服器才能使用 SASL與LDAP 配置分開對 Mac OS X Open Directory 進行身份驗證。

重要的是要注意 Mac OS X LDAP 數據庫不包含密碼數據。只能通過 SASL/Kerberos 進行身份驗證。在 Apple 論壇上引用David Colville1 的話

與其他一些 LDAP 目錄不同,OS X 不在 LDAP 記錄中儲存密碼——它使用“SASL”機制——它查詢“AuthenticationAuthority”屬性以告知可以檢索使用者密碼的位置。

密碼儲存在 PasswordServer(SASL 伺服器)、CRAM-MD5、Digest-MD5、DHX 等中(參見 Open Directory 管理指南的第 50 頁)。

這就是為什麼sasl-hostLDAP 配置中如此重要的原因。

配置 Samba 以使用 SASL:

更新 2012-12-31:這不再適合我。我已經嘗試了幾個小時來確定原因,但到目前為止一直無法確定。

在 FreeNAS Web GUI 中,配置 CIFS 服務如下:

CIFS 配置螢幕截圖

(CIFS 配置螢幕很長,為了清楚起見,我將最頂部和最底部組合在一起)

  • 認證模型: Local User
  • 輔助參數:
password server = *YOUR.KERBEROS.REALM.FROM.FIRST.STEP*
client ntlmv2 auth = yes

保存這些更改後,測試使用 Open Directory 中定義的使用者連接到 Samba 並確認您可以連接。此外,使用 AFP/SSH 進行測試,以確認它們也在針對 Open Directory 進行身份驗證。

已知的問題

有幾件事我無法解決:

  1. Mac OS X LDAP 伺服器上的使用者主目錄採用/Network/Servers/some.server/some.directory/username. 但是 FreeNAS 沒有/Network/Servers目錄。mkdir -p /Network/Servers對使用者的主目錄進行符號連結非常簡單,但是/它是只讀安裝的,所以我不能這樣做。因此 LDAP 使用者不能擁有.AppleVolumes自定義 AFP 共享的文件

**更新 2012-12-31:**我發現 Mac OS X 將允許主目錄格式為/mnt/somewhere/someuser,允許 Mac OS X 使用者的主目錄匹配 FreeNAS 文件系統,解決了這個問題。 2. Samba/CIFS 現在只能驗證 LDAP 使用者。這意味著任何通過 Samba 連接的使用者都必須在 LDAP 數據庫中有一個antry,本地使用者將不再工作。這意味著您不能擁有主目錄共享,請參閱#1。

引用自:https://serverfault.com/questions/454927