如何在 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 指令參考文件。

留下評論

10 款最佳 Ping 掃描工具,協助您尋找網路上的設備

10 款最佳 Ping 掃描工具,協助您尋找網路上的設備

比較 10 款 ping 掃描工具,它們可用於快速發現區域網路、跨平台掃描和 IP 位址管理。了解掃描可以告訴您什麼,以及不能告訴您什麼。

用於追蹤效能的 6 款最佳網路管理工具

用於追蹤效能的 6 款最佳網路管理工具

比較六款網路管理工具的效能監控功能,包括 SNMP 覆蓋範圍、映射、警報、部署模型和成本權衡。

適用於 Windows、iOS 和 Android 的最佳 Wi-Fi 分析器

適用於 Windows、iOS 和 Android 的最佳 Wi-Fi 分析器

比較適用於 Windows、iPhone 和 Android 的 Wi-Fi 分析器,包括頻道擁塞、訊號覆蓋範圍、熱圖和網路故障排除工具。

Ping 監控:7 款免費開源的網路可用性工具

Ping 監控:7 款免費開源的網路可用性工具

比較七款免費開源的 ping 監視器,從完整的網路套件到專注於延遲探測的工具,選擇最適合可用性、丟包率和歷史記錄的工具。

網路中的服務品質 (QoS):服務品質的角色和工作原理

網路中的服務品質 (QoS):服務品質的角色和工作原理

了解 QoS 在網路中的意義,DSCP 標記和流量佇列如何對語音、視訊和業務應用程式進行優先排序,以及 QoS 無法解決的問題。

最佳SFTP伺服器軟體,實現安全檔案傳輸

最佳SFTP伺服器軟體,實現安全檔案傳輸

比較適用於 Windows 和 Linux 的可靠 SFTP 伺服器軟體,包括 OpenSSH、Bitvise、SolarWinds 和 SFTPGo。尋找最適合您的安全性和文件傳輸需求的軟體。

適用於網路團隊的 7 款最佳 IP 位址管理工具

適用於網路團隊的 7 款最佳 IP 位址管理工具

比較七款 IP 位址管理工具,包括子網路發現、DNS 和 DHCP 協調、網路清單和開源 IPAM。

網路監控最佳實務:監控哪些內容以及使用哪些工具

網路監控最佳實務:監控哪些內容以及使用哪些工具

建置實用的網路監控,提供清晰的設備覆蓋範圍、有用的效能指標、可操作的警報,並對 SolarWinds NPM、PRTG 和 OpManager 進行比較。

十大最佳網路掃描工具,幫助您發現裝置和 IP 位址

十大最佳網路掃描工具,幫助您發現裝置和 IP 位址

比較網路掃描工具,以實現快速設備發現、跨平台 IP 掃描和企業級 IPAM,並指導如何將每個選項與您的網路相符。

如何使用 Nmap 進行路由追蹤並讀取網路路徑

如何使用 Nmap 進行路由追蹤並讀取網路路徑

使用 Nmap 的 --traceroute 選項將躍點對應到授權主機,了解躍點和 RTT 輸出,並在不進行過度掃描的情況下排查缺失的回應。