首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

VisualSVN Server 修改密碼失敗 `change_password_failed`?權限問題:HTPASSWD 檔案寫入權限缺失

     編輯:程式設計綜合問答

環境:Windows Server 2008 R2 + VisualSVN Server 3.3.2。啟用 Web 修改密碼功能後,頁面可開啟、輸入新舊密碼,點擊修改卻提示「密碼修改失敗」。

根因

VisualSVN 的修改密碼實際是對 `Repositories` 目錄下的 `htpasswd` 檔案進行讀寫。**執行 VisualSVN 服務的 Windows 使用者 (通常是 `Network Service` 或自訂服務帳號) 必須擁有該檔案的「寫入」權限**。預設安裕常忽略此 ACL 設定。

修復步驟

  1. 定位檔案:`\htpasswd` (如 `D:\SVN\Repositories\htpasswd`)。
  2. 右鍵 → 內容 → 安全性 → 編輯 → 新增 → 輸入服務執行帳號 (或 `Everyone` 測試) → 勾選 **寫入/修改**。
  3. 重啟 VisualSVN Server 服務 (或 IIS 應用程式池)。
  4. 再次測試網頁修改密碼,應成功返回「密碼已更新」。

補充:若用 Apache + mod_authz_svn 手動搭建

  • 同樣檢查 `AuthUserFile` 指向的 `htpasswd` 檔案權限。
  • 確認 Apache 運行使用者 (Windows: `daemon`/`system`;Linux: `www-data`) 有寫入權限。
  • SELinux (Linux) 需 `setsebool -P httpd_can_network_connect 1` 及檔案 context `httpd_sys_rw_content_t`。

核心:**密碼修改本質是檔案寫入,權限不到位,一切免談。**

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved