設定 Nextcloud LDAP 和 Active Directory 登入

若要在 Nextcloud 中使用 LDAP 或 Active Directory 帳戶,請啟用「LDAP 使用者和群組後端」應用程式,設定目錄連接,然後在允許員工使用之前測試使用者、登入和群組篩選器。 Nextcloud 的 LDAP 整合會針對目錄進行驗證;它不會建立或管理目錄帳戶。建議先使用唯讀服務帳戶和一個小型、已知的測試群組,以便準確確認哪些使用者會顯示以及哪些使用者可以登入。

這些步驟遵循 Nextcloud 35 管理手冊。選單標籤和包裝方式可能因版本而異,因此如果與您安裝的版本不同,請查閱相應的手冊。

準備目錄連接

在開啟 Nextcloud 設定之前,請向您的 LDAP 或 AD 管理員索取目錄主機名稱、加密連線方式、連接埠、基本 DN 以及一個可以搜尋所需使用者和群組樹的綁定帳戶。 Nextcloud 使用此綁定帳戶來尋找目錄記錄;它與每個使用者的登入憑證是分開的。 Nextcloud 文件建議使用專用的搜尋帳戶。

使用加密連線並啟用憑證驗證。 Nextcloud 文件中將 LDAPS 預設連接埠設定為 636。 Nextcloud 伺服器的 PHP 環境必須信任目錄憑證;請勿將停用驗證作為常規修復措施。如有任何非標準傳輸方式或端口,請與您的目錄管理員確認。

確認已安裝 PHP LDAP 模組(通常打包為 .php.php php-ldap),並且 Nextcloud 伺服器可以透過所選連接埠存取該目錄。容器部署和託管部署可能有其各自支援的安裝方法。

啟用 LDAP 後端並連線到伺服器

  1. 以管理員身分登入 Nextcloud。開啟「應用」 ,如果尚未啟用,請啟用LDAP 使用者和群組後端occ。使用的應用程式 ID為user_ldap。
  2. 開啟LDAP/AD 整合的管理設置,並開始新的伺服器設定。請先填寫「伺服器」標籤;Nextcloud 會使用它來測試目錄連線並偵測其他標籤的設定。
  3. 輸入目錄主機或ldaps://URI,如果未偵測到端口,則輸入端口號,綁定帳戶的完整專有名稱 (DN)、密碼以及基本 DN。基本 DN 用於標識 Nextcloud 在目錄樹中搜尋的部分。例如,`<base_DN>`dc=example,dc=com是一種格式,除非它與您的目錄匹配,否則不應複製該值。
  4. 運行連線測試。如果發現系統未找到基本 DN 或端口,請輸入目錄管理員提供的值。請勿為了透過測試而擴大基本 DN 的範圍;請使用包含目標使用者和群組的最小目錄子樹。

綠色伺服器指示器表示 Nextcloud 可以使用這些連線設定與目錄通訊。但這並不代表正確的使用者可以登錄,也不代表群組成員關係已正確對應。請繼續完成使用者、登入和群組設置,然後再將整合視為已完成。

限制哪些帳號可以登入

使用「使用者」標籤定義 Nextcloud 列出的 LDAP 記錄。使用「登入屬性」決定使用者在登入介面可以輸入哪些屬性。這些是獨立的控制項:使用者可以在目錄中被發現,但無需登入;登入過濾器可以影響哪些使用者可以被接受。

對於 Active Directory,Nextcloud 的設定可以自動偵測常用設置,包括使用者名稱屬性。文件中記錄的預設使用者名稱屬性通常存在sAMAccountName於 AD 和uid許多 LDAP 目錄中。請使用實際測試帳戶檢查偵測到的值。如果使用者需要使用電子郵件地址登錄,請僅在確認每個允許登入的帳戶都已填寫電子郵件地址且該地址唯一後,才選擇電子郵件屬性。

盡可能將存取權限限制在專用的 Nextcloud 群組內。使用群組選擇器或根據您自己的物件類別、群組 DN 和屬性測試過的篩選器。不要直接複製範例篩選器:錯誤的篩選器可能會傳回空用戶或傳回超出預期範圍的使用者集。

在「群組」中,選擇目錄的群組物件類別以及要公開的群組;預設情況下,所有群組均不可用,需要進行設定。對於巢狀的 AD 群組,Nextcloud 文件指出,僅使用「巢狀群組」選項可能不夠:使用者和登入篩選器可能還需要 AD 的符合規則。請與目錄管理員確認此行為,並測試一個嵌套成員。

