使用 OCC 重設遺失的 Nextcloud 管理員密碼

即使無法存取 Nextcloud 的 Web 介面,伺服器管理員仍然可以變更本機帳戶密碼。如果您可以存取伺服器 shell,請occ user:resetpassword以 Web 伺服器使用者身分執行 Nextcloud 的內建命令,然後使用相同的帳戶名稱和新密碼登入。此指令適用於管理員帳戶和普通使用者;「admin」只是一個範例使用者名稱。

以下命令遵循 Nextcloud 35 管理手冊,於 2026 年 10 月 10 日更新。請將範例中的安裝路徑、HTTP 使用者、PHP 執行檔和使用者名稱替換為您伺服器使用的值。

互動式重設密碼

1. 找到 Nextcloud 安裝和 Web 伺服器帳戶

使用可以存取 shell 並提升權限的帳戶連接到主機。尋找包含occ腳本的目錄。常見的 Ubuntu 或 Debian 路徑是 `/etc/ /var/www/nextcloudnextcloud/`;某些打包安裝、容器安裝或託管安裝可能使用其他位置。該命令必須在 Nextcloud 安裝上下文中以 HTTP 使用者身分執行,以確保檔案所有權的一致性。

在 Debian 或 Ubuntu 系統中,該使用者通常是 [此處應填入使用者名稱] www-data。 Nextcloud 文件apache適用於 Fedora 或 CentOS、httpArch 以及wwwrunopenSUSE。請使用您實際的 Web 伺服器帳戶,不一定是您用於登入的 Linux 帳戶。

2. 執行 OCC 密碼重設指令

在典型的 Debian 或 Ubuntu 系統上使用此命令,如果不是,請替換為正確的使用者名稱admin:

sudo -u www-data php /var/www/nextcloud/occ user:resetpassword admin

Nextcloud 會提示您輸入新密碼,並要求您再次輸入。密碼不會寫入 shell 命令,從而避免將其保留在 shell 歷史記錄中。當指令報告密碼重設成功後,請嘗試使用該使用者名稱和新密碼登入網頁。替換使用者名稱時,請勿在使用者名稱周圍新增尖括號。

官方文件也顯示sudo -E -u www-data,此-E選項會保留環境變數;除非您的安裝需要特定的環境設置,否則通常的互動式重置不需要此選項。請使用occ為您的 Web 伺服器配置的 PHP CLI 版本運行。如果預設php可執行檔不相容,請明確呼叫符合的 PHP 二進位。

如果您不確定要重設哪個帳戶,

登入名稱是帳戶的 Nextcloud 使用者名,不一定是其顯示名稱或電子郵件地址。如果您有另一個管理員帳戶,請使用「使用者」頁面確認受影響的登入名稱。管理員可以透過命令列列出帳戶:

sudo -u www-data php /var/www/nextcloud/occ user:list

根據需要替換www-dataOCC 路徑。輸出結果可能包含許多使用者帳戶,因此如果其中包含身分識別訊息,請勿公開分享。對於非常大型的安裝,該命令支援諸如限制和偏移量之類的選項;請查看當前occ help user:list輸出以了解您的版本中可用的語法。

如果您還能聯絡其他 Nextcloud 管理員,請他們幫您在使用者設定中重設密碼會更簡單。只有當您的個人頁面之前保存了有效的電子郵件地址且伺服器可以發送郵件時,登入頁面重置連結才是另一種選擇。如果以上兩種方法都不可行,但可以存取 shell,那麼 OCC 就很有用了。

處理常見的命令列問題

“無法開啟輸入檔”或“找不到occ”

該指令指向錯誤的安裝目錄。請將路徑變更為實際的occ腳本路徑。您也可以切換到安裝目錄並執行更簡潔的命令sudo -u www-data php occ user:resetpassword admin。請勿在同一伺服器上的其他 Nextcloud 副本中執行名稱相似的腳本。

權限、快取或 PHP 錯誤

請確認您使用的 HTTP 帳戶和 PHP CLI 版本與安裝程式預期的版本一致。 Nextcloud 的 OCC 文件指出,APCu 在 PHP 命令列模式下預設為停用;如果 OCC 報告 APCu 不可用,請啟用它apc.enable_cli以進行正確的 CLI 配置,或按照文件中的--define apc.enable_cli=1呼叫步驟進行操作。切勿為了解決 CLI 特定錯誤而盲目更改 Web PHP 設定。

