Zimbra 管理介面(7071)突然登不進去,是很令人緊張的狀況:密碼忘了、帳號被鎖、接 AD 認證後 AD 剛好掛了……管理介面進不去,就沒辦法從網頁處理任何事。
好在只要能用 SSH 登入 Zimbra 主機,所有問題都可以用 zmprov 從命令列解決。這篇整理我處理管理者無法登入時的檢查順序。
以下指令都以 zimbra 身分執行:
su - zimbra
確認是不是管理者帳號
# 列出所有管理者帳號
zmprov gaaa
# 確認某個帳號是不是管理者
zmprov ga admin@example.com zimbraIsAdminAccount
zimbraIsAdminAccount 要是 TRUE 才能登入管理介面。有時候是記錯帳號,或是委派管理者(delegated admin)的權限被調整過。
看帳號狀態
zmprov ga admin@example.com zimbraAccountStatus
| 狀態 | 意義 |
|---|---|
active | 正常 |
lockout | 密碼錯誤次數過多被暫時鎖定,鎖定時間過了才能登入,郵件照常收 |
locked | 被鎖定,無法登入,郵件照常收 |
maintenance | 維護中,無法登入也不收信 |
closed | 已關閉 |
不是 active 的話,改回來:
zmprov ma admin@example.com zimbraAccountStatus active
為什麼會被 lockout
COS 有開啟密碼鎖定原則時(zimbraPasswordLockoutEnabled),連續輸入錯誤超過次數(預設 10 次)就會被暫時鎖定,預設鎖 1 小時:
zmprov gc default zimbraPasswordLockoutEnabled zimbraPasswordLockoutMaxFailures zimbraPasswordLockoutDuration
如果管理者帳號一直被鎖,很可能是某個地方還在用舊密碼嘗試登入,例如備份軟體、監控程式、手機上設定的帳號。光是解鎖沒有用,要找到來源。登入失敗的紀錄在 /opt/zimbra/log/audit.log,可以看到來源 IP:
grep "admin@example.com" /opt/zimbra/log/audit.log | grep -i "fail" | tail -20
重設密碼
zmprov sp admin@example.com 'new-strong-password'
sp 是 setPassword 的縮寫。密碼有特殊字元的話要用單引號包起來。
注意:指令裡的密碼會留在 Shell 的歷史紀錄中,設定完記得清除,或登入管理介面後再改一次密碼。
如果帳號被設定成「下次登入必須變更密碼」,也會影響登入流程,可以檢查:
zmprov ga admin@example.com zimbraPasswordMustChange
接外部認證時:允許退回本機密碼
網域接了 AD 或 LDAP 認證之後,管理者帳號一樣是用外部認證。這時只要 AD 連不上、或管理者帳號在 AD 上的密碼對不起來,管理介面就進不去了,而且用 zmprov sp 改的是 Zimbra 本機的密碼,根本用不到。
zimbraAuthFallbackToLocal 這個網域屬性的作用是:外部認證失敗時,改用 Zimbra 本機的密碼驗證。
# 查看網域的認證方式與 fallback 設定
zmprov gd example.com zimbraAuthMech zimbraAuthFallbackToLocal
# 啟用
zmprov md example.com zimbraAuthFallbackToLocal TRUE
啟用之後,用 zmprov sp 設定的本機密碼就可以登入了。
注意:啟用 fallback 代表外部認證失敗時,所有使用者都會嘗試用本機密碼驗證。一般使用者在 Zimbra 本機通常沒有設定密碼,影響不大;但如果有人在本機設過密碼,AD 上停用的帳號仍可能用本機密碼登入。緊急處理完之後,請評估是否要關回去。
另一個做法是把管理者帳號放在另一個不接外部認證的網域(例如 Zimbra 安裝時建立的系統網域),這樣外部認證出問題時,管理者仍然可以登入處理。
兩步驟驗證(商用版)
Zimbra 商用版有開啟兩步驟驗證時,手機遺失或驗證器重設,也會讓管理者登不進去。可以暫時關閉該帳號的兩步驟驗證:
zmprov ga admin@example.com zimbraTwoFactorAuthEnabled
zmprov ma admin@example.com zimbraTwoFactorAuthEnabled FALSE
登入後記得重新設定兩步驟驗證。
其他要檢查的地方
- 連線位置:管理介面預設是
https://mail.example.com:7071;有啟用 Proxy 的管理介面時是 9071。確認連的是正確的通訊埠 - 服務狀態:
zmcontrol status,確認 mailbox 服務有在執行 - 瀏覽器快取:登入一直跳回登入頁時,清除該網站的 Cookie 或用無痕視窗試試
檢查順序整理
zmprov gaaa、zimbraIsAdminAccount:確認是管理者帳號zimbraAccountStatus:被鎖就改回active,並查audit.log找出一直嘗試登入的來源zmprov sp:重設密碼- 網域接外部認證:
zimbraAuthFallbackToLocal TRUE - 商用版兩步驟驗證:暫時關閉
- 服務狀態、通訊埠、瀏覽器
結論
管理介面登不進去時不用慌,只要 SSH 還進得去,zmprov 都能處理。我自己的建議是:一定要保留一個不依賴外部認證的管理者帳號,並且把密碼妥善保存,接 AD 的環境尤其重要。
參考資料
- Zimbra 原始碼:屬性定義檔 zimbra-attrs.xml
https://github.com/Zimbra/zm-mailbox/blob/develop/store/conf/attrs/zimbra-attrs.xml - Zimbra 整合 AD 認證的記錄查詢
https://blog.jason.tools/2026/10/zimbra-ad-auth-log.html - Zimbra 常用 CLI 指令整理
https://blog.jason.tools/2021/05/zimbra-cli.html