生產前測試身份

  1. 請仔細查看高級設置,不要更改任何您不理解的選項。尤其要注意,確定哪個欄位用於顯示名稱,並保持內部使用者名稱規則不變。
  2. 檢查配置的啟動狀態。 Nextcloud 警告稱,停用的配置可能會導致身份驗證失敗,並顯示誤導性的「密碼錯誤」訊息;成功的測試通常會自動啟動該配置。
  3. 使用“測試配置”按鈕,然後儲存。此按鈕會測試欄位中的目前值,因此測試前無需儲存。
  4. 開啟 Nextcloud 使用者頁面,確認預期的範例使用者和群組是否顯示。然後使用一個允許存取的目錄帳戶和一個應排除的帳戶進行登入測試。
  5. 確認允許的帳戶具有正確的顯示名稱、群組成員身分和配額行為。如果配置了設定檔屬性或 LDAP 配額,請在全面部署之前使用測試使用者進行驗證。

對於命令列檢查,首先使用 `.` 命令尋找設定 ID occ ldap:show-config。然後運行文件中記錄的測試命令,並將 ID 替換為配置 ID:

sudo -E -u www-data php occ ldap:test-config s01
sudo -E -u www-data php occ ldap:test-user-settings "USER_DN"

請根據您的安裝情況調整命令路徑和 Web 伺服器帳戶;容器使用者應遵循其鏡像的occ相應步驟。第一個指令測試綁定,第二個指令檢查某個使用者的對應。

了解整合不會改變什麼

LDAP 後端會讀取目錄帳戶,但不會建立、編輯或刪除帳戶。透過 Nextcloud 更改密碼是可選的,具體取決於目錄支援和配置。否則,使用者必須使用組織正常的密碼重設流程。

Nextcloud 會儲存內部映射,而內部使用者名稱實際上是不可更改的;它們可以出現在使用者主資料夾路徑和 DAV URL 中。在使用者加入之前,請選擇一個穩定的標識符。切勿為了快速排查問題而清除生產實例上的 LDAP 映射,因為這會留下引用並影響所有 LDAP 配置。

如果測試失敗,請檢查 Nextcloud 日誌、DNS、連接埠存取、綁定憑證、基本 DN 和憑證信任。如果沒有顯示任何用戶,請檢查用戶篩選器和物件類別;如果顯示用戶但無法登錄,請檢查登入屬性和活動狀態。使用允許的帳戶登入並確認被排除的帳戶被拒絕,即可進行驗證。

參考資料:Nextcloud 35 LDAP 驗證文件、Nextcloud 35 LDAP occ 指令和Nextcloud PHP 模組需求。

留下評論

設定 Nextcloud LDAP 和 Active Directory 登入

將 Nextcloud 連接到 LDAP 或 Active Directory,使用使用者和群組過濾器限制訪問,並在部署前驗證安全性驗證。

要求 Nextcloud 用戶啟用雙重認證

啟用受支援的 2FA 供應商,準備帳戶恢復,然後要求所有人或選定的 Nextcloud 群組進行雙重認證。

使用儲存加密保護靜態 Collabora CODE 文檔

透過加密儲存層、保護臨時資料以及驗證加密和恢復,確保在 Collabora CODE 中編輯的檔案安全。

使用正確的鏡像在 ARM64 上執行 Collabora 程式碼

使用正確的鏡像在 ARM64 上執行 Collabora 程式碼

檢查您的主機架構,確認 CODE 標籤發布的是 ARM64,移除強制 AMD64 設置,並將映像錯誤與權限或記憶體問題區分開來。

將 Collabora Online 連接到 ownCloud Infinite Scale

在 Collabora Online 和 ownCloud Infinite Scale 之間建立 WOPI 連接,配置正確的服務 URL,並驗證文件編輯是否儲存。

透過 WOPI 在 Collabora CODE 中匯出區塊文件

透過設定 WOPI DisableExport 權限來阻止 Collabora Online CODE 中的文件匯出,然後驗證主機和編輯器是否強制執行該權限。

將 Collabora 部署在 Nginx 後面而不破壞 WebSocket

將 Collabora 部署在 Nginx 後面而不破壞 WebSocket

設定 Nginx TLS 終止、Collabora 路由和 WebSocket 標頭,然後在開啟真實文件之前測試公共端點。

停止程式碼編輯會話在 10 分鐘時結束

追蹤 10 分鐘 CODE 斷開連線的原因,找到其代理程式、負載平衡器或 WebSocket 路徑,然後修正逾時問題並驗證會話是否保持連線。

使用 Helm 在 Kubernetes 上部署 Collabora CODE

安裝官方 Collabora Helm chart,配置 WOPI 存取和入口親和性,並驗證部署是否正確,避免常見的設定錯誤。

將空白的 Collabora 文件追蹤到故障層

將空白的 Collabora 文件追蹤到故障層

使用瀏覽器請求、WOPI 日誌和有針對性的代理檢查來找出 Collabora 開啟空白文件的原因,並選擇符合證據的修復方案。