如何在 Nextcloud 中設定 LDAP 和 Active Directory 驗證

如果您的 Nextcloud 登入需要使用與組織相同的目錄帳戶,請啟用內建的 LDAP 使用者和群組後端,並將其設定為連接到 LDAP 或 Active Directory (AD)。最安全的設定是使用專用的目錄帳戶進行搜尋、加密傳輸、刻意限制使用者範圍,並在正式部署前進行測試登入。

以下操作步驟遵循 Nextcloud 35 管理手冊,手冊於 2026 年 10 月 7 日更新。 Nextcloud 的不同版本和託管方案可能會對控制項進行不同的標記或佈局。介面圖片僅供參考,並非實際伺服器的設定範例;請以您已安裝版本的標籤和管理員手冊為準。

Nextcloud 使用 LDAP 或 Active Directory 時會發生哪些變化?

Nextcloud 會根據目錄檢查符合條件的用戶,因此用戶可以使用 LDAP 或 AD 憑證登錄,而無需單獨的本機 Nextcloud 密碼。 LDAP 後端也可以公開目錄群組。 Nextcloud 讀取目錄訊息,但不管理、編輯或刪除目錄帳戶。您的 LDAP 管理員仍然負責這些帳戶和群組成員關係。

當組織已經集中管理帳戶時,此功能非常有用。但它也引入了一個依賴關係:Nextcloud 必須能夠存取目錄並驗證其 TLS 憑證。目錄中斷、網路規則或憑證問題都可能導致目錄登入失敗,因此在配置整合時,請確保擁有經過測試的 Nextcloud 管理員帳戶以及可存取的伺服器路徑。

Nextcloud 應用程式設定中,LDAP 使用者和群組後端已設定為「已啟用」。
應用程式設定顯示 LDAP 使用者和群組後端在設定伺服器連線之前已標記為「已啟用」。

連接前需要準備什麼?

  • 目錄端點: LDAP 或 AD 主機名稱、允許的加密連線方式及其連接埠。 Nextcloud 接受 LDAPS 主機名,例如ldaps://directory.example.com;連接埠 636 是常用的 LDAPS 預設連接埠。
  • 搜尋帳戶:一個專用的服務帳戶,其目錄權限允許 Nextcloud 進行所需的搜尋。僅使用尋找所需的存取權限。請將密碼保存在受保護的管理介面中,切勿將其貼到工單或公共日誌中。
  • 基本可分辨名稱 (DN):要搜尋的目錄子樹,例如 `/etc/example.com/` dc=example,dc=com。請向目錄管理員索取正確的 DN,而不是根據電子郵件網域猜測。
  • 範圍和測試身分:決定哪些人和群組應該可見,並確定一個允許的測試帳戶,如果可能的話,也要確定一個應該排除的帳戶。
  • PHP LDAP 支援:對於手動安裝的伺服器,請確認已為服務於 Nextcloud 的 PHP 執行時間啟用 LDAP PHP 擴充功能。許多 Linux 發行版都已將其打包php-ldap。開箱即用的安裝包可能已經捆綁了所需的模組;請遵循該軟體包的文檔。

請使用 LDAPS 或其他經批准可用於您目錄的 TLS 保護的 LDAP 傳輸協定。在 Nextcloud 主機上安裝頒發憑證鏈,並確保 PHP 的 LDAP 函式庫信任該憑證鏈。切勿透過在生產環境中關閉證書驗證來解決證書錯誤。

如何啟用 LDAP 後端並輸入伺服器詳細資訊?

  1. 使用 Nextcloud 管理員帳號登入。開啟「應用」,如果尚未啟用,請啟用LDAP 使用者和群組後端。
  2. 開啟管理設置,選擇 LDAP 使用者和群組後端部分。首先進入“伺服器”選項卡。新配置可能需要先成功進行伺服器測試,其他選項卡才會可用。
  3. 輸入目錄主機。對於加密的 LDAPS 連接,典型值為ldaps://directory.example.com。如果 Nextcloud 未自動偵測到端口,請輸入正確的端口;636 是典型的 LDAPS 端口。如果您的組織使用其他安全的 LDAP 方案,請遵循目錄團隊的設定。
  4. 輸入搜尋帳戶的完整使用者 DN 和密碼。 Nextcloud 手冊建議為此使用專用的 LDAP 系統使用者。只有當您的目錄明確允許匿名搜尋時,才可將憑證留空。
  5. 輸入基本 DN,例如dc=example,dc=com。如果使用者或群組位於不同的分支中,您可以在基本連線建立後,在進階設定中細化其基本樹。
LDAP 伺服器選項卡,包含 LDAPS 主機、連接埠 636、專用使用者 DN、遮罩密碼和基本 DN。
伺服器標籤包含 LDAPS 主機、連接埠、搜尋帳戶憑證和用於尋找的目錄基本 DN。

Nextcloud 可以自動偵測連接埠和基本 DN 等值,其設定程序可以識別常見的 Active Directory 設定。請將偵測結果作為起點:驗證顯示的基本 DN 和傳回的使用者是否與預期的目錄範圍相符。

