Files
Nexus/docs/changelog/2026-06-21-server-transfer-dest-write-elevation.md
2026-07-08 22:31:31 +08:00

985 B
Raw Permalink Blame History

跨服务器直传:目标机写入提权

日期2026-06-21

摘要

直传(relay)在目标机写入时改用 remote_write_bytesSFTP 失败自动 sudo tee),与文件上传一致;修复目标目录无写权限时 500 且前端仅显示「操作失败」。

动机

生产日志:asyncssh.sftp.SFTPPermissionDenieddst_sftp.open(..., "wb");宝塔子机常见 www 目录需 sudo 写入。

涉及文件

路径 说明
server/application/services/server_file_transfer_service.py relay 写入/建目录提权
server/api/sync_v2.py relay 未捕获异常 → 502 + detail
frontend/src/composables/useServerFileTransfer.ts formatApiError 展示后端 detail

验证

pytest tests/test_server_file_transfer.py -q

传输页直传至 B 机 target_path 下目录;失败时应显示具体原因而非「操作失败」。

回滚

恢复裸 SFTP dst_sftp.open 并重启 API。