該帳戶使用外部身分提供者

某些部署透過 LDAP、SAML 或其他外部身分提供者進行帳戶驗證。在這種情況下,身分提供者可能擁有密碼權限,因此使用 OCC 重設 Nextcloud 本機帳戶資料的密碼可能不會變更登入時使用的憑證。請透過身分提供者認可的流程重設密碼,或在使用 OCC 之前驗證配置的後端是否支援密碼變更。此命令用於 Nextcloud 帳戶密碼,不會重設身分提供者本身的憑證。

您可以在容器或託管主機中執行 Nextcloud

請在應用程式容器內或透過服務提供者支援的 shell 執行 OCC,切勿在無關主機上執行。容器名稱、安裝路徑、PHP 命令和服務使用者會因部署而異,因此請勿在未查閱相關文件的情況下複製為其他映像編寫的 Docker 命令。託管主機可能會限制 shell 存取;如果您無法執行 OCC,請使用其控制面板或向服務提供者申請使用其文件中記錄的復原方法。

確認您已恢復存取權限

檢查 OCC 是否列印了成功訊息,然後在隱私瀏覽視窗中開啟常用的 Nextcloud URL,並使用正確的使用者名稱和新密碼登入。隱私瀏覽視窗有助於區分密碼問題和舊會話或快取的登入頁面。登入後,確認帳戶仍然具有管理員權限,並且可以開啟管理設定。如果登入仍然失敗,請重新檢查使用者名稱、驗證後端、伺服器日誌,以及 OCC 是否針對正確的執行個體執行;對錯誤的執行個體重複重設操作無法修復目前伺服器。

官方參考資料

留下評論

使用 OCC 重設遺失的 Nextcloud 管理員密碼

使用 Nextcloud 的 OCC 命令從伺服器 shell 重設管理員密碼,並提供有關使用者名稱、權限和外部登入提供者的指導。

在為 Nextcloud 提供服務的 HTTPS 端點新增 HSTS 標頭

透過在 Apache、NGINX 或 TLS 代理程式上設定標頭來清除 Nextcloud 的 HSTS 警告,然後安全地驗證公共 HTTPS 回應。

排查 Nextcloud 應用程式安裝後報告無網路連線的問題

排查 Nextcloud 應用程式安裝後報告無網路連線的問題

追蹤 App Store 安裝失敗是否由 DNS、HTTPS、代理、TLS 或 Nextcloud 伺服器本身的設定問題所引起。

使用定時佇列來控制 Nextcloud 預覽版 CPU 峰值

將縮圖製作移至受控的後台計劃,修剪未使用的預覽尺寸,並在不使 Nextcloud 伺服器過載的情況下驗證佇列。

取得 Nextcloud 桌面同步功能,擺脫「處理文件」的束縛

找到導致 Nextcloud 同步失敗的檔案、排除規則、連線問題或用戶端資料庫狀態,然後安全地驗證上傳和下載。

透過調整右側限制來清除 Nextcloud OPcache 警告

找到觸發 Nextcloud 警告的 PHP OPcache 限制,更新正確的 Web PHP 配置,安全重啟,並驗證結果。

將 Nextcloud 連接到 CODE Docker:設定和權衡

將 Nextcloud 連接到 CODE Docker:設定和權衡

比較內建程式碼和基於 Docker 的程式碼,然後透過安全的 HTTPS 反向代理將 Collabora Online 連接到 Nextcloud。

使用 Galera 建構彈性 Nextcloud 集群

規劃一個可靠的 Nextcloud 高可用性部署,包括共用儲存、Redis 鎖定、支援仲裁的 MariaDB 路由和實用的故障轉移檢查。

當直接媒體傳輸失敗時,如何透過 Nextcloud Talk 進行通話

當直接媒體傳輸失敗時,如何透過 Nextcloud Talk 進行通話

當防火牆或限制性 NAT 阻止直接呼叫媒體時,配置並驗證 Nextcloud Talk 的可達 TURN 中繼。

透過恢復正確的檔案清除 Nextcloud 完整性警告

使用無效文件報告來識別已更改、缺失或多餘的 Nextcloud 程式碼,安全地恢復受信任的文件,並驗證結果。