哪些使用者可以列入名單,哪些使用者可以登入?

這些是相關但獨立的決策。「使用者」標籤控制哪些目錄使用者顯示在 Nextcloud 的使用者清單中。「登入屬性」標籤控制 Nextcloud 將哪些目錄屬性與使用者登入時輸入的名稱進行比較。使用者可被發現本身並不能證明登入屬性已如預期般配置。

在「使用者」標籤中,首先使用 Nextcloud 偵測到的物件類別和使用者篩選器。如果要限制對某個目錄群組的訪問,請使用群組選擇或目錄支援的原始 LDAP 查詢。例如,AD 風格的篩選器可能是這樣的(&(objectCategory=person)(objectClass=user)(memberOf=CN=Nextcloud Users,OU=Groups,DC=example,DC=com)):[此處應填寫篩選器範例]。請將群組 DN 和 base 替換為您的實際目錄值;請勿直接貼上此範例。

在「登入屬性」中,選擇組織預期的登入識別碼。對於 Active Directory,這通常是帳戶名稱屬性sAMAccountName;有些組織也可能允許使用電子郵件地址登入。請確保選擇與您的策略保持一致,並測試員工將使用的確切使用者名稱格式。在「群組」標籤中,選擇哪些目錄群組可供 Nextcloud 使用。群組發現和登入權限的範圍並不總是相同的。

LDAP 登入屬性選項卡,其中列出了 LDAP 使用者名稱和 LDAP 電子郵件地址作為登入匹配屬性。
「登入屬性」標籤控制哪些目錄屬性可以與在 Nextcloud 登入頁面上輸入的使用者名稱相符。

測試前是否需要更改進階設定?

通常情況下不需要。首先確認基本連線和目錄範圍。 「進階」標籤包含連線、目錄、特殊屬性和設定檔選項;請僅更改您的環境所需的設定。

請特別注意身份映射。 Nextcloud 會為每個 LDAP 使用者指派一個穩定的內部使用者名稱(通常源自目錄 UUID),並將該身分對應到對應的目錄條目。內部使用者名稱可用於主資料夾名稱和服務 URL。如果在帳戶對應後更改 UUID 或內部用戶名規則,Nextcloud 可能會將用戶視為不同的用戶,並使現有文件的存取變得複雜。請在生產環境部署前確定這些值,切勿在生產伺服器上清除 LDAP 對應。

首次部署時,除非您已專門設定目錄權限和加密傳輸,否則請避免啟用 LDAP 密碼變更功能。 Nextcloud 文件中詳細說明了密碼變更的其他要求,包括寫入權限和 TLS。普通的 LDAP 驗證不需要授予搜尋帳戶更改使用者密碼的權限。

如何測試連接並保存?

  1. 在「伺服器」標籤上,選擇「測試配置」。測試將使用表單中目前的值;Nextcloud 提示您無需先儲存。
  2. 如果測試成功,請儲存配置。 Nextcloud 的文檔警告說,該配置必須處於啟動狀態;即使其他值都正確,禁用的配置也可能導致「密碼錯誤」的誤導性結果。成功的測試通常會自動啟動該配置。
  3. 開啟 Nextcloud 使用者頁面,確認預期的目錄使用者和群組是否顯示。將結果與您預期的訪問範圍進行比較。
  4. 使用允許的帳戶進行實際登入測試,然後驗證如果您配置了允許列表,則排除的帳戶是否無法登入。確認預期的群組可以在共用中使用,且帳戶的顯示名稱和電子郵件地址正確無誤。
LDAP 伺服器標籤顯示「測試配置」按鈕、綠色連線成功訊息和「儲存」按鈕。
測試配置成功確認 Nextcloud 可以連接並綁定到目前伺服器設定;之後儲存並驗證使用者。

如果測試失敗或使用者未出現怎麼辦?

症狀需要檢查什麼
連線逾時或無法聯繫伺服器檢查 Nextcloud 主機的 DNS、路由和防火牆規則、主機名稱以及 LDAP 連接埠。確認目錄正在監聽選定的安全端點。
證書或TLS錯誤安裝伺服器 PHP LDAP 堆疊可以信任的目錄憑證鏈。檢查系統 LDAP CA 配置,對於 LDAPS,也要檢查連接埠是否與端點相符。保持憑證驗證啟用狀態。
綁定或無效憑證驗證搜尋帳戶的完整 DN、密碼以及搜尋已設定子樹的權限。在將登入失敗視為使用者密碼錯誤之前,請確認設定已生效。
連線成功,但「使用者」頁面為空。檢查基本 DN、使用者物件類別、使用者篩選器以及任何群組限制。過濾器即使語法正確,也可能匹配不到任何預期帳戶。
使用者可見但無法登入。檢查登入屬性和使用者輸入的確切登入識別碼。同時確認帳戶已新增至登入篩選器中,且 LDAP 設定已啟用。
嵌套的 AD 群組不授予存取權限Nextcloud 文件指出,僅啟用嵌套群組可能不足以實現使用者清單和登入。使用者和登入篩選器可能還需要 Active Directory 的符合規則;請與您的目錄管理員協調特定的篩選條件。

