安全地清除 ownCloud Apache .htaccess 警告
僅對 ownCloud 的 Web 根目錄設定 AllowOverride All,驗證活動的 Apache 虛擬主機,然後安全地重新載入以恢復 .htaccess 規則。
若要將目前屬於即將離職或變更的 ownCloud 帳戶的檔案的擁有者變更為其他用戶,請使用伺服器端occ files:transfer-ownership命令。該命令預設會移動所有已擁有的文件,以及要移出的共享和相關元資料;--path如果您只需要傳輸一個資料夾,請使用此命令。 Web 共用面板會變更存取權限,但它並非所有權轉移機制。
在 ownCloud Classic 中,所有權決定了原始文件位於哪個使用者的個人文件空間,以及哪個帳戶控制外發共享。即使接收者擁有編輯權限,他們仍然是接收者;授予「可以編輯」權限並不意味著該使用者就擁有了檔案所有權。在執行傳輸之前,請確定新擁有者需要的是整個帳戶的文件,還是只需要特定的專案資料夾。
--path來源使用者檔案下的特定目錄。這樣可以縮小範圍,但請在操作前檢查嵌套內容和共享關係。ownCloud Server 11官方共享文件指出,該命令會傳輸已發出的共享文件及其關聯的元數據,例如標籤和評論。接收的共用檔案不會被傳輸,因為這些檔案的擁有者是其他使用者。回收站中的內容也不會被傳輸。
請務必準確確認來源使用者和目標使用者 ID。這些是帳戶標識符,不一定是顯示名稱或電子郵件地址。確保目標帳戶存在,且其配額足以容納傳輸的資料。雖然 ownCloud 的命令參考文件指出,在某些版本中可能會建立缺少的目標用戶,但先建立並確認目標帳戶可以避免使用非預期身分傳輸資料。
請在使用者未編輯來源檔案時安排此操作。請對 ownCloud 資料和資料庫進行已驗證的備份,並確保您了解復原步驟。請勿直接在資料目錄中複製、重新命名或移動檔案:資料庫會追蹤檔案元資料和所有權。請按照此方法操作occ,以便 ownCloud 能夠持續更新其記錄和共用內容。
ownCloud 目前的 Classic 文件分別包含 Server 11.0 和 10.16 的獨立手冊。 Server 11 的文檔介紹了基於 Docker 的安裝;而 10.16 的範例則使用了傳統的 PHP 安裝。請使用與已部署版本相符的命令格式,而不是盲目複製命令。
從包含 Compose 部署的目錄中,將來源帳戶中的所有檔案傳輸到目標帳戶:
docker compose exec owncloud occ files:transfer-ownership \
source-user \
destination-user
將兩個範例 ID 替換為實際的 ownCloud 使用者 ID。檢查命令輸出以及任何關於跳過共享的提示資訊。除非您已閱讀並接受相關後果,否則請勿新增自動接受跳過共享的選項。
occ從 ownCloud 安裝目錄以 web 伺服器使用者身分執行。在許多 Debian 或 Ubuntu 部署中,該使用者是www-data:
sudo -u www-data php /var/www/owncloud/occ files:transfer-ownership \
source-user \
destination-user
請調整可執行檔路徑和帳戶以符合您的主機。如果命令報告未知選項或命令,請查閱已安裝版本的 ownCloud 命令參考文件並進行操作,occ files:transfer-ownership --help然後再重試。
若要移動名為「專案目錄」Projects而不是「每個檔案」的專案目錄,請在使用者 ID 前新增路徑選項:
docker compose exec owncloud occ files:transfer-ownership \
--path="Projects" \
source-user \
destination-user
路徑必須存在於目標位置data/<source-user>/files。 ownCloud 不會簡單地將資料夾放置在目標位置的相同相對路徑下。它會將傳輸的內容儲存在transferred from <source-user> on <timestamp>目標使用者檔案目錄下一個名為 `<path_to_path>` 的目錄中。命令完成後,請告知接收方文件的位置。有關可用選項,請參閱ownCloud 10.16 occ 命令參考文件。
傳輸並非對來源使用者可見的每個項目都執行通用的「更改所有者」按鈕。傳入共享中的檔案屬於其原始共享者,不會被移動。如果所需內容是傳入的共享文件,請與該所有者協調,或使用已批准的工作流程建立單獨的副本;副本是一個獨立的文件,可能無法保留原始共享歷史記錄或元資料。
此外,儲存方面也存在一些限制。 ownCloud 文件警告不要在配置了多個儲存桶的 S3 主儲存體上使用此命令,因為檔案共用可能會遺失。企業級文件生命週期歸檔也存在已記錄的傳輸限制。如果有上述任何一種情況,請先查閱特定版本的文檔,並在一個具有代表性的非生產帳戶上測試該操作,然後再執行其他操作。
如果傳輸過程中出現異常或提前停止,請不要立即重複執行。 ownCloud 共用指南建議occ files:troubleshoot-transfer-ownership --uid <uid>同時使用來源使用者 ID 和目標使用者 ID 執行命令,以調查並修復傳輸狀態。在確定結果之前,請保留原始日誌和備份。
以目標使用者身分登入,並確認傳輸的資料夾出現在產生的「傳輸來源」目錄下。開啟代表性文件,檢查預期的資料夾、標籤、註釋和共用資料夾。請一位預期接收者透過現有共用資料夾驗證存取權限。然後檢查來源帳戶中剩餘的已擁有檔案或共用資料夾,並檢查命令輸出中是否存在遺漏的項目。
只有在目標擁有者和相關協作者確認存取權限後,才能刪除或停用來源帳戶。 ownCloud 將檔案與其擁有者關聯,因此刪除使用者可能會刪除該使用者剩餘的檔案和共用。傳輸命令不會移動回收站或傳入的共享,這些限制應包含在交接清單中。
僅對 ownCloud 的 Web 根目錄設定 AllowOverride All,驗證活動的 Apache 虛擬主機,然後安全地重新載入以恢復 .htaccess 規則。
啟用 ownCloud 的企業審計應用程序,將 admin_audit 事件路由到受保護的日誌文件,並確認正在記錄真實使用者的操作。
讓 Keycloak 的 realm 頒發者、Web 用戶端和使用者聲明保持一致,以便 ownCloud Infinite Scale 能夠可靠地在 Web 和行動用戶端上登入使用者。
使用 ownCloud 的 occ 指令傳輸擁有的檔案和要傳出的共享,以了解哪些內容會保留下來,並在刪除舊帳戶之前驗證存取權限。
了解何時需要關注 ownCloud 10 資料庫索引,如何安全地應用受支援的架構更新,以及何時查詢調優或資料庫變更是更好的解決方案。
透過外部儲存將 Windows 或 Samba 網路共用連接到 ownCloud,驗證憑證,並安全地排查無法存取的資料夾問題。
刪除一個帳戶或所有使用者的所有已儲存的 ownCloud Server Classic 檔案版本,並區分完全清除和基於保留期限的過期。
以正確的順序檢查伺服器 URL、手機網路、HTTPS 端點和伺服器日誌,即可追蹤 ownCloud 行動連線被拒絕的原因。
將按需作業運行替換為 systemd 定時器,該定時器每 15 分鐘執行一次 ownCloud 支援的 occ system:cron 命令。
透過 Apache、Nginx 或反向代理程式追蹤 WebDAV 請求,然後使用經過驗證的 PROPFIND 測試確認 ownCloud 同步功能正常。