對於命令列診斷,啟用 LDAP 後端應用後,Nextcloud 會提供 LDAP 命令。執行occ ldap:show-config此指令尋找設定 ID,然後使用 `<configuration ID>` 進行測試occ ldap:test-config s01,並將 `<id>` 取代s01為伺服器上顯示的 ID。在典型的 Linux 系統中,該命令可能如下所示:

sudo -E -u www-data php /var/www/nextcloud/occ ldap:test-config s01

請根據您的安裝情況調整 Web 伺服器使用者和 Nextcloud 路徑。請謹慎對待診斷輸出,因為配置詳情可能包含您的目錄結構資訊。

最終部署檢查

  • Nextcloud 伺服器可以使用組織核准的加密傳輸方式存取 LDAP 端點。
  • 服務帳戶可以只搜尋它需要的內容,並且證書驗證成功。
  • 可見使用者清單和登入篩選器與預期的存取群組相符。
  • 獲準的測試帳戶可以使用計劃的標識符登錄,而被排除的帳戶將被拒絕。
  • 在使用者開始儲存生產資料之前,內部使用者名稱和 UUID 的行為就已經確定好了。
  • 本機管理員帳戶和已記錄的復原路徑仍然可用。

這些檢查確認整合功能適用於已測試的目錄路徑和帳戶。變更過濾器、憑證、群組結構或 LDAP 伺服器位址後,請重新檢查這些檢查。有關特定版本的特定標籤,請參閱Nextcloud 的 LDAP 驗證手冊、PHP 模組指南以及LDAP occ 指令參考文件。

留下評論

修復客戶端瀏覽器上 Jitsi Meet 的 CPU 使用率過高問題。

修復客戶端瀏覽器上 Jitsi Meet 的 CPU 使用率過高問題。

透過檢查視訊圖塊、相機效果、瀏覽器圖形和主機設定來診斷 Jitsi Meet 瀏覽器 CPU 峰值並降低客戶端負載。

如何使用 Prometheus 和 Grafana 監控 Jitsi Videobridge 指標

如何使用 Prometheus 和 Grafana 監控 Jitsi Videobridge 指標

使用 Jitsi Videobridge 內建的 Prometheus 端點追蹤其運作狀況、會議負載和流量,然後在 Grafana 中探索和繪製資料圖表。

如何為 Jitsi Meet Docker 配置自訂域名

如何為 Jitsi Meet Docker 配置自訂域名

為 Jitsi Meet Docker 配置自訂網域,包括 DNS、PUBLIC_URL、HTTPS、Let's Encrypt、防火牆連接埠、NAT 設定和端對端驗證。

修正 SSL 續期後 Zimbra 管理控制台 404 未找到錯誤

修正 SSL 續期後 Zimbra 管理控制台 404 未找到錯誤

透過檢查正確的 URL 和連接埠、代理程式路由、服務狀態、已部署的憑證和日誌,修復 SSL 續訂後 Zimbra 管理控制台的 404 錯誤。

修復 Nextcloud 警告“PHP OPcache 配置不正確”

修復 Nextcloud 警告“PHP OPcache 配置不正確”

透過檢查活動的 PHP SAPI、大小限制、註解和重新驗證設置,了解如何診斷和修復 Nextcloud 的 PHP OPcache 配置警告。

修復 MySQL 版本升級後 Kopano 資料庫遷移錯誤

修復 MySQL 版本升級後 Kopano 資料庫遷移錯誤

透過檢查備份、伺服器版本、SQL 模式、字元集、模式狀態和日誌,追蹤 MySQL 或 MariaDB 升級後 Kopano 資料庫遷移失敗的問題。

如何在 Nextcloud 中設定 LDAP 和 Active Directory 驗證

如何在 Nextcloud 中設定 LDAP 和 Active Directory 驗證

透過安全傳輸、使用者和群組篩選器、登入屬性以及經過測試的部署,將 Nextcloud 連接到 LDAP 或 Active Directory。

修復 Android Element 通知(無需 Google 服務):UnifiedPush 指南

修復 Android Element 通知(無需 Google 服務):UnifiedPush 指南

透過設定 UnifiedPush、Android 權限、電池設定和可靠的驗證測試,修復已移除 Google 的手機上的 Element Android 通知問題。

修復 Nextcloud “資料庫缺少某些索引”警告

修復 Nextcloud “資料庫缺少某些索引”警告

使用官方的 occ 指令清除 Nextcloud 的資料庫索引缺少警告。請先備份,預覽更改,執行修復,然後驗證結果。

如何在 Element Web 中設定 Keycloak 單一登入 (SSO)

如何在 Element Web 中設定 Keycloak 單一登入 (SSO)

透過將 OIDC 連接到 Synapse、設定確切的回呼 URL、映射使用者聲明和測試登出來設定 Element Web 的 Keycloak SSO。